summaryrefslogtreecommitdiff
path: root/events_darwin.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2015-12-11 20:37:59 -0500
committerPietro Gagliardi <[email protected]>2015-12-11 20:37:59 -0500
commitf8e3f12ab02b528f2a05a4f713d7af7ea8e44b42 (patch)
tree82dedf4d37f0f6d31e88ebb2ca1ce6499dead261 /events_darwin.go
parente34c561ed5bedeb180437ec165882b98d70d38c1 (diff)
LET'S GET THIS FINAL REWRITE EVER STARTED
Diffstat (limited to 'events_darwin.go')
-rw-r--r--events_darwin.go132
1 files changed, 0 insertions, 132 deletions
diff --git a/events_darwin.go b/events_darwin.go
deleted file mode 100644
index d9cbe0c..0000000
--- a/events_darwin.go
+++ /dev/null
@@ -1,132 +0,0 @@
-// 30 march 2014
-
-package ui
-
-/*
-Mac OS X uses its own set of hardware key codes that are different from PC keyboard scancodes, but are positional (like PC keyboard scancodes). These are defined in <HIToolbox/Events.h>, a Carbon header. As far as I can tell, there's no way to include this header without either using an absolute path or linking Carbon into the program, so the constant values are used here instead.
-
-The Cocoa docs do guarantee that -[NSEvent keyCode] results in key codes that are the same as those returned by Carbon; that is, these codes.
-*/
-
-// use uintptr to be safe
-var keycodeKeys = map[uintptr]byte{
- 0x00: 'a',
- 0x01: 's',
- 0x02: 'd',
- 0x03: 'f',
- 0x04: 'h',
- 0x05: 'g',
- 0x06: 'z',
- 0x07: 'x',
- 0x08: 'c',
- 0x09: 'v',
- 0x0B: 'b',
- 0x0C: 'q',
- 0x0D: 'w',
- 0x0E: 'e',
- 0x0F: 'r',
- 0x10: 'y',
- 0x11: 't',
- 0x12: '1',
- 0x13: '2',
- 0x14: '3',
- 0x15: '4',
- 0x16: '6',
- 0x17: '5',
- 0x18: '=',
- 0x19: '9',
- 0x1A: '7',
- 0x1B: '-',
- 0x1C: '8',
- 0x1D: '0',
- 0x1E: ']',
- 0x1F: 'o',
- 0x20: 'u',
- 0x21: '[',
- 0x22: 'i',
- 0x23: 'p',
- 0x25: 'l',
- 0x26: 'j',
- 0x27: '\'',
- 0x28: 'k',
- 0x29: ';',
- 0x2A: '\\',
- 0x2B: ',',
- 0x2C: '/',
- 0x2D: 'n',
- 0x2E: 'm',
- 0x2F: '.',
- 0x32: '`',
- 0x24: '\n',
- 0x30: '\t',
- 0x31: ' ',
- 0x33: '\b',
-}
-
-var keycodeExtKeys = map[uintptr]ExtKey{
- 0x41: NDot,
- 0x43: NMultiply,
- 0x45: NAdd,
- 0x4B: NDivide,
- 0x4C: NEnter,
- 0x4E: NSubtract,
- 0x52: N0,
- 0x53: N1,
- 0x54: N2,
- 0x55: N3,
- 0x56: N4,
- 0x57: N5,
- 0x58: N6,
- 0x59: N7,
- 0x5B: N8,
- 0x5C: N9,
- 0x35: Escape,
- 0x60: F5,
- 0x61: F6,
- 0x62: F7,
- 0x63: F3,
- 0x64: F8,
- 0x65: F9,
- 0x67: F11,
- 0x6D: F10,
- 0x6F: F12,
- 0x72: Insert, // listed as the Help key but it's in the same position on an Apple keyboard as the Insert key on a Windows keyboard; thanks to SeanieB from irc.badnik.net and Psy in irc.freenode.net/#macdev for confirming they have the same code
- 0x73: Home,
- 0x74: PageUp,
- 0x75: Delete,
- 0x76: F4,
- 0x77: End,
- 0x78: F2,
- 0x79: PageDown,
- 0x7A: F1,
- 0x7B: Left,
- 0x7C: Right,
- 0x7D: Down,
- 0x7E: Up,
-}
-
-var keycodeModifiers = map[uintptr]Modifiers{
- 0x37: Super, // left command
- 0x38: Shift, // left shift
- 0x3A: Alt, // left option
- 0x3B: Ctrl, // left control
- 0x3C: Shift, // right shift
- 0x3D: Alt, // right alt
- 0x3E: Ctrl, // right control
-
- // the following is not in Events.h for some reason
- // thanks to Nicole and jedivulcan from irc.badnik.net
- 0x36: Super, // right command
-}
-
-func fromKeycode(keycode uintptr) (ke KeyEvent, ok bool) {
- if key, ok := keycodeKeys[keycode]; ok {
- ke.Key = key
- return ke, true
- }
- if extkey, ok := keycodeExtKeys[keycode]; ok {
- ke.ExtKey = extkey
- return ke, true
- }
- return ke, false
-}