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