63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| Software cursor for VGA
 | |
| =======================
 | |
| 
 | |
| by Pavel Machek <pavel@atrey.karlin.mff.cuni.cz>
 | |
| and Martin Mares <mj@atrey.karlin.mff.cuni.cz>
 | |
| 
 | |
| Linux now has some ability to manipulate cursor appearance.  Normally,
 | |
| you can set the size of hardware cursor.  You can now play a few new
 | |
| tricks: you can make your cursor look like a non-blinking red block,
 | |
| make it inverse background of the character it's over or to highlight
 | |
| that character and still choose whether the original hardware cursor
 | |
| should remain visible or not.  There may be other things I have never
 | |
| thought of.
 | |
| 
 | |
| The cursor appearance is controlled by a ``<ESC>[?1;2;3c`` escape sequence
 | |
| where 1, 2 and 3 are parameters described below. If you omit any of them,
 | |
| they will default to zeroes.
 | |
| 
 | |
| first Parameter
 | |
| 	specifies cursor size::
 | |
| 
 | |
| 		0=default
 | |
| 		1=invisible
 | |
| 		2=underline,
 | |
| 		...
 | |
| 		8=full block
 | |
| 		+ 16 if you want the software cursor to be applied
 | |
| 		+ 32 if you want to always change the background color
 | |
| 		+ 64 if you dislike having the background the same as the
 | |
| 		     foreground.
 | |
| 
 | |
| 	Highlights are ignored for the last two flags.
 | |
| 
 | |
| second parameter
 | |
| 	selects character attribute bits you want to change
 | |
| 	(by simply XORing them with the value of this parameter). On standard
 | |
| 	VGA, the high four bits specify background and the low four the
 | |
| 	foreground. In both groups, low three bits set color (as in normal
 | |
| 	color codes used by the console) and the most significant one turns
 | |
| 	on highlight (or sometimes blinking -- it depends on the configuration
 | |
| 	of your VGA).
 | |
| 
 | |
| third parameter
 | |
| 	consists of character attribute bits you want to set.
 | |
| 
 | |
| 	Bit setting takes place before bit toggling, so you can simply clear a
 | |
| 	bit by including it in both the set mask and the toggle mask.
 | |
| 
 | |
| Examples
 | |
| --------
 | |
| 
 | |
| To get normal blinking underline, use::
 | |
| 
 | |
| 	echo -e '\033[?2c'
 | |
| 
 | |
| To get blinking block, use::
 | |
| 
 | |
| 	echo -e '\033[?6c'
 | |
| 
 | |
| To get red non-blinking block, use::
 | |
| 
 | |
| 	echo -e '\033[?17;0;64c'
 |