mirror of
https://codeberg.org/virtualxt/virtualxt.git
synced 2026-10-20 14:14:45 +00:00
267 lines
9.8 KiB
C
267 lines
9.8 KiB
C
// Copyright (c) 2019-2026 Andreas T Jonsson <mail@andreasjonsson.se>
|
|
//
|
|
// This software is provided 'as-is', without any express or implied
|
|
// warranty. In no event will the authors be held liable for any damages
|
|
// arising from the use of this software.
|
|
//
|
|
// Permission is granted to anyone to use this software for any purpose,
|
|
// including commercial applications, and to alter it and redistribute it
|
|
// freely, subject to the following restrictions:
|
|
//
|
|
// 1. The origin of this software must not be misrepresented; you must not
|
|
// claim that you wrote the original software. If you use this software
|
|
// in a product, an acknowledgment in the product documentation would be
|
|
// appreciated but is not required.
|
|
//
|
|
// 2. Altered source versions must be plainly marked as such, and must not be
|
|
// misrepresented as being the original software.
|
|
//
|
|
// 3. This notice may not be removed or altered from any source
|
|
// distribution.
|
|
|
|
#ifndef _KEYMAP_H_
|
|
#define _KEYMAP_H_
|
|
|
|
#include <circle/types.h>
|
|
#include <libretro.h>
|
|
|
|
// USB HID scancode → libretro RETROK_* keycode.
|
|
// RETROK_UNKNOWN (0) means unmapped.
|
|
static const unsigned usbToRetroK[256] = {
|
|
RETROK_UNKNOWN, // 0x00
|
|
RETROK_UNKNOWN, // 0x01
|
|
RETROK_UNKNOWN, // 0x02
|
|
RETROK_UNKNOWN, // 0x03
|
|
RETROK_a, // 0x04 A
|
|
RETROK_b, // 0x05 B
|
|
RETROK_c, // 0x06 C
|
|
RETROK_d, // 0x07 D
|
|
RETROK_e, // 0x08 E
|
|
RETROK_f, // 0x09 F
|
|
RETROK_g, // 0x0A G
|
|
RETROK_h, // 0x0B H
|
|
RETROK_i, // 0x0C I
|
|
RETROK_j, // 0x0D J
|
|
RETROK_k, // 0x0E K
|
|
RETROK_l, // 0x0F L
|
|
RETROK_m, // 0x10 M
|
|
RETROK_n, // 0x11 N
|
|
RETROK_o, // 0x12 O
|
|
RETROK_p, // 0x13 P
|
|
RETROK_q, // 0x14 Q
|
|
RETROK_r, // 0x15 R
|
|
RETROK_s, // 0x16 S
|
|
RETROK_t, // 0x17 T
|
|
RETROK_u, // 0x18 U
|
|
RETROK_v, // 0x19 V
|
|
RETROK_w, // 0x1A W
|
|
RETROK_x, // 0x1B X
|
|
RETROK_y, // 0x1C Y
|
|
RETROK_z, // 0x1D Z
|
|
RETROK_1, // 0x1E 1
|
|
RETROK_2, // 0x1F 2
|
|
RETROK_3, // 0x20 3
|
|
RETROK_4, // 0x21 4
|
|
RETROK_5, // 0x22 5
|
|
RETROK_6, // 0x23 6
|
|
RETROK_7, // 0x24 7
|
|
RETROK_8, // 0x25 8
|
|
RETROK_9, // 0x26 9
|
|
RETROK_0, // 0x27 0
|
|
RETROK_RETURN, // 0x28 Enter
|
|
RETROK_ESCAPE, // 0x29 Escape
|
|
RETROK_BACKSPACE, // 0x2A Backspace
|
|
RETROK_TAB, // 0x2B Tab
|
|
RETROK_SPACE, // 0x2C Space
|
|
RETROK_MINUS, // 0x2D Minus
|
|
RETROK_EQUALS, // 0x2E Equal
|
|
RETROK_LEFTBRACKET, // 0x2F [
|
|
RETROK_RIGHTBRACKET, // 0x30 ]
|
|
RETROK_BACKSLASH, // 0x31 Backslash
|
|
RETROK_UNKNOWN, // 0x32
|
|
RETROK_SEMICOLON, // 0x33 Semicolon
|
|
RETROK_QUOTE, // 0x34 Quote
|
|
RETROK_BACKQUOTE, // 0x35 Backquote
|
|
RETROK_COMMA, // 0x36 Comma
|
|
RETROK_PERIOD, // 0x37 Period
|
|
RETROK_SLASH, // 0x38 Slash
|
|
RETROK_CAPSLOCK, // 0x39 CapsLock
|
|
RETROK_F1, // 0x3A F1
|
|
RETROK_F2, // 0x3B F2
|
|
RETROK_F3, // 0x3C F3
|
|
RETROK_F4, // 0x3D F4
|
|
RETROK_F5, // 0x3E F5
|
|
RETROK_F6, // 0x3F F6
|
|
RETROK_F7, // 0x40 F7
|
|
RETROK_F8, // 0x41 F8
|
|
RETROK_F9, // 0x42 F9
|
|
RETROK_F10, // 0x43 F10
|
|
RETROK_F11, // 0x44 F11
|
|
RETROK_F12, // 0x45 F12
|
|
RETROK_PRINT, // 0x46 PrintScreen
|
|
RETROK_SCROLLOCK, // 0x47 ScrollLock
|
|
RETROK_PAUSE, // 0x48 Pause
|
|
RETROK_INSERT, // 0x49 Insert
|
|
RETROK_HOME, // 0x4A Home
|
|
RETROK_PAGEUP, // 0x4B PageUp
|
|
RETROK_DELETE, // 0x4C Delete
|
|
RETROK_END, // 0x4D End
|
|
RETROK_PAGEDOWN, // 0x4E PageDown
|
|
RETROK_RIGHT, // 0x4F Right
|
|
RETROK_LEFT, // 0x50 Left
|
|
RETROK_DOWN, // 0x51 Down
|
|
RETROK_UP, // 0x52 Up
|
|
RETROK_NUMLOCK, // 0x53 NumLock
|
|
RETROK_KP_DIVIDE, // 0x54 Numpad /
|
|
RETROK_KP_MULTIPLY, // 0x55 Numpad *
|
|
RETROK_KP_MINUS, // 0x56 Numpad -
|
|
RETROK_KP_PLUS, // 0x57 Numpad +
|
|
RETROK_KP_ENTER, // 0x58 Numpad Enter
|
|
RETROK_KP1, // 0x59 Numpad 1 / End
|
|
RETROK_KP2, // 0x5A Numpad 2 / Down
|
|
RETROK_KP3, // 0x5B Numpad 3 / PageDown
|
|
RETROK_KP4, // 0x5C Numpad 4 / Left
|
|
RETROK_KP5, // 0x5D Numpad 5
|
|
RETROK_KP6, // 0x5E Numpad 6 / Right
|
|
RETROK_KP7, // 0x5F Numpad 7 / Home
|
|
RETROK_KP8, // 0x60 Numpad 8 / Up
|
|
RETROK_KP9, // 0x61 Numpad 9 / PageUp
|
|
RETROK_KP0, // 0x62 Numpad 0 / Insert
|
|
RETROK_KP_PERIOD, // 0x63 Numpad . / Delete
|
|
RETROK_UNKNOWN, // 0x64 IntlBackslash
|
|
RETROK_UNKNOWN, // 0x65 ContextMenu
|
|
RETROK_UNKNOWN, // 0x66 Power
|
|
RETROK_UNKNOWN, // 0x67 Numpad =
|
|
RETROK_UNKNOWN, // 0x68 F13
|
|
RETROK_UNKNOWN, // 0x69 F14
|
|
RETROK_UNKNOWN, // 0x6A F15
|
|
RETROK_UNKNOWN, // 0x6B F16
|
|
RETROK_UNKNOWN, // 0x6C F17
|
|
RETROK_UNKNOWN, // 0x6D F18
|
|
RETROK_UNKNOWN, // 0x6E F19
|
|
RETROK_UNKNOWN, // 0x6F F20
|
|
RETROK_UNKNOWN, // 0x70 F21
|
|
RETROK_UNKNOWN, // 0x71 F22
|
|
RETROK_UNKNOWN, // 0x72 F23
|
|
RETROK_UNKNOWN, // 0x73 F24
|
|
RETROK_UNKNOWN, // 0x74 Open
|
|
RETROK_UNKNOWN, // 0x75 Help
|
|
RETROK_UNKNOWN, // 0x76
|
|
RETROK_UNKNOWN, // 0x77 Select
|
|
RETROK_UNKNOWN, // 0x78
|
|
RETROK_UNKNOWN, // 0x79 Again
|
|
RETROK_UNKNOWN, // 0x7A Undo
|
|
RETROK_UNKNOWN, // 0x7B Cut
|
|
RETROK_UNKNOWN, // 0x7C Copy
|
|
RETROK_UNKNOWN, // 0x7D Paste
|
|
RETROK_UNKNOWN, // 0x7E Find
|
|
RETROK_UNKNOWN, // 0x7F VolumeMute
|
|
RETROK_UNKNOWN, // 0x80 VolumeUp
|
|
RETROK_UNKNOWN, // 0x81 VolumeDown
|
|
RETROK_UNKNOWN, // 0x82
|
|
RETROK_UNKNOWN, // 0x83
|
|
RETROK_UNKNOWN, // 0x84
|
|
RETROK_UNKNOWN, // 0x85 NumpadComma
|
|
RETROK_UNKNOWN, // 0x86
|
|
RETROK_UNKNOWN, // 0x87 IntlRo
|
|
RETROK_UNKNOWN, // 0x88 KanaMode
|
|
RETROK_UNKNOWN, // 0x89 IntlYen
|
|
RETROK_UNKNOWN, // 0x8A Convert
|
|
RETROK_UNKNOWN, // 0x8B NonConvert
|
|
RETROK_UNKNOWN, // 0x8C
|
|
RETROK_UNKNOWN, // 0x8D
|
|
RETROK_UNKNOWN, // 0x8E
|
|
RETROK_UNKNOWN, // 0x8F
|
|
RETROK_UNKNOWN, // 0x90 Lang1
|
|
RETROK_UNKNOWN, // 0x91 Lang2
|
|
RETROK_UNKNOWN, // 0x92 Lang3
|
|
RETROK_UNKNOWN, // 0x93 Lang4
|
|
RETROK_UNKNOWN, // 0x94 Lang5
|
|
RETROK_UNKNOWN, // 0x95
|
|
RETROK_UNKNOWN, // 0x96
|
|
RETROK_UNKNOWN, // 0x97
|
|
RETROK_UNKNOWN, // 0x98
|
|
RETROK_UNKNOWN, // 0x99
|
|
RETROK_UNKNOWN, // 0x9A
|
|
RETROK_UNKNOWN, // 0x9B Abort
|
|
RETROK_UNKNOWN, // 0x9C
|
|
RETROK_UNKNOWN, // 0x9D
|
|
RETROK_UNKNOWN, // 0x9E
|
|
RETROK_UNKNOWN, // 0x9F
|
|
RETROK_UNKNOWN, // 0xA0
|
|
RETROK_UNKNOWN, // 0xA1
|
|
RETROK_UNKNOWN, // 0xA2
|
|
RETROK_UNKNOWN, // 0xA3 Props
|
|
RETROK_UNKNOWN, // 0xA4
|
|
RETROK_UNKNOWN, // 0xA5
|
|
RETROK_UNKNOWN, // 0xA6
|
|
RETROK_UNKNOWN, // 0xA7
|
|
RETROK_UNKNOWN, // 0xA8
|
|
RETROK_UNKNOWN, // 0xA9
|
|
RETROK_UNKNOWN, // 0xAA
|
|
RETROK_UNKNOWN, // 0xAB
|
|
RETROK_UNKNOWN, // 0xAC
|
|
RETROK_UNKNOWN, // 0xAD
|
|
RETROK_UNKNOWN, // 0xAE
|
|
RETROK_UNKNOWN, // 0xAF
|
|
RETROK_UNKNOWN, // 0xB0
|
|
RETROK_UNKNOWN, // 0xB1
|
|
RETROK_UNKNOWN, // 0xB2
|
|
RETROK_UNKNOWN, // 0xB3
|
|
RETROK_UNKNOWN, // 0xB4
|
|
RETROK_UNKNOWN, // 0xB5
|
|
RETROK_UNKNOWN, // 0xB6 NumpadParenLeft
|
|
RETROK_UNKNOWN, // 0xB7 NumpadParenRight
|
|
RETROK_UNKNOWN, // 0xB8
|
|
RETROK_UNKNOWN, // 0xB9
|
|
RETROK_UNKNOWN, // 0xBA
|
|
RETROK_UNKNOWN, // 0xBB NumpadBackspace
|
|
RETROK_UNKNOWN, // 0xBC
|
|
RETROK_UNKNOWN, // 0xBD
|
|
RETROK_UNKNOWN, // 0xBE
|
|
RETROK_UNKNOWN, // 0xBF
|
|
RETROK_UNKNOWN, // 0xC0
|
|
RETROK_UNKNOWN, // 0xC1
|
|
RETROK_UNKNOWN, // 0xC2
|
|
RETROK_UNKNOWN, // 0xC3
|
|
RETROK_UNKNOWN, // 0xC4
|
|
RETROK_UNKNOWN, // 0xC5
|
|
RETROK_UNKNOWN, // 0xC6
|
|
RETROK_UNKNOWN, // 0xC7
|
|
RETROK_UNKNOWN, // 0xC8
|
|
RETROK_UNKNOWN, // 0xC9
|
|
RETROK_UNKNOWN, // 0xCA
|
|
RETROK_UNKNOWN, // 0xCB
|
|
RETROK_UNKNOWN, // 0xCC
|
|
RETROK_UNKNOWN, // 0xCD
|
|
RETROK_UNKNOWN, // 0xCE
|
|
RETROK_UNKNOWN, // 0xCF
|
|
RETROK_UNKNOWN, // 0xD0 NumpadMemoryStore
|
|
RETROK_UNKNOWN, // 0xD1 NumpadMemoryRecall
|
|
RETROK_UNKNOWN, // 0xD2 NumpadMemoryClear
|
|
RETROK_UNKNOWN, // 0xD3 NumpadMemoryAdd
|
|
RETROK_UNKNOWN, // 0xD4 NumpadMemorySubtract
|
|
RETROK_UNKNOWN, // 0xD5
|
|
RETROK_UNKNOWN, // 0xD6
|
|
RETROK_UNKNOWN, // 0xD7
|
|
RETROK_UNKNOWN, // 0xD8 NumpadClear
|
|
RETROK_UNKNOWN, // 0xD9 NumpadClearEntry
|
|
RETROK_UNKNOWN, // 0xDA
|
|
RETROK_UNKNOWN, // 0xDB
|
|
RETROK_UNKNOWN, // 0xDC
|
|
RETROK_UNKNOWN, // 0xDD
|
|
RETROK_UNKNOWN, // 0xDE
|
|
RETROK_UNKNOWN, // 0xDF
|
|
RETROK_LCTRL, // 0xE0 LeftCtrl
|
|
RETROK_LSHIFT, // 0xE1 LeftShift
|
|
RETROK_LALT, // 0xE2 LeftAlt
|
|
RETROK_UNKNOWN, // 0xE3 LeftOS
|
|
RETROK_RCTRL, // 0xE4 RightCtrl
|
|
RETROK_RSHIFT, // 0xE5 RightShift
|
|
RETROK_RALT, // 0xE6 RightAlt
|
|
RETROK_UNKNOWN, // 0xE7 RightOS
|
|
// 0xE8 - 0xFF reserved
|
|
};
|
|
|
|
#endif
|