I found these commands to simulate cut / copy / paste using Foundation:
func pastematchstyle () {
let event1 = CGEvent(keyboardEventSource: nil, virtualKey: 0x09, keyDown: true); // opt-shft-cmd-v down event1?.flags = [CGEventFlags.maskCommand, CGEventFlags.maskShift, CGEventFlags.maskAlternate] event1?.post(tap: CGEventTapLocation.cghidEventTap); let event2 = CGEvent(keyboardEventSource: nil, virtualKey: 0x09, keyDown: false); // opt-shf-cmd-v up
//event2?.flags = [CGEventFlags.maskCommand, CGEventFlags.maskShift, CGEventFlags.maskAlternate] event2? .post (tap: CGEventTapLocation.cghidEventTap);
}
func paste () {
let event1 = CGEvent(keyboardEventSource: nil, virtualKey: 0x09, keyDown: true); // cmd-v down event1?.flags = CGEventFlags.maskCommand; event1?.post(tap: CGEventTapLocation.cghidEventTap); let event2 = CGEvent(keyboardEventSource: nil, virtualKey: 0x09, keyDown: false) // cmd-v up
//event2?.flags = CGEventFlags.maskCommand event2? .post (tap: CGEventTapLocation.cghidEventTap)
}
func pasteresults () {
let event1 = CGEvent(keyboardEventSource: nil, virtualKey: 0x09, keyDown: true); // shft-cmd-v down event1?.flags = [CGEventFlags.maskCommand, CGEventFlags.maskShift] event1?.post(tap: CGEventTapLocation.cghidEventTap); let event2 = CGEvent(keyboardEventSource: nil, virtualKey: 0x09, keyDown: false); // shf-cmd-v up
//event2?.flags = [CGEventFlags.maskCommand, CGEventFlags.maskShift]; event2? .post (tap: CGEventTapLocation.cghidEventTap);
}
func cut () {
let event1 = CGEvent(keyboardEventSource: nil, virtualKey: 0x07, keyDown: true); // cmd-x down event1?.flags = CGEventFlags.maskCommand; event1?.post(tap: CGEventTapLocation.cghidEventTap); let event2 = CGEvent(keyboardEventSource: nil, virtualKey: 0x07, keyDown: false); // cmd-x up
//event2?.flags = CGEventFlags.maskCommand; event2? .post (tap: CGEventTapLocation.cghidEventTap);
}
func copy () {
let event1 = CGEvent(keyboardEventSource: nil, virtualKey: 0x08, keyDown: true); // cmd-c down event1?.flags = CGEventFlags.maskCommand; event1?.post(tap: CGEventTapLocation.cghidEventTap); let event2 = CGEvent(keyboardEventSource: nil, virtualKey: 0x08, keyDown: false); // cmd-c up
//event2?.flags = CGEventFlags.maskCommand; event2? .post (tap: CGEventTapLocation.cghidEventTap);
}
func copystyle () {
let event1 = CGEvent(keyboardEventSource: nil, virtualKey: 0x08, keyDown: true); // opt-cmd-c down event1?.flags = [CGEventFlags.maskCommand, CGEventFlags.maskAlternate]; event1?.post(tap: CGEventTapLocation.cghidEventTap); let event2 = CGEvent(keyboardEventSource: nil, virtualKey: 0x08, keyDown: false); // opt-cmd-c up // event2?.flags = CGEventFlags.maskCommand; event2?.post(tap: CGEventTapLocation.cghidEventTap);
}
func pastestyle () {
let event1 = CGEvent(keyboardEventSource: nil, virtualKey: 0x07, keyDown: true); // opt-cmd-v down event1?.flags = [CGEventFlags.maskCommand, CGEventFlags.maskAlternate]; event1?.post(tap: CGEventTapLocation.cghidEventTap); let event2 = CGEvent(keyboardEventSource: nil, virtualKey: 0x07, keyDown: false); // opt-cmd-v up // event2?.flags = CGEventFlags.maskCommand; event2?.post(tap: CGEventTapLocation.cghidEventTap);
}