Ich frage mich immer noch, warum du NSEvent
nicht benutzen kannst, aber ich werde die Frage trotzdem beantworten. Vielleicht erstellen Sie ein "Befehlszeilentool" und sind nur mit Foundation verbunden? Sie müssen mindestens ein weiteres Framework hinzufügen. Wenn Sie mit AppKit verlinken möchten, können Sie (wie ich in den Kommentaren erwähnte) +[NSEvent modifierFlags]
; Dies ist eine Klassenmethode für NSEvent
. Sie können sie also überall verwenden, ohne auf ein einzelnes Ereignis zugreifen zu müssen, um den aktuellen Status der Zusatztasten als Bitmaske abzurufen. Die Dokumentation erläutert die Bedeutung der Bitmaske .
Sie können diese Informationen auch über Quartz Event Services . In diesem Fall müssen Sie das ApplicationServices-Framework * einbinden. Die CGEventSource Funktionen erhalten Sie die selbe Bitmaske erhalten Sie von NSEvent
:
* Dies ist bereits enthalten, wenn Sie tatsächlich eine Cocoa-App schreiben - sie ist Teil von Quartz.
Tags und Links objective-c macos keyboard