Я использую C++, и мне нужно определить, нажата ли клавиша shift. В Windows я могу просто использовать GetAsyncKeyState. Как я могу это сделать в Linux? Я не могу работать как root.Что такое эквивалент Linux GetAyncKeyState в Window?
3
A
ответ
0
В X Windows вы можете загрузить расширение X Keyboard и позвонить XkbGetState()
, чтобы получить текущее состояние клавиатуры. Если клавиша сдвига нажата, поле base_mods
структуры XkbStateRec
, заданное XkbGetState()
, будет иметь бит бит ShiftMask
. Полная документация здесь: https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Determining_Keyboard_State
В качестве альтернативы: https://stackoverflow.com/a/4225290/4474419