Ich möchte in meiner App Application Switcher
simulieren und ich denke, CGEvent kann das vielleicht tun.Cocoa: Simulieren Befehl + Tab in CGEvent
Nun, nachdem ich einige grundlegende Informationen über CGEvent gelernt habe, kann ich den Tastendruck Command + Tab
simulieren. Aber das Application Switcher-Fenster blinkt einfach und wechselt sofort zu einer anderen App.
Ich merke, dass ich hold
die Befehlstaste und drücken Sie die Tabulatortaste, um die App zu wählen. Also, hier ist mein Code:
// Hold the Command key
let source = CGEventSourceCreate(.HIDSystemState)
let event = CGEventCreateKeyboardEvent(source, 55 as CGKeyCode, true)
CGEventSetIntegerValueField(event, .KeyboardEventAutorepeat, 1)
CGEventPost(.CGHIDEventTap, event)
// Press Tab key once
let source = CGEventSourceCreate(.HIDSystemState)
let keyDown = CGEventCreateKeyboardEvent(source, 48 as CGKeyCode, true)
CGEventSetFlags(keyDown, .MaskCommand)
CGEventPost(.CGHIDEventTap, keyDown)
let keyUp = CGEventCreateKeyboardEvent(source, 48 as CGKeyCode, false)
CGEventPost(.CGHIDEventTap, keyUp)
Aber es funktioniert nicht! Irgendwelche Ideen? Vielen Dank!
Wenn ich manuell den Befehl-Tab tippe, blinkt das Application Switcher-Fenster einfach und wechselt sofort zu einer anderen App. – Willeke
Warum legen Sie KeyboardEventAutorepeat fest? – Willeke
Sie müssen den Benutzer simulieren: Befehl runter, Tab runter, Tab hoch, Befehl hoch. – Willeke