Beispiel #1
0
    def sendKey(self, key, modifiers=0x0):

        source = CG.CGEventSourceCreate(CG.kCGEventSourceStateCombinedSessionState)

        keyDown = CG.CGEventCreateKeyboardEvent(source, key, True)
        CG.CGEventSetFlags(keyDown, modifiers)
        keyUp = CG.CGEventCreateKeyboardEvent(source, key, False)

        CG.CGEventPost(CG.kCGAnnotatedSessionEventTap, keyDown)
        CG.CGEventPost(CG.kCGAnnotatedSessionEventTap, keyUp)
Beispiel #2
0
 def event(self, key: str, down: bool):
     """ Create a Core Graphics keyboard event and post it for macOS to process """
     try:
         event = CG.CGEventCreateKeyboardEvent(None,
                                               self.KeyMap[key.lower()],
                                               down)
         if key.isupper():
             CG.CGEventSetFlags(
                 event,
                 CG.kCGEventFlagMaskShift | CG.CGEventGetFlags(event))
         CG.CGEventPost(CG.kCGHIDEventTap, event)
     except KeyError:
         raise NotImplementedError(f"Key '{key}' is not implemented")