1 /*
2  * barrier -- mouse and keyboard sharing utility
3  * Copyright (C) 2012-2016 Symless Ltd.
4  * Copyright (C) 2002 Chris Schoeneman
5  *
6  * This package is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * found in the file LICENSE that should have accompanied this file.
9  *
10  * This package is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #include "barrier/key_types.h"
20 
21 const KeyNameMapEntry kKeyNameMap[] = {
22     { "AltGr",            kKeyAltGr },
23     { "Alt_L",            kKeyAlt_L },
24     { "Alt_R",            kKeyAlt_R },
25     { "AppMail",        kKeyAppMail },
26     { "AppMedia",        kKeyAppMedia },
27     { "AppUser1",        kKeyAppUser1 },
28     { "AppUser2",        kKeyAppUser2 },
29     { "AudioDown",        kKeyAudioDown },
30     { "AudioMute",        kKeyAudioMute },
31     { "AudioNext",        kKeyAudioNext },
32     { "AudioPlay",        kKeyAudioPlay },
33     { "AudioPrev",        kKeyAudioPrev },
34     { "AudioStop",        kKeyAudioStop },
35     { "AudioUp",        kKeyAudioUp },
36     { "BackSpace",        kKeyBackSpace },
37     { "Begin",            kKeyBegin },
38     { "Break",            kKeyBreak },
39     { "Cancel",            kKeyCancel },
40     { "CapsLock",        kKeyCapsLock },
41     { "Clear",            kKeyClear },
42     { "Control_L",        kKeyControl_L },
43     { "Control_R",        kKeyControl_R },
44     { "Delete",            kKeyDelete },
45     { "Down",            kKeyDown },
46     { "Eject",            kKeyEject },
47     { "End",            kKeyEnd },
48     { "Escape",            kKeyEscape },
49     { "Execute",        kKeyExecute },
50     { "F1",                kKeyF1 },
51     { "F2",                kKeyF2 },
52     { "F3",                kKeyF3 },
53     { "F4",                kKeyF4 },
54     { "F5",                kKeyF5 },
55     { "F6",                kKeyF6 },
56     { "F7",                kKeyF7 },
57     { "F8",                kKeyF8 },
58     { "F9",                kKeyF9 },
59     { "F10",            kKeyF10 },
60     { "F11",            kKeyF11 },
61     { "F12",            kKeyF12 },
62     { "F13",            kKeyF13 },
63     { "F14",            kKeyF14 },
64     { "F15",            kKeyF15 },
65     { "F16",            kKeyF16 },
66     { "F17",            kKeyF17 },
67     { "F18",            kKeyF18 },
68     { "F19",            kKeyF19 },
69     { "F20",            kKeyF20 },
70     { "F21",            kKeyF21 },
71     { "F22",            kKeyF22 },
72     { "F23",            kKeyF23 },
73     { "F24",            kKeyF24 },
74     { "F25",            kKeyF25 },
75     { "F26",            kKeyF26 },
76     { "F27",            kKeyF27 },
77     { "F28",            kKeyF28 },
78     { "F29",            kKeyF29 },
79     { "F30",            kKeyF30 },
80     { "F31",            kKeyF31 },
81     { "F32",            kKeyF32 },
82     { "F33",            kKeyF33 },
83     { "F34",            kKeyF34 },
84     { "F35",            kKeyF35 },
85     { "Find",            kKeyFind },
86     { "Help",            kKeyHelp },
87     { "Henkan",            kKeyHenkan },
88     { "Home",            kKeyHome },
89     { "Hyper_L",        kKeyHyper_L },
90     { "Hyper_R",        kKeyHyper_R },
91     { "Insert",            kKeyInsert },
92     { "KP_0",            kKeyKP_0 },
93     { "KP_1",            kKeyKP_1 },
94     { "KP_2",            kKeyKP_2 },
95     { "KP_3",            kKeyKP_3 },
96     { "KP_4",            kKeyKP_4 },
97     { "KP_5",            kKeyKP_5 },
98     { "KP_6",            kKeyKP_6 },
99     { "KP_7",            kKeyKP_7 },
100     { "KP_8",            kKeyKP_8 },
101     { "KP_9",            kKeyKP_9 },
102     { "KP_Add",            kKeyKP_Add },
103     { "KP_Begin",        kKeyKP_Begin },
104     { "KP_Decimal",        kKeyKP_Decimal },
105     { "KP_Delete",        kKeyKP_Delete },
106     { "KP_Divide",        kKeyKP_Divide },
107     { "KP_Down",        kKeyKP_Down },
108     { "KP_End",            kKeyKP_End },
109     { "KP_Enter",        kKeyKP_Enter },
110     { "KP_Equal",        kKeyKP_Equal },
111     { "KP_F1",            kKeyKP_F1 },
112     { "KP_F2",            kKeyKP_F2 },
113     { "KP_F3",            kKeyKP_F3 },
114     { "KP_F4",            kKeyKP_F4 },
115     { "KP_Home",        kKeyKP_Home },
116     { "KP_Insert",        kKeyKP_Insert },
117     { "KP_Left",        kKeyKP_Left },
118     { "KP_Multiply",    kKeyKP_Multiply },
119     { "KP_PageDown",    kKeyKP_PageDown },
120     { "KP_PageUp",        kKeyKP_PageUp },
121     { "KP_Right",        kKeyKP_Right },
122     { "KP_Separator",    kKeyKP_Separator },
123     { "KP_Space",        kKeyKP_Space },
124     { "KP_Subtract",    kKeyKP_Subtract },
125     { "KP_Tab",            kKeyKP_Tab },
126     { "KP_Up",            kKeyKP_Up },
127     { "Left",            kKeyLeft },
128     { "LeftTab",        kKeyLeftTab },
129     { "Linefeed",        kKeyLinefeed },
130     { "Menu",            kKeyMenu },
131     { "Meta_L",            kKeyMeta_L },
132     { "Meta_R",            kKeyMeta_R },
133     { "NumLock",        kKeyNumLock },
134     { "PageDown",        kKeyPageDown },
135     { "PageUp",            kKeyPageUp },
136     { "Pause",            kKeyPause },
137     { "Print",            kKeyPrint },
138     { "Redo",            kKeyRedo },
139     { "Return",            kKeyReturn },
140     { "Right",            kKeyRight },
141     { "ScrollLock",        kKeyScrollLock },
142     { "Select",            kKeySelect },
143     { "ShiftLock",        kKeyShiftLock },
144     { "Shift_L",        kKeyShift_L },
145     { "Shift_R",        kKeyShift_R },
146     { "Sleep",            kKeySleep },
147     { "Super_L",        kKeySuper_L },
148     { "Super_R",        kKeySuper_R },
149     { "SysReq",            kKeySysReq },
150     { "Tab",            kKeyTab },
151     { "Undo",            kKeyUndo },
152     { "Up",                kKeyUp },
153     { "WWWBack",        kKeyWWWBack },
154     { "WWWFavorites",    kKeyWWWFavorites },
155     { "WWWForward",        kKeyWWWForward },
156     { "WWWHome",        kKeyWWWHome },
157     { "WWWRefresh",        kKeyWWWRefresh },
158     { "WWWSearch",        kKeyWWWSearch },
159     { "WWWStop",        kKeyWWWStop },
160     { "Zenkaku",        kKeyZenkaku },
161     { "Space",            0x0020 },
162     { "Exclaim",        0x0021 },
163     { "DoubleQuote",    0x0022 },
164     { "Number",            0x0023 },
165     { "Dollar",            0x0024 },
166     { "Percent",        0x0025 },
167     { "Ampersand",        0x0026 },
168     { "Apostrophe",        0x0027 },
169     { "ParenthesisL",    0x0028 },
170     { "ParenthesisR",    0x0029 },
171     { "Asterisk",        0x002a },
172     { "Plus",            0x002b },
173     { "Comma",            0x002c },
174     { "Minus",            0x002d },
175     { "Period",            0x002e },
176     { "Slash",            0x002f },
177     { "Colon",            0x003a },
178     { "Semicolon",        0x003b },
179     { "Less",            0x003c },
180     { "Equal",            0x003d },
181     { "Greater",        0x003e },
182     { "Question",        0x003f },
183     { "At",                0x0040 },
184     { "BracketL",        0x005b },
185     { "Backslash",        0x005c },
186     { "BracketR",        0x005d },
187     { "Circumflex",        0x005e },
188     { "Underscore",        0x005f },
189     { "Grave",            0x0060 },
190     { "BraceL",            0x007b },
191     { "Bar",            0x007c },
192     { "BraceR",            0x007d },
193     { "Tilde",            0x007e },
194     { NULL, 0 },
195 };
196 
197 const KeyModifierNameMapEntry kModifierNameMap[] = {
198     { "Alt",            KeyModifierAlt },
199     { "AltGr",            KeyModifierAltGr },
200 //    { "CapsLock",        KeyModifierCapsLock },
201     { "Control",        KeyModifierControl },
202     { "Meta",            KeyModifierMeta },
203 //    { "NumLock",        KeyModifierNumLock },
204 //    { "ScrollLock",        KeyModifierScrollLock },
205     { "Shift",            KeyModifierShift },
206     { "Super",            KeyModifierSuper },
207     { NULL, 0 },
208 };
209