如何用ncurses检测Caps Lock?

时间:2014-05-31 19:21:36

标签: c ncurses

我需要通过ncurses检测到c上的大写锁定是打开/关闭的。可能吗?如果是,如何?

谷歌搜索这个问题没有任何用处。

更新

我正在寻找它的原因如下:我需要使用不同的处理程序处理alt + F和alt + shift + F等组合键。但是带有大写锁定的alt + F和没有大写锁定的alt + shift + F返回相同的密钥代码(getch()

2 个答案:

答案 0 :(得分:2)

你做不到。 Caps Lock的状态不会对终端可见。

答案 1 :(得分:2)

这只能通过平台特定接口来完成,即使用系统接口而不是终端/ tty设备。在Linux中,您可以在/ dev / input /中读取键盘设备,或者解析xset -q的输出。请注意,这只能读取本地键盘设备,这意味着如果您需要通过ssh使用该程序,则无法使用此密钥。您可能需要提升权限才能直接读取输入设备。