我正在使用c ++,我需要确定是否按下了shift键。在Windows中,我可以使用GetAsyncKeyState。我怎么能在Linux中这样做? 我不能以root身份运行。
答案 0 :(得分:1)
在X Windows下,您可以加载X Keyboard扩展程序并调用XkbGetState()
以获取当前的键盘状态。如果按下shift键,则由base_mods
设置的XkbStateRec
结构的XkbGetState()
字段将设置ShiftMask
位。完整文档:https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Determining_Keyboard_State