Рассмотрите приложение, где желательно захватить клавиатуру, когда она сфокусирована, чтобы захватить все команды менеджера окон (Alt + F4 и еще ничего) для обработки. Теперь это имеет недостаток, что у пользователя нет возможности переключиться на другое приложение или виртуальный рабочий стол с клавиатуры при захвате клавиатуры. Я хотел бы иметь пользовательский белый список комбинации клавиш (например, комбинации клавиш для переключения виртуальных рабочих столов), которые исключаются из захвата.Исключая некоторые ключи из XGrabKeyboard
Я могу думать о двух возможных подходах. Когда приходит событие с клюшкой, либо
- Как-то сказать X продолжить обработку, как обычно. Это звучит как более естественный способ сделать это, но я не могу найти способ сделать это, или
- Снимите клавиатуру и повторно отправьте событие вручную диспетчеру окна для обработки, однако я не знаю куда отправить его (корневое окно?), или это будет работать.
Может ли кто-нибудь заполнить пробелы на них? Любые другие предложения?
Если у вас нет возможности исключить ключи из захвата, я думаю, мне придется согласиться на «ключ перехода», который отжимает клавиатуру при нажатии. Пользователь должен будет нажать и то, и затем команду диспетчера окон, хотя это не так приятно.
Я боялся, что я получу такой ответ. Я уверен, что увижу программное обеспечение, которое сделает это, если это возможно.Однако, спасибо за указание на XInput 2, я сейчас смотрю на него, и у него, похоже, есть новые способы захвата устройств ввода. Идти на запуск некоторых тестов, чтобы убедиться, что это возможно. –
Получилось что-то вроде «возможно, запланировано для XI2.1», который, похоже, пока не существует, согласно Google. Однако новые подсказки WM не звучат как плохая идея, поэтому я начал обсуждение в списке бесплатных wm-spec freedesktop.org. http://mail.gnome.org/archives/wm-spec-list/2010-September/thread.html –