2009-06-17 5 views
0

Ich versuche herauszufinden, wie man den Caps Lock-Zustand in Qt (4.5) bekommt, aber das einzige, was ich von qt bekommen konnte, ist entweder die CAPS LOCK wurde gedrückt oder losgelassen und konnte dann nicht den tatsächlichen Zustand erreichen.Caps Lock State in Qt (oder einer anderen Mac-API)

Um das zu lösen, habe ich Plattform abhängig versucht und ich habe etwas auf XP arbeiten. Aber jetzt suche ich nach einer Lösung auf Mac. Ich habe viel gegoogelt ohne Erfolg (oder vielleicht eine objektive C API oder HID Api).

So wäre es toll, wenn jemand ID hätte, wie man das entweder mit Qt oder auf Mac macht. Vielen Dank im Voraus,

Boris

Antwort

1

Wenn bei GPL-Code suchen Sie nicht besudeln, sehen VirtualBox/src/VBox/Frontends/VirtualBox/src/darwin/DarwinKeyboard.cpp.

Insbesondere seine darwinHIDKeyboardCacheDoUpdate findet alle Tastaturen, und darwinQueryHIDModifiers iteriert über Tastaturen auf der Suche nach gehaltenen Modifier-Tasten.

Da die Kommentare sagen: aus irgendeinem Grund, dies alles ziemlich schlecht dokumentiert zu sein scheint ...

ich mich nicht ein mit Mac, aber VirtualBox verwendet Qt 4 für die GUI und noch muss in IOKit selbst graben, um auf Keyboard-Modifier-Tasten auf einem Mac zu kommen, also würde ich vermuten, dass dies mit einfachem Qt nicht möglich ist.

+0

Ich überprüfte und es sieht ziemlich kompliziert aus, ich muss tiefer in ihren Code gehen. Ich bin wirklich überrascht, dass Apple nicht etwas zugänglicher gemacht hat, und nichts dokumentiert hat ... Danke trotzdem für Ihre Antwort, sehr geschätzt! –