什么是Window的GetAsyncKeyState的Linux等价物?

我正在使用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 : //stackoverflow.com/a/4225290/4474419