VGA 软件光标¶
作者:Pavel Machek <pavel@atrey.karlin.mff.cuni.cz> 和 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
Linux 现在具备了一些操纵光标外观的能力。通常,您可以设置硬件光标的大小。现在,您可以玩一些新花样:您可以让光标看起来像一个不闪烁的红色方块,将其设为光标所在字符的背景反转,或者高亮显示该字符,并且仍然可以选择原始硬件光标是否保持可见。可能还有我从未想到过的其他功能。
光标外观由 <ESC>[?1;2;3c 转义序列控制,其中 1、2 和 3 是下面描述的参数。如果您省略其中的任何一个,它们将默认为零。
- 第一个参数
指定光标大小
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.最后两个标志将忽略高亮显示。
- 第二个参数
选择您想要更改的字符属性位(通过简单地将它们与该参数的值进行异或运算)。在标准 VGA 上,高四位指定背景,低四位指定前景。在这两组中,低三位设置颜色(如同控制台中使用的普通颜色代码),而最高位开启高亮(有时是闪烁 —— 这取决于您的 VGA 配置)。
- 第三个参数
由您想要设置的字符属性位组成。
位设置发生在位切换之前,因此您只需将某一位同时包含在设置掩码和切换掩码中,即可将其清除。
示例¶
要获得正常的闪烁下划线,请使用
echo -e '\033[?2c'
要获得闪烁方块,请使用
echo -e '\033[?6c'
要获得红色的不闪烁方块,请使用
echo -e '\033[?17;0;64c'