linux/Documentation/admin-guide/vga-softcursor.rst
<<
>>
Prefs
   1Software cursor for VGA
   2=======================
   3
   4by Pavel Machek <pavel@atrey.karlin.mff.cuni.cz>
   5and Martin Mares <mj@atrey.karlin.mff.cuni.cz>
   6
   7Linux now has some ability to manipulate cursor appearance.  Normally,
   8you can set the size of hardware cursor.  You can now play a few new
   9tricks: you can make your cursor look like a non-blinking red block,
  10make it inverse background of the character it's over or to highlight
  11that character and still choose whether the original hardware cursor
  12should remain visible or not.  There may be other things I have never
  13thought of.
  14
  15The cursor appearance is controlled by a ``<ESC>[?1;2;3c`` escape sequence
  16where 1, 2 and 3 are parameters described below. If you omit any of them,
  17they will default to zeroes.
  18
  19first 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
  34second 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
  43third 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
  49Examples
  50--------
  51
  52To get normal blinking underline, use::
  53
  54        echo -e '\033[?2c'
  55
  56To get blinking block, use::
  57
  58        echo -e '\033[?6c'
  59
  60To get red non-blinking block, use::
  61
  62        echo -e '\033[?17;0;64c'
  63