【发布时间】:2014-05-31 19:21:35
【问题描述】:
我需要使用 ncurses 检测 c 上的大写锁定是否打开/关闭。是否可以?如果是,怎么做?
谷歌搜索这个问题没有任何用处。
更新
我正在寻找它的原因如下:我需要使用不同的处理程序来处理诸如 alt+F 和 alt+shift+F 之类的组合键。但是带大写锁定的 alt+F 和不带大写锁定的 alt+shift+F 返回相同的键码(getch())
【问题讨论】:
-
这是一个很好的问题,一定会对此进行调查。如果您给出检查的理由,也许我们会想到一些解决方法。
-
@zubergu 我更新了这个问题。
-
你在哪个平台上?
getch,在我的 Mac 终端上使用 curses,返回27/1Bh,然后返回f/F,带和不带 Shift,但无论 CapsLock 是打开还是关闭都一样。 -
我在 debian7 上。大写锁定在按下时打开移位,反之亦然。我想还有其他具有相同行为的 unix 操作系统。
-
在 TTY 中,您可以使用
ioctl(例如,Debian 软件包“console-tools”的“setleds”就是这样做的),here 是一个 X11 解决方案。也许这有帮助。