Caps Lock State в Qt (или любом Mac API) - PullRequest
0 голосов
/ 18 июня 2009

Я пытаюсь выяснить, как получить состояние блокировки caps в Qt (4.5), но единственное, что мне удалось получить из qt, это либо нажатие или отпускание CAPS LOCK, либо невозможность получить фактическое состояние.

Чтобы решить эту проблему, я попробовал зависеть от платформы и получил что-то, работающее на xp. Но сейчас я ищу решение на Mac. Я много гуглил безуспешно (или, может быть, какой-то объективный C API или HID Api).

Так что было бы здорово, если бы у кого-нибудь был идентификатор, как это сделать с помощью qt или на mac. Заранее спасибо,

Boris

1 Ответ

1 голос
/ 18 июня 2009

Если просмотр кода GPL вас не портит, см. VirtualBox / src / VBox / Frontends / VirtualBox / src / darwin / DarwinKeyboard.cpp .

В частности, darwinHIDKeyboardCacheDoUpdate находит все клавиатуры, а darwinQueryHIDModifiers перебирает клавиатуры в поисках удерживаемых клавиш-модификаторов.

Как говорится в комментариях: по какой-то причине все это выглядит довольно плохо документированным ...

У меня нет работающего Mac, но VirtualBox использует Qt 4 для своего графического интерфейса, и все же приходится копаться в самом IOKit, чтобы добраться до клавиш-модификаторов клавиатуры на Mac, так что я бы предположил что это невозможно с простым Qt.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...