什么处理虚拟控制台光标细节?

什么处理虚拟控制台光标细节?

在 Linux 源代码中,特别是在 中linux/drivers/video/console/vgacon.c,有一个用于光标形状的 switch case 块。这些形状中的每一个都是具有相同宽度和不同高度的矩形。显然,Linux 处理光标的高度,但是它处理宽度吗? Linux 决定宽度,还是 GPU 决定?这在其他*.cons 之间是否有所不同(其中一些具有游标的切换情况)?

答案1

在 中vgacon,硬件选择宽度,并且它始终是字符单元的完整宽度 - 这就是VGA 支持的所有内容mdacon是相似的,出于同样的原因。

其他带有光标大小处理的控制台实现可以通过以下方式找到寻找CUR_UNDERLINE。其中一些,例如fbcon,理论上也可以支持不同宽度的光标,但它们都与原始 Linux 控制台(VGA 控制台)的行为相匹配并使用固定宽度。

相关内容