aboutsummaryrefslogtreecommitdiff
path: root/core/sys
diff options
context:
space:
mode:
authorVincent Billet <billet.vincent@free.fr>2025-04-29 18:00:41 +0200
committerVincent Billet <billet.vincent@free.fr>2025-04-29 18:00:41 +0200
commitd24bac8a36f31c59b08450d3ed0da108d0860b24 (patch)
tree59514f27885b6d42bdd2ab8bf8c6a7a166aa1d2f /core/sys
parent7c294a6e557321afa51b5ec96bcba7f11828afda (diff)
Adding windows keyboard scan codes
Diffstat (limited to 'core/sys')
-rw-r--r--core/sys/windows/scan_codes.odin172
1 files changed, 172 insertions, 0 deletions
diff --git a/core/sys/windows/scan_codes.odin b/core/sys/windows/scan_codes.odin
new file mode 100644
index 000000000..54949c2f6
--- /dev/null
+++ b/core/sys/windows/scan_codes.odin
@@ -0,0 +1,172 @@
+#+build windows
+package sys_windows
+
+// Win32 scan codes for QWERTY layout
+// https://learn.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input#scan-codes
+
+KB_SYS_POWERDOWN :: 0xE05E
+KB_SYS_SLEEP :: 0xE05F
+KB_SYS_WAKEUP :: 0xE063
+KB_ERR_ROLLOVER :: 0x00FF
+
+KB_A :: 0x001E
+KB_B :: 0x0030
+KB_C :: 0x002E
+KB_D :: 0x0020
+KB_E :: 0x0012
+KB_F :: 0x0021
+KB_G :: 0x0022
+KB_H :: 0x0023
+KB_I :: 0x0017
+KB_J :: 0x0024
+KB_K :: 0x0025
+KB_L :: 0x0026
+KB_M :: 0x0032
+KB_N :: 0x0031
+KB_O :: 0x0018
+KB_P :: 0x0019
+KB_Q :: 0x0010
+KB_R :: 0x0013
+KB_S :: 0x001F
+KB_T :: 0x0014
+KB_U :: 0x0016
+KB_V :: 0x002F
+KB_W :: 0x0011
+KB_X :: 0x002D
+KB_Y :: 0x0015
+KB_Z :: 0x002C
+
+KB_1_BANG :: 0x0002
+KB_2_AT :: 0x0003
+KB_3_HASH :: 0x0004
+KB_4_DOLLAR :: 0x0005
+KB_5_PERCENT :: 0x0006
+KB_6_CARET :: 0x0007
+KB_7_AMPERSAND :: 0x0008
+KB_8_STAR :: 0x0009
+KB_9_LEFTBRACKET :: 0x000A
+KB_0_RIGHTBRACKET :: 0x000B
+
+KB_RETURN_ENTER :: 0x001C
+KB_ESCAPE :: 0x0001
+KB_DELETE :: 0x000E
+KB_TAB :: 0x000F
+KB_SPACEBAR :: 0x0039
+KB_DASH_UNDERSCORE :: 0x000C
+KB_EQUALS_PLUS :: 0x000D
+KB_LEFTBRACE :: 0x001A
+KB_RIGHTBRACE :: 0x001B
+KB_PIPE_SLASH :: 0x002B
+KB_NONUS :: 0x002B
+KB_SEMICOLON_COLON :: 0x0027
+KB_APOSTR_DOUBLEQUOT :: 0x0028
+KB_GRAVEACC_TILDE :: 0x0029
+KB_COMMA :: 0x0033
+KB_PERIOD :: 0x0034
+KB_QUESTIONMARK :: 0x0035
+KB_CAPSLOCK :: 0x003A
+
+KB_F1 :: 0x003B
+KB_F2 :: 0x003C
+KB_F3 :: 0x003D
+KB_F4 :: 0x003E
+KB_F5 :: 0x003F
+KB_F6 :: 0x0040
+KB_F7 :: 0x0041
+KB_F8 :: 0x0042
+KB_F9 :: 0x0043
+KB_F10 :: 0x0044
+KB_F11 :: 0x0057
+KB_F12 :: 0x0058
+
+KB_PRINTSCREEN :: 0xE037
+KB_SCROLLLOCK :: 0x0046
+KB_PAUSE :: 0xE11D45
+KB_INSERT :: 0xE052
+KB_HOME :: 0xE047
+KB_PAGEUP :: 0xE049
+KB_DELETEFORWARD :: 0xE053
+KB_END :: 0xE04F
+KB_PAGEDOWN :: 0xE051
+KB_RIGHTARROW :: 0xE04D
+KB_LEFTARROW :: 0xE04B
+KB_DOWNARROW :: 0xE050
+KB_UPARROW :: 0xE048
+
+KP_NUMLOCK_CLEAR :: 0x0045
+KP_FORWARDSLASH :: 0xE035
+KP_STAR :: 0x0037
+KP_DASH :: 0x004A
+KP_PLUS :: 0x004E
+KP_ENTER :: 0xE01C
+KP_1_END :: 0x004F
+KP_2_DOWNARROW :: 0x0050
+KP_3_PAGEDN :: 0x0051
+KP_4_LEFTARROW :: 0x004B
+KP_5 :: 0x004C
+KP_6_RIGHTARROW :: 0x004D
+KP_7_HOME :: 0x0047
+KP_8_UPARROW :: 0x0048
+KP_9_PAGEUP :: 0x0049
+KP_0_INSERT :: 0x0052
+KP_PERIOD :: 0x0053
+
+KB_NONUS_SLASHBAR :: 0x0056
+KB_APPLICATION :: 0xE05D
+KB_POWER :: 0xE05E
+KB_EQUALS :: 0x0059
+KB_F13 :: 0x0064
+KB_F14 :: 0x0065
+KB_F15 :: 0x0066
+KB_F16 :: 0x0067
+KB_F17 :: 0x0068
+KB_F18 :: 0x0069
+KB_F19 :: 0x006A
+KB_F20 :: 0x006B
+KB_F21 :: 0x006C
+KB_F22 :: 0x006D
+KB_F23 :: 0x006E
+KB_F24 :: 0x0076
+
+KP_COMMA :: 0x007E
+
+KB_INTERNATIONAL1 :: 0x0073
+KB_INTERNATIONAL2 :: 0x0070
+KB_INTERNATIONAL3 :: 0x007D
+KB_INTERNATIONAL4 :: 0x0079
+KB_INTERNATIONAL5 :: 0x007B
+KB_INTERNATIONAL6 :: 0x005C
+
+KB_LANG1 :: 0x0072
+KB_LANG2 :: 0x0071
+KB_LANG3 :: 0x0078
+KB_LANG4 :: 0x0077
+KB_LANG5 :: 0x0076
+
+KB_LEFTCONTROL :: 0x001D
+KB_LEFTSHIFT :: 0x002A
+KB_LEFTALT :: 0x0038
+KB_LEFTGUI :: 0xE05B
+KB_RIGHTCONTROL :: 0xE01D
+KB_RIGHTSHIFT :: 0x0036
+KB_RIGHTALT :: 0xE038
+KB_RIGHTGUI :: 0xE05C
+
+FN_SCANNEXTTRACK :: 0xE019
+FN_SCANPREVTRACK :: 0xE010
+FN_STOP :: 0xE024
+FN_PLAY_PAUSE :: 0xE022
+FN_MUTE :: 0xE020
+FN_VOLUMEINC :: 0xE030
+FN_VOLUMEDEC :: 0xE02E
+FN_AL_CONSUMERCTRLCONFIG :: 0xE06D
+FN_AL_EMAILREADER :: 0xE06C
+FN_AL_CALCULATOR :: 0xE021
+FN_AL_LOCALMACHINEBROWSER :: 0xE06B
+FN_AC_SEARCH :: 0xE065
+FN_AC_HOME :: 0xE032
+FN_AC_BACK :: 0xE06A
+FN_AC_FORWARD :: 0xE069
+FN_AC_STOP :: 0xE068
+FN_AC_REFRESH :: 0xE067
+FN_AC_BOOKMARKS :: 0xE066