我需要通过ncurses检测到c上的大写锁定是打开/关闭的。可能吗?如果是,如何?
谷歌搜索这个问题没有任何用处。
更新
我正在寻找它的原因如下:我需要使用不同的处理程序处理alt + F和alt + shift + F等组合键。但是带有大写锁定的alt + F和没有大写锁定的alt + shift + F返回相同的密钥代码(getch()
)
答案 0 :(得分:2)
你做不到。 Caps Lock的状态不会对终端可见。
答案 1 :(得分:2)
这只能通过平台特定接口来完成,即使用系统接口而不是终端/ tty设备。在Linux中,您可以在/ dev / input /中读取键盘设备,或者解析xset -q
的输出。请注意,这只能读取本地键盘设备,这意味着如果您需要通过ssh使用该程序,则无法使用此密钥。您可能需要提升权限才能直接读取输入设备。