3
我正在使用C++,我需要確定是否按下shift鍵。在Windows中,我只能使用GetAsyncKeyState。我如何在Linux中執行此操作? 我無法以root身份運行。什麼是Window的GetAsyncKeyState的Linux等價物?
我正在使用C++,我需要確定是否按下shift鍵。在Windows中,我只能使用GetAsyncKeyState。我如何在Linux中執行此操作? 我無法以root身份運行。什麼是Window的GetAsyncKeyState的Linux等價物?
在X Windows下,您可以加載X鍵盤擴展,並調用XkbGetState()
以獲取當前鍵盤狀態。如果正在按下shift鍵,由XkbGetState()
設置的XkbStateRec
結構的base_mods
字段將設置爲ShiftMask
位。完整的文檔在這裏:https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Determining_Keyboard_State