UNPKG

node-sdl2

Version:
314 lines (310 loc) 8.83 kB
var FFI = require('ffi') var ArrayType = require('ref-array') var Struct = require('ref-struct') var Union = require('ref-union'); var ref = require('ref') var SDL_keycode_lib = require('./SDL_keycode') var SDL_stdinc_lib = require('./SDL_stdinc') var SDL_video_lib = require('./SDL_video') var SDL_rect_lib = require('./SDL_rect') var SDL_Scancode = exports.SDL_Scancode = { SDL_SCANCODE_UNKNOWN: 0, SDL_SCANCODE_A: 4, SDL_SCANCODE_B: 5, SDL_SCANCODE_C: 6, SDL_SCANCODE_D: 7, SDL_SCANCODE_E: 8, SDL_SCANCODE_F: 9, SDL_SCANCODE_G: 10, SDL_SCANCODE_H: 11, SDL_SCANCODE_I: 12, SDL_SCANCODE_J: 13, SDL_SCANCODE_K: 14, SDL_SCANCODE_L: 15, SDL_SCANCODE_M: 16, SDL_SCANCODE_N: 17, SDL_SCANCODE_O: 18, SDL_SCANCODE_P: 19, SDL_SCANCODE_Q: 20, SDL_SCANCODE_R: 21, SDL_SCANCODE_S: 22, SDL_SCANCODE_T: 23, SDL_SCANCODE_U: 24, SDL_SCANCODE_V: 25, SDL_SCANCODE_W: 26, SDL_SCANCODE_X: 27, SDL_SCANCODE_Y: 28, SDL_SCANCODE_Z: 29, SDL_SCANCODE_1: 30, SDL_SCANCODE_2: 31, SDL_SCANCODE_3: 32, SDL_SCANCODE_4: 33, SDL_SCANCODE_5: 34, SDL_SCANCODE_6: 35, SDL_SCANCODE_7: 36, SDL_SCANCODE_8: 37, SDL_SCANCODE_9: 38, SDL_SCANCODE_0: 39, SDL_SCANCODE_RETURN: 40, SDL_SCANCODE_ESCAPE: 41, SDL_SCANCODE_BACKSPACE: 42, SDL_SCANCODE_TAB: 43, SDL_SCANCODE_SPACE: 44, SDL_SCANCODE_MINUS: 45, SDL_SCANCODE_EQUALS: 46, SDL_SCANCODE_LEFTBRACKET: 47, SDL_SCANCODE_RIGHTBRACKET: 48, SDL_SCANCODE_BACKSLASH: 49, SDL_SCANCODE_NONUSHASH: 50, SDL_SCANCODE_SEMICOLON: 51, SDL_SCANCODE_APOSTROPHE: 52, SDL_SCANCODE_GRAVE: 53, SDL_SCANCODE_COMMA: 54, SDL_SCANCODE_PERIOD: 55, SDL_SCANCODE_SLASH: 56, SDL_SCANCODE_CAPSLOCK: 57, SDL_SCANCODE_F1: 58, SDL_SCANCODE_F2: 59, SDL_SCANCODE_F3: 60, SDL_SCANCODE_F4: 61, SDL_SCANCODE_F5: 62, SDL_SCANCODE_F6: 63, SDL_SCANCODE_F7: 64, SDL_SCANCODE_F8: 65, SDL_SCANCODE_F9: 66, SDL_SCANCODE_F10: 67, SDL_SCANCODE_F11: 68, SDL_SCANCODE_F12: 69, SDL_SCANCODE_PRINTSCREEN: 70, SDL_SCANCODE_SCROLLLOCK: 71, SDL_SCANCODE_PAUSE: 72, SDL_SCANCODE_INSERT: 73, SDL_SCANCODE_HOME: 74, SDL_SCANCODE_PAGEUP: 75, SDL_SCANCODE_DELETE: 76, SDL_SCANCODE_END: 77, SDL_SCANCODE_PAGEDOWN: 78, SDL_SCANCODE_RIGHT: 79, SDL_SCANCODE_LEFT: 80, SDL_SCANCODE_DOWN: 81, SDL_SCANCODE_UP: 82, SDL_SCANCODE_NUMLOCKCLEAR: 83, SDL_SCANCODE_KP_DIVIDE: 84, SDL_SCANCODE_KP_MULTIPLY: 85, SDL_SCANCODE_KP_MINUS: 86, SDL_SCANCODE_KP_PLUS: 87, SDL_SCANCODE_KP_ENTER: 88, SDL_SCANCODE_KP_1: 89, SDL_SCANCODE_KP_2: 90, SDL_SCANCODE_KP_3: 91, SDL_SCANCODE_KP_4: 92, SDL_SCANCODE_KP_5: 93, SDL_SCANCODE_KP_6: 94, SDL_SCANCODE_KP_7: 95, SDL_SCANCODE_KP_8: 96, SDL_SCANCODE_KP_9: 97, SDL_SCANCODE_KP_0: 98, SDL_SCANCODE_KP_PERIOD: 99, SDL_SCANCODE_NONUSBACKSLASH: 100, SDL_SCANCODE_APPLICATION: 101, SDL_SCANCODE_POWER: 102, SDL_SCANCODE_KP_EQUALS: 103, SDL_SCANCODE_F13: 104, SDL_SCANCODE_F14: 105, SDL_SCANCODE_F15: 106, SDL_SCANCODE_F16: 107, SDL_SCANCODE_F17: 108, SDL_SCANCODE_F18: 109, SDL_SCANCODE_F19: 110, SDL_SCANCODE_F20: 111, SDL_SCANCODE_F21: 112, SDL_SCANCODE_F22: 113, SDL_SCANCODE_F23: 114, SDL_SCANCODE_F24: 115, SDL_SCANCODE_EXECUTE: 116, SDL_SCANCODE_HELP: 117, SDL_SCANCODE_MENU: 118, SDL_SCANCODE_SELECT: 119, SDL_SCANCODE_STOP: 120, SDL_SCANCODE_AGAIN: 121, SDL_SCANCODE_UNDO: 122, SDL_SCANCODE_CUT: 123, SDL_SCANCODE_COPY: 124, SDL_SCANCODE_PASTE: 125, SDL_SCANCODE_FIND: 126, SDL_SCANCODE_MUTE: 127, SDL_SCANCODE_VOLUMEUP: 128, SDL_SCANCODE_VOLUMEDOWN: 129, SDL_SCANCODE_KP_COMMA: 133, SDL_SCANCODE_KP_EQUALSAS400: 134, SDL_SCANCODE_INTERNATIONAL1: 135, SDL_SCANCODE_INTERNATIONAL2: 136, SDL_SCANCODE_INTERNATIONAL3: 137, SDL_SCANCODE_INTERNATIONAL4: 138, SDL_SCANCODE_INTERNATIONAL5: 139, SDL_SCANCODE_INTERNATIONAL6: 140, SDL_SCANCODE_INTERNATIONAL7: 141, SDL_SCANCODE_INTERNATIONAL8: 142, SDL_SCANCODE_INTERNATIONAL9: 143, SDL_SCANCODE_LANG1: 144, SDL_SCANCODE_LANG2: 145, SDL_SCANCODE_LANG3: 146, SDL_SCANCODE_LANG4: 147, SDL_SCANCODE_LANG5: 148, SDL_SCANCODE_LANG6: 149, SDL_SCANCODE_LANG7: 150, SDL_SCANCODE_LANG8: 151, SDL_SCANCODE_LANG9: 152, SDL_SCANCODE_ALTERASE: 153, SDL_SCANCODE_SYSREQ: 154, SDL_SCANCODE_CANCEL: 155, SDL_SCANCODE_CLEAR: 156, SDL_SCANCODE_PRIOR: 157, SDL_SCANCODE_RETURN2: 158, SDL_SCANCODE_SEPARATOR: 159, SDL_SCANCODE_OUT: 160, SDL_SCANCODE_OPER: 161, SDL_SCANCODE_CLEARAGAIN: 162, SDL_SCANCODE_CRSEL: 163, SDL_SCANCODE_EXSEL: 164, SDL_SCANCODE_KP_00: 176, SDL_SCANCODE_KP_000: 177, SDL_SCANCODE_THOUSANDSSEPARATOR: 178, SDL_SCANCODE_DECIMALSEPARATOR: 179, SDL_SCANCODE_CURRENCYUNIT: 180, SDL_SCANCODE_CURRENCYSUBUNIT: 181, SDL_SCANCODE_KP_LEFTPAREN: 182, SDL_SCANCODE_KP_RIGHTPAREN: 183, SDL_SCANCODE_KP_LEFTBRACE: 184, SDL_SCANCODE_KP_RIGHTBRACE: 185, SDL_SCANCODE_KP_TAB: 186, SDL_SCANCODE_KP_BACKSPACE: 187, SDL_SCANCODE_KP_A: 188, SDL_SCANCODE_KP_B: 189, SDL_SCANCODE_KP_C: 190, SDL_SCANCODE_KP_D: 191, SDL_SCANCODE_KP_E: 192, SDL_SCANCODE_KP_F: 193, SDL_SCANCODE_KP_XOR: 194, SDL_SCANCODE_KP_POWER: 195, SDL_SCANCODE_KP_PERCENT: 196, SDL_SCANCODE_KP_LESS: 197, SDL_SCANCODE_KP_GREATER: 198, SDL_SCANCODE_KP_AMPERSAND: 199, SDL_SCANCODE_KP_DBLAMPERSAND: 200, SDL_SCANCODE_KP_VERTICALBAR: 201, SDL_SCANCODE_KP_DBLVERTICALBAR: 202, SDL_SCANCODE_KP_COLON: 203, SDL_SCANCODE_KP_HASH: 204, SDL_SCANCODE_KP_SPACE: 205, SDL_SCANCODE_KP_AT: 206, SDL_SCANCODE_KP_EXCLAM: 207, SDL_SCANCODE_KP_MEMSTORE: 208, SDL_SCANCODE_KP_MEMRECALL: 209, SDL_SCANCODE_KP_MEMCLEAR: 210, SDL_SCANCODE_KP_MEMADD: 211, SDL_SCANCODE_KP_MEMSUBTRACT: 212, SDL_SCANCODE_KP_MEMMULTIPLY: 213, SDL_SCANCODE_KP_MEMDIVIDE: 214, SDL_SCANCODE_KP_PLUSMINUS: 215, SDL_SCANCODE_KP_CLEAR: 216, SDL_SCANCODE_KP_CLEARENTRY: 217, SDL_SCANCODE_KP_BINARY: 218, SDL_SCANCODE_KP_OCTAL: 219, SDL_SCANCODE_KP_DECIMAL: 220, SDL_SCANCODE_KP_HEXADECIMAL: 221, SDL_SCANCODE_LCTRL: 224, SDL_SCANCODE_LSHIFT: 225, SDL_SCANCODE_LALT: 226, SDL_SCANCODE_LGUI: 227, SDL_SCANCODE_RCTRL: 228, SDL_SCANCODE_RSHIFT: 229, SDL_SCANCODE_RALT: 230, SDL_SCANCODE_RGUI: 231, SDL_SCANCODE_MODE: 257, SDL_SCANCODE_AUDIONEXT: 258, SDL_SCANCODE_AUDIOPREV: 259, SDL_SCANCODE_AUDIOSTOP: 260, SDL_SCANCODE_AUDIOPLAY: 261, SDL_SCANCODE_AUDIOMUTE: 262, SDL_SCANCODE_MEDIASELECT: 263, SDL_SCANCODE_WWW: 264, SDL_SCANCODE_MAIL: 265, SDL_SCANCODE_CALCULATOR: 266, SDL_SCANCODE_COMPUTER: 267, SDL_SCANCODE_AC_SEARCH: 268, SDL_SCANCODE_AC_HOME: 269, SDL_SCANCODE_AC_BACK: 270, SDL_SCANCODE_AC_FORWARD: 271, SDL_SCANCODE_AC_STOP: 272, SDL_SCANCODE_AC_REFRESH: 273, SDL_SCANCODE_AC_BOOKMARKS: 274, SDL_SCANCODE_BRIGHTNESSDOWN: 275, SDL_SCANCODE_BRIGHTNESSUP: 276, SDL_SCANCODE_DISPLAYSWITCH: 277, SDL_SCANCODE_KBDILLUMTOGGLE: 278, SDL_SCANCODE_KBDILLUMDOWN: 279, SDL_SCANCODE_KBDILLUMUP: 280, SDL_SCANCODE_EJECT: 281, SDL_SCANCODE_SLEEP: 282, SDL_SCANCODE_APP1: 283, SDL_SCANCODE_APP2: 284, SDL_NUM_SCANCODES: 512, } var SDL_Keymod = exports.SDL_Keymod = { KMOD_NONE: 0, KMOD_LSHIFT: 1, KMOD_RSHIFT: 2, KMOD_LCTRL: 64, KMOD_RCTRL: 128, KMOD_LALT: 256, KMOD_RALT: 512, KMOD_LGUI: 1024, KMOD_RGUI: 2048, KMOD_NUM: 4096, KMOD_CAPS: 8192, KMOD_MODE: 16384, KMOD_RESERVED: 32768, } var SDL_bool = exports.SDL_bool = { SDL_FALSE: 0, SDL_TRUE: 1, } var voit = exports.voit = ref.types.void var uint32 = exports.uint32 = ref.types.uint32 var SDL_Keycode = SDL_keycode_lib.SDL_Keycode var Uint16 = SDL_stdinc_lib.Uint16 var Uint32 = SDL_stdinc_lib.Uint32 var SDL_Keysym = exports.SDL_Keysym = Struct({ scancode: uint32, sym: SDL_Keycode, mod: Uint16, unused: Uint32, }) var SDL_Window = SDL_video_lib.SDL_Window var SDL_Window_ptr = exports.SDL_Window_ptr = ref.refType(SDL_Window) var Uint8 = SDL_stdinc_lib.Uint8 var Uint8_ptr = exports.Uint8_ptr = ref.refType(Uint8) var int32 = exports.int32 = ref.types.int32 var int32_ptr = exports.int32_ptr = ref.refType(int32) var string = exports.string = ref.types.CString var SDL_Rect = SDL_rect_lib.SDL_Rect var SDL_Rect_ptr = exports.SDL_Rect_ptr = ref.refType(SDL_Rect) FFI.Library(process.platform == 'win32' ? 'SDL2' : 'libSDL2', { SDL_GetKeyboardFocus: [ SDL_Window_ptr, [ ] ], SDL_GetKeyboardState: [ Uint8_ptr, [ int32_ptr, ] ], SDL_GetModState: [ uint32, [ ] ], SDL_SetModState: [ voit, [ uint32, ] ], SDL_GetKeyFromScancode: [ SDL_Keycode, [ uint32, ] ], SDL_GetScancodeFromKey: [ uint32, [ SDL_Keycode, ] ], SDL_GetScancodeName: [ string, [ uint32, ] ], SDL_GetScancodeFromName: [ uint32, [ string, ] ], SDL_GetKeyName: [ string, [ SDL_Keycode, ] ], SDL_GetKeyFromName: [ SDL_Keycode, [ string, ] ], SDL_StartTextInput: [ voit, [ ] ], SDL_IsTextInputActive: [ uint32, [ ] ], SDL_StopTextInput: [ voit, [ ] ], SDL_SetTextInputRect: [ voit, [ SDL_Rect_ptr, ] ], SDL_HasScreenKeyboardSupport: [ uint32, [ ] ], SDL_IsScreenKeyboardShown: [ uint32, [ SDL_Window_ptr, ] ], }, exports)