Last active
April 29, 2018 12:28
-
-
Save yuji314159/bdbf821ec2351ac07accd9ac39c34405 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define __WAIT 0xf1 | |
#define __EXT 0xe0 | |
#define __MAKE(code) code | |
#define __BREAK(code) 0xf0, code | |
#define __TYPE(code) __MAKE(code), __BREAK(code), __WAIT | |
#define __TYPE_EXT(code) __EXT, __MAKE(code), __EXT, __BREAK(code), __WAIT | |
#define __SCANCODE_SHIFT 0x12 | |
#define __SCANCODE_CTRL 0x14 | |
#define __SCANCODE_ALT 0x11 | |
#define __SCANCODE_WIN 0xe0, 0x1f | |
#define __SCANCODE_COMMAND __SCANCODE_WIN | |
#define __SHIFT(...) __MAKE(__SCANCODE_SHIFT), __VA_ARGS__, __BREAK(__SCANCODE_SHIFT) | |
#define __CTRL(...) __MAKE(__SCANCODE_CTRL), __VA_ARGS__, __BREAK(__SCANCODE_CTRL) | |
#define __CONTROL(...) __CTRL(__VA_ARGS__) | |
#define __ALT(...) __MAKE(__SCANCODE_ALT), __VA_ARGS__, __BREAK(__SCANCODE_ALT) | |
#define __WIN(...) __MAKE(__SCANCODE_WIN), __VA_ARGS__, __BREAK(__SCANCODE_WIN) | |
#define __COMMAND(...) __WIN(__VA_ARGS__) | |
#define __BACKSPACE __TYPE(0x66) | |
#define __RETURN __TYPE(0x5a) | |
#define __ENTER __RETURN | |
#define __SPACE __TYPE(0x29) | |
#define __ESCAPE __TYPE(0x76) | |
#define __TAB __TYPE(0x0d) | |
#define __CAPSLOCK __TYPE(0x58) | |
#define __UP __TYPE_EXT(0x75) | |
#define __DOWN __TYPE_EXT(0x72) | |
#define __LEFT __TYPE_EXT(0x6b) | |
#define __RIGHT __TYPE_EXT(0x74) | |
#define __PAGEUP __TYPE_EXT(0x7d) | |
#define __PAGEDOWN __TYPE_EXT(0x7a) | |
#define __HOME __TYPE_EXT(0x6c) | |
#define __END __TYPE_EXT(0x69) | |
#define __DELETE __TYPE_EXT(0x71) | |
#define __INSERT __TYPE_EXT(0x70) | |
// #define __PRINTSCREEN __TYPE_EXT(0x) | |
// #define __PAUSE __TYPE_EXT(0x) | |
#define __SCROLLLOCK __TYPE_(0x7e) | |
#define __F1 __TYPE(0x05) | |
#define __F2 __TYPE(0x06) | |
#define __F3 __TYPE(0x04) | |
#define __F4 __TYPE(0x0c) | |
#define __F5 __TYPE(0x03) | |
#define __F6 __TYPE(0x0b) | |
#define __F7 __TYPE(0x83) | |
#define __F8 __TYPE(0x0a) | |
#define __F9 __TYPE(0x01) | |
#define __F10 __TYPE(0x09) | |
#define __F11 __TYPE(0x78) | |
#define __F12 __TYPE(0x07) | |
#define __1 __TYPE(0x16) | |
#define __2 __TYPE(0x1E) | |
#define __3 __TYPE(0x26) | |
#define __4 __TYPE(0x25) | |
#define __5 __TYPE(0x2E) | |
#define __6 __TYPE(0x36) | |
#define __7 __TYPE(0x3D) | |
#define __8 __TYPE(0x3E) | |
#define __9 __TYPE(0x46) | |
#define __0 __TYPE(0x45) | |
#define __a __TYPE(0x1C) | |
#define __b __TYPE(0x32) | |
#define __c __TYPE(0x21) | |
#define __d __TYPE(0x23) | |
#define __e __TYPE(0x24) | |
#define __f __TYPE(0x2B) | |
#define __g __TYPE(0x34) | |
#define __h __TYPE(0x33) | |
#define __i __TYPE(0x43) | |
#define __j __TYPE(0x3B) | |
#define __k __TYPE(0x42) | |
#define __l __TYPE(0x4B) | |
#define __m __TYPE(0x3A) | |
#define __n __TYPE(0x31) | |
#define __o __TYPE(0x44) | |
#define __p __TYPE(0x4D) | |
#define __q __TYPE(0x15) | |
#define __r __TYPE(0x2D) | |
#define __s __TYPE(0x1B) | |
#define __t __TYPE(0x2C) | |
#define __u __TYPE(0x3C) | |
#define __v __TYPE(0x2A) | |
#define __w __TYPE(0x1D) | |
#define __x __TYPE(0x22) | |
#define __y __TYPE(0x35) | |
#define __z __TYPE(0x1A) | |
#define __A __SHIFT(__a) | |
#define __B __SHIFT(__b) | |
#define __C __SHIFT(__c) | |
#define __D __SHIFT(__d) | |
#define __E __SHIFT(__e) | |
#define __F __SHIFT(__f) | |
#define __G __SHIFT(__g) | |
#define __H __SHIFT(__h) | |
#define __I __SHIFT(__i) | |
#define __J __SHIFT(__j) | |
#define __K __SHIFT(__k) | |
#define __L __SHIFT(__l) | |
#define __M __SHIFT(__m) | |
#define __N __SHIFT(__n) | |
#define __O __SHIFT(__o) | |
#define __P __SHIFT(__p) | |
#define __Q __SHIFT(__q) | |
#define __R __SHIFT(__r) | |
#define __S __SHIFT(__s) | |
#define __T __SHIFT(__t) | |
#define __U __SHIFT(__u) | |
#define __V __SHIFT(__v) | |
#define __W __SHIFT(__w) | |
#define __X __SHIFT(__x) | |
#define __Y __SHIFT(__y) | |
#define __Z __SHIFT(__z) | |
#define __MINUS __TYPE(0x4e) | |
#define __CARET __TYPE(0x55) | |
#define __BACKSLASH __TYPE(0x6a) | |
#define __AT __TYPE(0x54) | |
#define __LEFTBRACKET __TYPE(0x5b) | |
#define __SEMICOLON __TYPE(0x4c) | |
#define __COLON __TYPE(0x52) | |
#define __RIGHTBRACKET __TYPE(0x5d) | |
#define __COMMA __TYPE(0x41) | |
#define __PERIOD __TYPE(0x49) | |
#define __SLASH __TYPE(0x4a) | |
#define __UNDERSCORE __TYPE(0x51) | |
#define __EXCLAIM __SHIFT(__1) | |
#define __QUOTEDBL __SHIFT(__2) | |
#define __HASH __SHIFT(__3) | |
#define __DOLLAR __SHIFT(__4) | |
#define __PERCENT __SHIFT(__5) | |
#define __AMPERSAND __SHIFT(__6) | |
#define __QUOTE __SHIFT(__7) | |
#define __LEFTPAREN __SHIFT(__8) | |
#define __RIGHTPAREN __SHIFT(__9) | |
#define __EQUALS __SHIFT(__MINUS) | |
#define __TILDE __SHIFT(__CARET) | |
#define __VERTICALBAR __SHIFT(__BACKSLASH) | |
#define __BACKQUOTE __SHIFT(__AT) | |
#define __LEFTBRACE __SHIFT(__LEFTBRACKET) | |
#define __PLUS __SHIFT(__SEMICOLON) | |
#define __ASTERISK __SHIFT(__COLON) | |
#define __RIGHTBRACE __SHIFT(__RIGHTBRACKET) | |
#define __LESS __SHIFT(__COMMA) | |
#define __GREATER __SHIFT(__PERIOD) | |
#define __QUESTION __SHIFT(__SLASH) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment