summaryrefslogtreecommitdiff
path: root/src/platform/cocoa/keymap.c
blob: c43837c6a195cd616690798879a58e0f20bf2b9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include "keymap.h"
#include "keycodes.h"

enum yasl_key yasl_private_key_from_cocoa(uint32_t code)
{
    switch (code) {
    case kVK_ANSI_A: return YASL_KEY_A;
    case kVK_ANSI_B: return YASL_KEY_B;
    case kVK_ANSI_C: return YASL_KEY_C;
    case kVK_ANSI_D: return YASL_KEY_D;
    case kVK_ANSI_E: return YASL_KEY_E;
    case kVK_ANSI_F: return YASL_KEY_F;
    case kVK_ANSI_G: return YASL_KEY_G;
    case kVK_ANSI_H: return YASL_KEY_H;
    case kVK_ANSI_I: return YASL_KEY_I;
    case kVK_ANSI_J: return YASL_KEY_J;
    case kVK_ANSI_K: return YASL_KEY_K;
    case kVK_ANSI_L: return YASL_KEY_L;
    case kVK_ANSI_M: return YASL_KEY_M;
    case kVK_ANSI_N: return YASL_KEY_N;
    case kVK_ANSI_O: return YASL_KEY_O;
    case kVK_ANSI_P: return YASL_KEY_P;
    case kVK_ANSI_Q: return YASL_KEY_Q;
    case kVK_ANSI_R: return YASL_KEY_R;
    case kVK_ANSI_S: return YASL_KEY_S;
    case kVK_ANSI_T: return YASL_KEY_T;
    case kVK_ANSI_U: return YASL_KEY_U;
    case kVK_ANSI_V: return YASL_KEY_V;
    case kVK_ANSI_W: return YASL_KEY_W;
    case kVK_ANSI_X: return YASL_KEY_X;
    case kVK_ANSI_Y: return YASL_KEY_Y;
    case kVK_ANSI_Z: return YASL_KEY_Z;
    case kVK_ANSI_0: return YASL_KEY_0;
    case kVK_ANSI_1: return YASL_KEY_1;
    case kVK_ANSI_2: return YASL_KEY_2;
    case kVK_ANSI_3: return YASL_KEY_3;
    case kVK_ANSI_4: return YASL_KEY_4;
    case kVK_ANSI_5: return YASL_KEY_5;
    case kVK_ANSI_6: return YASL_KEY_6;
    case kVK_ANSI_7: return YASL_KEY_7;
    case kVK_ANSI_8: return YASL_KEY_8;
    case kVK_ANSI_9: return YASL_KEY_9;
    case kVK_Return: return YASL_KEY_ENTER;
    case kVK_Tab: return YASL_KEY_TAB;
    case kVK_Space: return YASL_KEY_SPACE;
    case kVK_Escape: return YASL_KEY_ESCAPE;
    case kVK_Home: return YASL_KEY_HOME;
    case kVK_End: return YASL_KEY_END;
    case kVK_Delete: return YASL_KEY_BACKSPACE;
    case kVK_ForwardDelete: return YASL_KEY_DELETE;
    case kVK_PageUp: return YASL_KEY_PAGE_UP;
    case kVK_PageDown: return YASL_KEY_PAGE_DOWN;
    case kVK_Help: return YASL_KEY_INSERT;
    case kVK_LeftArrow: return YASL_KEY_LEFT;
    case kVK_RightArrow: return YASL_KEY_RIGHT;
    case kVK_DownArrow: return YASL_KEY_DOWN;
    case kVK_UpArrow: return YASL_KEY_UP;
    case kVK_Command: return YASL_KEY_LEFT_SUPER;
    case kVK_Shift: return YASL_KEY_LEFT_SHIFT;
    case kVK_CapsLock: return YASL_KEY_CAPS_LOCK;
    case kVK_Option: return YASL_KEY_LEFT_ALT;
    case kVK_Control: return YASL_KEY_LEFT_CONTROL;
    case kVK_RightCommand: return YASL_KEY_RIGHT_SUPER;
    case kVK_RightShift: return YASL_KEY_RIGHT_SHIFT;
    case kVK_RightOption: return YASL_KEY_RIGHT_ALT;
    case kVK_RightControl: return YASL_KEY_RIGHT_CONTROL;
    case kVK_ContextualMenu: return YASL_KEY_MENU;
    case kVK_VolumeUp: return YASL_KEY_VOLUME_UP;
    case kVK_VolumeDown: return YASL_KEY_VOLUME_DOWN;
    case kVK_Mute: return YASL_KEY_MUTE;
    case kVK_ISO_Section: return YASL_KEY_ISO_BACKSLASH;
    case kVK_JIS_Yen: return YASL_KEY_YEN;
    case kVK_JIS_Underscore: return YASL_KEY_RO;
    case kVK_JIS_Eisu: return YASL_KEY_EISU;
    case kVK_JIS_Kana: return YASL_KEY_KANA;
    case kVK_JIS_KeypadComma: return YASL_KEY_KP_COMMA;
    case kVK_ANSI_Equal: return YASL_KEY_EQUAL;
    case kVK_ANSI_Minus: return YASL_KEY_MINUS;
    case kVK_ANSI_LeftBracket: return YASL_KEY_LEFT_BRACKET;
    case kVK_ANSI_RightBracket: return YASL_KEY_RIGHT_BRACKET;
    case kVK_ANSI_Quote: return YASL_KEY_APOSTROPHE;
    case kVK_ANSI_Semicolon: return YASL_KEY_SEMICOLON;
    case kVK_ANSI_Backslash: return YASL_KEY_BACKSLASH;
    case kVK_ANSI_Comma: return YASL_KEY_COMMA;
    case kVK_ANSI_Slash: return YASL_KEY_SLASH;
    case kVK_ANSI_Period: return YASL_KEY_PERIOD;
    case kVK_ANSI_Grave: return YASL_KEY_GRAVE;
    case kVK_F1: return YASL_KEY_F1;
    case kVK_F2: return YASL_KEY_F2;
    case kVK_F3: return YASL_KEY_F3;
    case kVK_F4: return YASL_KEY_F4;
    case kVK_F5: return YASL_KEY_F5;
    case kVK_F6: return YASL_KEY_F6;
    case kVK_F7: return YASL_KEY_F7;
    case kVK_F8: return YASL_KEY_F8;
    case kVK_F9: return YASL_KEY_F9;
    case kVK_F10: return YASL_KEY_F10;
    case kVK_F11: return YASL_KEY_F11;
    case kVK_F12: return YASL_KEY_F12;
    case kVK_F13: return YASL_KEY_F13;
    case kVK_F14: return YASL_KEY_F14;
    case kVK_F15: return YASL_KEY_F15;
    case kVK_F16: return YASL_KEY_F16;
    case kVK_F17: return YASL_KEY_F17;
    case kVK_F18: return YASL_KEY_F18;
    case kVK_F19: return YASL_KEY_F19;
    case kVK_F20: return YASL_KEY_F20;
    case kVK_ANSI_Keypad0: return YASL_KEY_KP_0;
    case kVK_ANSI_Keypad1: return YASL_KEY_KP_1;
    case kVK_ANSI_Keypad2: return YASL_KEY_KP_2;
    case kVK_ANSI_Keypad3: return YASL_KEY_KP_3;
    case kVK_ANSI_Keypad4: return YASL_KEY_KP_4;
    case kVK_ANSI_Keypad5: return YASL_KEY_KP_5;
    case kVK_ANSI_Keypad6: return YASL_KEY_KP_6;
    case kVK_ANSI_Keypad7: return YASL_KEY_KP_7;
    case kVK_ANSI_Keypad8: return YASL_KEY_KP_8;
    case kVK_ANSI_Keypad9: return YASL_KEY_KP_9;
    case kVK_ANSI_KeypadDecimal: return YASL_KEY_KP_DECIMAL;
    case kVK_ANSI_KeypadMultiply: return YASL_KEY_KP_MULTIPLY;
    case kVK_ANSI_KeypadPlus: return YASL_KEY_KP_ADD;
    case kVK_ANSI_KeypadClear: return YASL_KEY_KP_CLEAR;
    case kVK_ANSI_KeypadDivide: return YASL_KEY_KP_DIVIDE;
    case kVK_ANSI_KeypadEnter: return YASL_KEY_KP_ENTER;
    case kVK_ANSI_KeypadMinus: return YASL_KEY_KP_SUBTRACT;
    case kVK_ANSI_KeypadEquals: return YASL_KEY_KP_EQUAL;
    default: return YASL_KEY_UNKNOWN;
    }
}