Я пишу программу C, которая рисует в корневом окне. (Эта часть работает)
Теперь мне нужно принять ввод с клавиатуры и мыши в корневом окне (щелчки и нажатия клавиш в корневом окне). Я пробовал это:
XSelectInput(display, rootWindow, KeyPressMask);
XNextEvent(display, &event)
но KeyPress никогда не приходит. Я также пытался использовать ButtonPressMask
, но это создает ошибку:
X Error of failed request: BadAccess
Можно ли это сделать, не подключаясь ко всем входным данным? Я видел эту идею при переполнении стека: Определить выпуск ключа модификатора в корне X11 window, но, насколько я могу судить, он подключается ко всему вводу.
Я использую i3wm, поэтому у меня нет корневого окна по умолчанию. (если это поможет)