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