github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/android/keycodes.go (about) 1 //go:build android 2 3 package android 4 5 /* 6 7 #include <game-activity/native_app_glue/android_native_app_glue.h> 8 9 */ 10 import "C" 11 import "github.com/rajveermalviya/gamen/events" 12 13 // https://android.googlesource.com/platform/frameworks/native/+/master/include/android/keycodes.h 14 15 func mapKeycode(k C.int32_t) events.VirtualKey { 16 switch k { 17 // case 0: 18 // return events.VirtualKeyCancel 19 case C.AKEYCODE_HELP: 20 return events.VirtualKeyHelp 21 case C.AKEYCODE_DEL: 22 return events.VirtualKeyBackSpace 23 case C.AKEYCODE_TAB: 24 return events.VirtualKeyTab 25 case C.AKEYCODE_CLEAR: 26 return events.VirtualKeyClear 27 case C.AKEYCODE_ENTER: 28 return events.VirtualKeyReturn 29 case C.AKEYCODE_SHIFT_LEFT: 30 return events.VirtualKeyLShift 31 case C.AKEYCODE_SHIFT_RIGHT: 32 return events.VirtualKeyRShift 33 case C.AKEYCODE_CTRL_LEFT: 34 return events.VirtualKeyLControl 35 case C.AKEYCODE_CTRL_RIGHT: 36 return events.VirtualKeyRControl 37 case C.AKEYCODE_ALT_LEFT: 38 return events.VirtualKeyLAlt 39 case C.AKEYCODE_ALT_RIGHT: 40 return events.VirtualKeyRAlt 41 case C.AKEYCODE_BREAK: 42 return events.VirtualKeyPause 43 case C.AKEYCODE_CAPS_LOCK: 44 return events.VirtualKeyCapsLock 45 case C.AKEYCODE_KANA: 46 return events.VirtualKeyKana 47 // case 0: 48 // return events.VirtualKeyJunja 49 // case 0: 50 // return events.VirtualKeyFinal 51 // case 0: 52 // return events.VirtualKeyKanji 53 case C.AKEYCODE_ESCAPE: 54 return events.VirtualKeyEscape 55 case C.AKEYCODE_HENKAN: 56 return events.VirtualKeyConvert 57 case C.AKEYCODE_MUHENKAN: 58 return events.VirtualKeyNonconvert 59 // case 0: 60 // return events.VirtualKeyAccept 61 // case 0: 62 // return events.VirtualKeyModechange 63 case C.AKEYCODE_SPACE: 64 return events.VirtualKeySpace 65 case C.AKEYCODE_PAGE_UP: 66 return events.VirtualKeyPageUp 67 case C.AKEYCODE_PAGE_DOWN: 68 return events.VirtualKeyPageDown 69 case C.AKEYCODE_MOVE_END: 70 return events.VirtualKeyEnd 71 case C.AKEYCODE_MOVE_HOME: 72 return events.VirtualKeyHome 73 case C.AKEYCODE_DPAD_LEFT: 74 return events.VirtualKeyLeft 75 case C.AKEYCODE_DPAD_UP: 76 return events.VirtualKeyUp 77 case C.AKEYCODE_DPAD_RIGHT: 78 return events.VirtualKeyRight 79 case C.AKEYCODE_DPAD_DOWN: 80 return events.VirtualKeyDown 81 // case 0: 82 // return events.VirtualKeySelect 83 case C.AKEYCODE_SYSRQ: 84 return events.VirtualKeyPrint 85 // case 0: 86 // return events.VirtualKeyExecute 87 case C.AKEYCODE_INSERT: 88 return events.VirtualKeyInsert 89 case C.AKEYCODE_FORWARD_DEL: 90 return events.VirtualKeyDelete 91 case C.AKEYCODE_0: 92 return events.VirtualKey0 93 case C.AKEYCODE_1: 94 return events.VirtualKey1 95 case C.AKEYCODE_2: 96 return events.VirtualKey2 97 case C.AKEYCODE_3: 98 return events.VirtualKey3 99 case C.AKEYCODE_4: 100 return events.VirtualKey4 101 case C.AKEYCODE_5: 102 return events.VirtualKey5 103 case C.AKEYCODE_6: 104 return events.VirtualKey6 105 case C.AKEYCODE_7: 106 return events.VirtualKey7 107 case C.AKEYCODE_8: 108 return events.VirtualKey8 109 case C.AKEYCODE_9: 110 return events.VirtualKey9 111 case C.AKEYCODE_SEMICOLON: 112 return events.VirtualKeySemicolon 113 case C.AKEYCODE_EQUALS: 114 return events.VirtualKeyEquals 115 case C.AKEYCODE_A: 116 return events.VirtualKeyA 117 case C.AKEYCODE_B: 118 return events.VirtualKeyB 119 case C.AKEYCODE_C: 120 return events.VirtualKeyC 121 case C.AKEYCODE_D: 122 return events.VirtualKeyD 123 case C.AKEYCODE_E: 124 return events.VirtualKeyE 125 case C.AKEYCODE_F: 126 return events.VirtualKeyF 127 case C.AKEYCODE_G: 128 return events.VirtualKeyG 129 case C.AKEYCODE_H: 130 return events.VirtualKeyH 131 case C.AKEYCODE_I: 132 return events.VirtualKeyI 133 case C.AKEYCODE_J: 134 return events.VirtualKeyJ 135 case C.AKEYCODE_K: 136 return events.VirtualKeyK 137 case C.AKEYCODE_L: 138 return events.VirtualKeyL 139 case C.AKEYCODE_M: 140 return events.VirtualKeyM 141 case C.AKEYCODE_N: 142 return events.VirtualKeyN 143 case C.AKEYCODE_O: 144 return events.VirtualKeyO 145 case C.AKEYCODE_P: 146 return events.VirtualKeyP 147 case C.AKEYCODE_Q: 148 return events.VirtualKeyQ 149 case C.AKEYCODE_R: 150 return events.VirtualKeyR 151 case C.AKEYCODE_S: 152 return events.VirtualKeyS 153 case C.AKEYCODE_T: 154 return events.VirtualKeyT 155 case C.AKEYCODE_U: 156 return events.VirtualKeyU 157 case C.AKEYCODE_V: 158 return events.VirtualKeyV 159 case C.AKEYCODE_W: 160 return events.VirtualKeyW 161 case C.AKEYCODE_X: 162 return events.VirtualKeyX 163 case C.AKEYCODE_Y: 164 return events.VirtualKeyY 165 case C.AKEYCODE_Z: 166 return events.VirtualKeyZ 167 case C.AKEYCODE_META_LEFT: 168 return events.VirtualKeyLWin 169 case C.AKEYCODE_META_RIGHT: 170 return events.VirtualKeyRWin 171 case 0: 172 return events.VirtualKeyContextMenu 173 case C.AKEYCODE_SLEEP: 174 return events.VirtualKeySleep 175 case C.AKEYCODE_NUMPAD_0: 176 return events.VirtualKeyNumpad0 177 case C.AKEYCODE_NUMPAD_1: 178 return events.VirtualKeyNumpad1 179 case C.AKEYCODE_NUMPAD_2: 180 return events.VirtualKeyNumpad2 181 case C.AKEYCODE_NUMPAD_3: 182 return events.VirtualKeyNumpad3 183 case C.AKEYCODE_NUMPAD_4: 184 return events.VirtualKeyNumpad4 185 case C.AKEYCODE_NUMPAD_5: 186 return events.VirtualKeyNumpad5 187 case C.AKEYCODE_NUMPAD_6: 188 return events.VirtualKeyNumpad6 189 case C.AKEYCODE_NUMPAD_7: 190 return events.VirtualKeyNumpad7 191 case C.AKEYCODE_NUMPAD_8: 192 return events.VirtualKeyNumpad8 193 case C.AKEYCODE_NUMPAD_9: 194 return events.VirtualKeyNumpad9 195 case C.AKEYCODE_NUMPAD_MULTIPLY: 196 return events.VirtualKeyMultiply 197 case C.AKEYCODE_NUMPAD_ADD: 198 return events.VirtualKeyAdd 199 case C.AKEYCODE_NUMPAD_SUBTRACT: 200 return events.VirtualKeySubtract 201 case C.AKEYCODE_NUMPAD_DOT, C.AKEYCODE_NUMPAD_COMMA: 202 return events.VirtualKeyDecimal 203 case C.AKEYCODE_NUMPAD_DIVIDE: 204 return events.VirtualKeyDivide 205 case C.AKEYCODE_F1: 206 return events.VirtualKeyF1 207 case C.AKEYCODE_F2: 208 return events.VirtualKeyF2 209 case C.AKEYCODE_F3: 210 return events.VirtualKeyF3 211 case C.AKEYCODE_F4: 212 return events.VirtualKeyF4 213 case C.AKEYCODE_F5: 214 return events.VirtualKeyF5 215 case C.AKEYCODE_F6: 216 return events.VirtualKeyF6 217 case C.AKEYCODE_F7: 218 return events.VirtualKeyF7 219 case C.AKEYCODE_F8: 220 return events.VirtualKeyF8 221 case C.AKEYCODE_F9: 222 return events.VirtualKeyF9 223 case C.AKEYCODE_F10: 224 return events.VirtualKeyF10 225 case C.AKEYCODE_F11: 226 return events.VirtualKeyF11 227 case C.AKEYCODE_F12: 228 return events.VirtualKeyF12 229 // case 0: 230 // return events.VirtualKeyF13 231 // case 0: 232 // return events.VirtualKeyF14 233 // case 0: 234 // return events.VirtualKeyF15 235 // case 0: 236 // return events.VirtualKeyF16 237 // case 0: 238 // return events.VirtualKeyF17 239 // case 0: 240 // return events.VirtualKeyF18 241 // case 0: 242 // return events.VirtualKeyF19 243 // case 0: 244 // return events.VirtualKeyF20 245 // case 0: 246 // return events.VirtualKeyF21 247 // case 0: 248 // return events.VirtualKeyF22 249 // case 0: 250 // return events.VirtualKeyF23 251 // case 0: 252 // return events.VirtualKeyF24 253 case C.AKEYCODE_NUM_LOCK: 254 return events.VirtualKeyNumLock 255 case C.AKEYCODE_SCROLL_LOCK: 256 return events.VirtualKeyScrollLock 257 case C.AKEYCODE_MINUS: 258 return events.VirtualKeyHyphenMinus 259 case C.AKEYCODE_VOLUME_MUTE: 260 return events.VirtualKeyVolumeMute 261 case C.AKEYCODE_VOLUME_DOWN: 262 return events.VirtualKeyVolumeDown 263 case C.AKEYCODE_VOLUME_UP: 264 return events.VirtualKeyVolumeUp 265 case C.AKEYCODE_COMMA: 266 return events.VirtualKeyComma 267 case C.AKEYCODE_PERIOD: 268 return events.VirtualKeyPeriod 269 case C.AKEYCODE_SLASH: 270 return events.VirtualKeySlash 271 case C.AKEYCODE_GRAVE: 272 return events.VirtualKeyBackQuote 273 case C.AKEYCODE_LEFT_BRACKET: 274 return events.VirtualKeyOpenBracket 275 case C.AKEYCODE_BACKSLASH: 276 return events.VirtualKeyBackSlash 277 case C.AKEYCODE_RIGHT_BRACKET: 278 return events.VirtualKeyCloseBracket 279 case C.AKEYCODE_APOSTROPHE: 280 return events.VirtualKeyQuote 281 // case 0: 282 // return events.VirtualKeyAltgr 283 } 284 285 return events.VirtualKey(k) 286 }