1 Software cursor for VGA 2 ======================= 3 4 by Pavel Machek <pavel@atrey.karlin.mff.cuni.cz> 5 and Martin Mares <mj@atrey.karlin.mff.cuni.cz> 6 7 Linux now has some ability to manipulate cursor appearance. Normally, 8 you can set the size of hardware cursor. You can now play a few new 9 tricks: you can make your cursor look like a non-blinking red block, 10 make it inverse background of the character it's over or to highlight 11 that character and still choose whether the original hardware cursor 12 should remain visible or not. There may be other things I have never 13 thought of. 14 15 The cursor appearance is controlled by a ``<ESC>[?1;2;3c`` escape sequence 16 where 1, 2 and 3 are parameters described below. If you omit any of them, 17 they will default to zeroes. 18 19 first Parameter 20 specifies cursor size:: 21 22 0=default 23 1=invisible 24 2=underline, 25 ... 26 8=full block 27 + 16 if you want the software cursor to be applied 28 + 32 if you want to always change the background color 29 + 64 if you dislike having the background the same as the 30 foreground. 31 32 Highlights are ignored for the last two flags. 33 34 second parameter 35 selects character attribute bits you want to change 36 (by simply XORing them with the value of this parameter). On standard 37 VGA, the high four bits specify background and the low four the 38 foreground. In both groups, low three bits set color (as in normal 39 color codes used by the console) and the most significant one turns 40 on highlight (or sometimes blinking -- it depends on the configuration 41 of your VGA). 42 43 third parameter 44 consists of character attribute bits you want to set. 45 46 Bit setting takes place before bit toggling, so you can simply clear a 47 bit by including it in both the set mask and the toggle mask. 48 49 Examples 50 -------- 51 52 To get normal blinking underline, use:: 53 54 echo -e '\033[?2c' 55 56 To get blinking block, use:: 57 58 echo -e '\033[?6c' 59 60 To get red non-blinking block, use:: 61 62 echo -e '\033[?17;0;64c'
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.