You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言实现Linux自定义终端文本光标禁用的方法咨询

解决方案

你当前使用的是直接操作VGA文本模式IO端口的光标控制方案,禁用光标逻辑非常简单:VGA光标起始寄存器(对应端口命令码0x0A)的第5位为光标禁用标志,将该位置1即可关闭光标显示。

对应的实现代码如下:

void disable_cursor(void) {
    write_port(FB_CMD_PORT, 0x0A);
    write_port(FB_DATA_PORT, read_port(FB_DATA_PORT) | 0x20);
}

如果不需要保留原寄存器的其他配置,也可以用更简单的无读操作写法,直接写入禁用参数即可:

void disable_cursor_simple(void) {
    write_port(FB_CMD_PORT, 0x0A);
    write_port(FB_DATA_PORT, 0x20);
}

后续如果需要重新显示光标,直接调用你现有代码里的enable_cursor函数,传入合法的光标起止行参数即可,比如常用的下划线光标可以传enable_cursor(14, 15)。

内容的提问来源于stack exchange,提问作者zhn11tau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:30:04