Как получить событие изменения текущей раскладки клавиатуры в Unix? - PullRequest
1 голос
/ 02 ноября 2011

Я искал простое решение, но не смог найти.

Мне нужно получить событие изменения раскладки системной клавиатуры для установки этого параметра в моем приложении.

QApplication::keyboardInputLocale() не подходит, потому что янужно ловить разметку системы, а не приложения.

Xkblib также не подходит, потому что я использую проект Qt и эта библиотека может привести к сбоям (QEvent, QTimer).

1 Ответ

0 голосов
/ 12 ноября 2011

X отправляет MapNotifyEvent (не путать с KeymapNotify) при изменении сопоставления клавиш (протестировано с xmodmap, но должно работать и для других методов). Я не знаю, сможете ли вы получить необработанные X-события в Qt, но если вы можете, я думаю, это событие нужно искать.

...