diff --git a/keyboard/_darwinkeyboard.py b/keyboard/_darwinkeyboard.py index 85670eed..c8b4b5e6 100644 --- a/keyboard/_darwinkeyboard.py +++ b/keyboard/_darwinkeyboard.py @@ -335,7 +335,10 @@ def map_char(self, character): return (128+self.media_keys[character],[]) else: return self.key_map.character_to_vk(character) + def map_scan_code(self, scan_code): + if scan_code == 0xff: + return "UNKNOWN" if scan_code >= 128: character = [k for k, v in enumerate(self.media_keys) if v == scan_code-128] if len(character): @@ -439,4 +442,4 @@ def type_unicode(character): # Key up event = Quartz.CGEventCreateKeyboardEvent(OUTPUT_SOURCE, 0, False) Quartz.CGEventKeyboardSetUnicodeString(event, len(character.encode('utf-16-le')) // 2, character) - Quartz.CGEventPost(Quartz.kCGSessionEventTap, event) \ No newline at end of file + Quartz.CGEventPost(Quartz.kCGSessionEventTap, event)