diff --git a/lime/ui/KeyCode.hx b/lime/ui/KeyCode.hx new file mode 100644 index 000000000..94dc15cee --- /dev/null +++ b/lime/ui/KeyCode.hx @@ -0,0 +1,245 @@ +package lime.ui; + + +@:enum abstract KeyCode(Int) { + + + var KEY_UNKNOWN = 0x00; + var KEY_BACKSPACE = 0x08; + var KEY_TAB = 0x09; + var KEY_RETURN = 0x0D; + var KEY_ESCAPE = 0x1B; + var KEY_SPACE = 0x20; + var KEY_EXCLAMATION = 0x21; + var KEY_QUOTE = 0x22; + var KEY_HASH = 0x23; + var KEY_DOLLAR = 0x24; + var KEY_PERCENT = 0x25; + var KEY_AMPERSAND = 0x26; + var KEY_SINGLE_QUOTE = 0x27; + var KEY_LEFT_PARENTHESIS = 0x28; + var KEY_RIGHT_PARENTHESIS = 0x29; + var KEY_ASTERISK = 0x2A; + var KEY_PLUS = 0x2B; + var KEY_COMMA = 0x2C; + var KEY_MINUS = 0x2D; + var KEY_PERIOD = 0x2E; + var KEY_SLASH = 0x2F; + var KEY_0 = 0x30; + var KEY_1 = 0x31; + var KEY_2 = 0x32; + var KEY_3 = 0x33; + var KEY_4 = 0x34; + var KEY_5 = 0x35; + var KEY_6 = 0x36; + var KEY_7 = 0x37; + var KEY_8 = 0x38; + var KEY_9 = 0x39; + var KEY_COLON = 0x3A; + var KEY_SEMICOLON = 0x3B; + var KEY_LESS_THAN = 0x3C; + var KEY_EQUALS = 0x3D; + var KEY_GREATER_THAN = 0x3E; + var KEY_QUESTION = 0x3F; + var KEY_AT = 0x40; + var KEY_LEFT_BRACKET = 0x5B; + var KEY_BACKSLASH = 0x5C; + var KEY_RIGHT_BRACKET = 0x5D; + var KEY_CARET = 0x5E; + var KEY_UNDERSCORE = 0x5F; + var KEY_GRAVE = 0x60; + var KEY_A = 0x61; + var KEY_B = 0x62; + var KEY_C = 0x63; + var KEY_D = 0x64; + var KEY_E = 0x65; + var KEY_F = 0x66; + var KEY_G = 0x67; + var KEY_H = 0x68; + var KEY_I = 0x69; + var KEY_J = 0x6A; + var KEY_K = 0x6B; + var KEY_L = 0x6C; + var KEY_M = 0x6D; + var KEY_N = 0x6E; + var KEY_O = 0x6F; + var KEY_P = 0x70; + var KEY_Q = 0x71; + var KEY_R = 0x72; + var KEY_S = 0x73; + var KEY_T = 0x74; + var KEY_U = 075; + var KEY_V = 0x76; + var KEY_W = 0x77; + var KEY_X = 0x78; + var KEY_Y = 0x79; + var KEY_Z = 0x7A; + var KEY_DELETE = 0x7F; + var KEY_CAPS_LOCK = 0x40000039; + var KEY_F1 = 0x4000003A; + var KEY_F2 = 0x4000003B; + var KEY_F3 = 0x4000003C; + var KEY_F4 = 0x4000003D; + var KEY_F5 = 0x4000003E; + var KEY_F6 = 0x4000003F; + var KEY_F7 = 0x40000040; + var KEY_F8 = 0x40000041; + var KEY_F9 = 0x40000042; + var KEY_F10 = 0x40000043; + var KEY_F11 = 0x40000044; + var KEY_F12 = 0x40000045; + var KEY_PRINT_SCREEN = 0x40000046; + var KEY_SCROLL_LOCK = 0x40000047; + var KEY_PAUSE = 0x40000048; + var KEY_INSERT = 0x40000049; + var KEY_HOME = 0x4000004A; + var KEY_PAGE_UP = 0x4000004B; + var KEY_END = 0x4000004D; + var KEY_PAGE_DOWN = 0x4000004E; + var KEY_RIGHT = 0x4000004F; + var KEY_LEFT = 0x40000050; + var KEY_DOWN = 0x40000051; + var KEY_UP = 0x40000052; + var KEY_NUM_LOCK_CLEAR = 0x40000053; + var KEY_NUMPAD_DIVIDE = 0x40000054; + var KEY_NUMPAD_MULTIPLY = 0x40000055; + var KEY_NUMPAD_MINUS = 0x40000056; + var KEY_NUMPAD_PLUS = 0x40000057; + var KEY_NUMPAD_ENTER = 0x40000058; + var KEY_NUMPAD_1 = 0x40000059; + var KEY_NUMPAD_2 = 0x4000005A; + var KEY_NUMPAD_3 = 0x4000005B; + var KEY_NUMPAD_4 = 0x4000005C; + var KEY_NUMPAD_5 = 0x4000005D; + var KEY_NUMPAD_6 = 0x4000005E; + var KEY_NUMPAD_7 = 0x4000005F; + var KEY_NUMPAD_8 = 0x40000060; + var KEY_NUMPAD_9 = 0x40000061; + var KEY_NUMPAD_0 = 0x40000062; + var KEY_NUMPAD_PERIOD = 0x40000063; + var KEY_APPLICATION = 0x40000065; + var KEY_POWER = 0x40000066; + var KEY_NUMPAD_EQUALS = 0x40000067; + var KEY_F13 = 0x40000068; + var KEY_F14 = 0x40000069; + var KEY_F15 = 0x4000006A; + var KEY_F16 = 0x4000006B; + var KEY_F17 = 0x4000006C; + var KEY_F18 = 0x4000006D; + var KEY_F19 = 0x4000006E; + var KEY_F20 = 0x4000006F; + var KEY_F21 = 0x40000070; + var KEY_F22 = 0x40000071; + var KEY_F23 = 0x40000072; + var KEY_F24 = 0x40000073; + var KEY_EXECUTE = 0x40000074; + var KEY_HELP = 0x40000075; + var KEY_MENU = 0x40000076; + var KEY_SELECT = 0x40000077; + var KEY_STOP = 0x40000078; + var KEY_AGAIN = 0x40000079; + var KEY_UNDO = 0x4000007A; + var KEY_CUT = 0x4000007B; + var KEY_COPY = 0x4000007C; + var KEY_PASTE = 0x4000007D; + var KEY_FIND = 0x4000007E; + var KEY_MUTE = 0x4000007F; + var KEY_VOLUME_UP = 0x40000080; + var KEY_VOLUME_DOWN = 0x40000081; + var KEY_NUMPAD_COMMA = 0x40000085; + //var KEY_NUMPAD_EQUALS_AS400 = 0x40000086; + var KEY_ALT_ERASE = 0x40000099; + var KEY_SYSTEM_REQUEST = 0x4000009A; + var KEY_CANCEL = 0x4000009B; + var KEY_CLEAR = 0x4000009C; + var KEY_PRIOR = 0x4000009D; + var KEY_RETURN2 = 0x4000009E; + var KEY_SEPARATOR = 0x4000009F; + var KEY_OUT = 0x400000A0; + var KEY_OPER = 0x400000A1; + var KEY_CLEAR_AGAIN = 0x400000A2; + var KEY_CRSEL = 0x400000A3; + var KEY_EXSEL = 0x400000A4; + var KEY_NUMPAD_00 = 0x400000B0; + var KEY_NUMPAD_000 = 0x400000B1; + var KEY_THOUSAND_SEPARATOR = 0x400000B2; + var KEY_DECIMAL_SEPARATOR = 0x400000B3; + var KEY_CURRENCY_UNIT = 0x400000B4; + var KEY_CURRENCY_SUBUNIT = 0x400000B5; + var KEY_NUMPAD_LEFT_PARENTHESIS = 0x400000B6; + var KEY_NUMPAD_RIGHT_PARENTHESIS = 0x400000B7; + var KEY_NUMPAD_LEFT_BRACE = 0x400000B8; + var KEY_NUMPAD_RIGHT_BRACE = 0x400000B9; + var KEY_NUMPAD_TAB = 0x400000BA; + var KEY_NUMPAD_BACKSPACE = 0x400000BB; + var KEY_NUMPAD_A = 0x400000BC; + var KEY_NUMPAD_B = 0x400000BD; + var KEY_NUMPAD_C = 0x400000BE; + var KEY_NUMPAD_D = 0x400000BF; + var KEY_NUMPAD_E = 0x400000C0; + var KEY_NUMPAD_F = 0x400000C1; + var KEY_NUMPAD_XOR = 0x400000C2; + var KEY_NUMPAD_POWER = 0x400000C3; + var KEY_NUMPAD_PERCENT = 0x400000C4; + var KEY_NUMPAD_LESS_THAN = 0x400000C5; + var KEY_NUMPAD_GREATER_THAN = 0x400000C6; + var KEY_NUMPAD_AMPERSAND = 0x400000C7; + var KEY_NUMPAD_DOUBLE_AMPERSAND = 0x400000C8; + var KEY_NUMPAD_VERTICAL_BAR = 0x400000C9; + var KEY_NUMPAD_DOUBLE_VERTICAL_BAR = 0x400000CA; + var KEY_NUMPAD_COLON = 0x400000CB; + var KEY_NUMPAD_HASH = 0x400000CC; + var KEY_NUMPAD_SPACE = 0x400000CD; + var KEY_NUMPAD_AT = 0x400000CE; + var KEY_NUMPAD_EXCLAMATION = 0x400000CF; + var KEY_NUMPAD_MEM_STORE = 0x400000D0; + var KEY_NUMPAD_MEM_RECALL = 0x400000D1; + var KEY_NUMPAD_MEM_CLEAR = 0x400000D2; + var KEY_NUMPAD_MEM_ADD = 0x400000D3; + var KEY_NUMPAD_MEM_SUBTRACT = 0x400000D4; + var KEY_NUMPAD_MEM_MULTIPLY = 0x400000D5; + var KEY_NUMPAD_MEM_DIVIDE = 0x400000D6; + var KEY_NUMPAD_PLUS_MINUS = 0x400000D7; + var KEY_NUMPAD_CLEAR = 0x400000D8; + var KEY_NUMPAD_CLEAR_ENTRY = 0x400000D9; + var KEY_NUMPAD_BINARY = 0x400000DA; + var KEY_NUMPAD_OCTAL = 0x400000DB; + var KEY_NUMPAD_DECIMAL = 0x400000DC; + var KEY_NUMPAD_HEXADECIMAL = 0x400000DD; + var KEY_LEFT_CTRL = 0x400000E0; + var KEY_LEFT_SHIFT = 0x400000E1; + var KEY_LEFT_ALT = 0x400000E2; + var KEY_LEFT_META = 0x400000E3; + var KEY_RIGHT_CTRL = 0x400000E4; + var KEY_RIGHT_SHIFT = 0x400000E5; + var KEY_RIGHT_ALT = 0x400000E6; + var KEY_RIGHT_META = 0x400000E7; + var KEY_MODE = 0x40000101; + var KEY_AUDIO_NEXT = 0x40000102; + var KEY_AUDIO_PREVIOUS = 0x40000103; + var KEY_AUDIO_STOP = 0x40000104; + var KEY_AUDIO_PLAY = 0x40000105; + var KEY_AUDIO_MUTE = 0x40000106; + var KEY_MEDIA_SELECT = 0x40000107; + var KEY_WWW = 0x40000108; + var KEY_MAIL = 0x40000109; + var KEY_CALCULATOR = 0x4000010A; + var KEY_COMPUTER = 0x4000010B; + var KEY_APP_CONTROL_SEARCH = 0x4000010C; + var KEY_APP_CONTROL_HOME = 0x4000010D; + var KEY_APP_CONTROL_BACK = 0x4000010E; + var KEY_APP_CONTROL_FORWARD = 0x4000010F; + var KEY_APP_CONTROL_STOP = 0x40000110; + var KEY_APP_CONTROL_REFRESH = 0x40000111; + var KEY_APP_CONTROL_BOOKMARKS = 0x40000112; + var KEY_BRIGHTNESS_DOWN = 0x40000113; + var KEY_BRIGHTNESS_UP = 0x40000114; + var KEY_DISPLAY_SWITCH = 0x40000115; + var KEY_BACKLIGHT_TOGGLE = 0x40000116; + var KEY_BACKLIGHT_DOWN = 0x40000117; + var KEY_BACKLIGHT_UP = 0x40000118; + var KEY_EJECT = 0x40000119; + var KEY_SLEEP = 0x4000011A; + + +} \ No newline at end of file diff --git a/project/include/ui/KeyEvent.h b/project/include/ui/KeyEvent.h index 6004c5f16..69457e012 100644 --- a/project/include/ui/KeyEvent.h +++ b/project/include/ui/KeyEvent.h @@ -27,7 +27,7 @@ namespace lime { static void Dispatch (KeyEvent* event); - int keyCode; + double keyCode; int modifier; KeyEventType type; diff --git a/project/src/ui/KeyEvent.cpp b/project/src/ui/KeyEvent.cpp index 1f7411f4a..14204cd10 100644 --- a/project/src/ui/KeyEvent.cpp +++ b/project/src/ui/KeyEvent.cpp @@ -8,7 +8,7 @@ namespace lime { AutoGCRoot* KeyEvent::callback = 0; AutoGCRoot* KeyEvent::eventObject = 0; - static int id_keyCode; + static double id_keyCode; static int id_modifier; static int id_type; static bool init = false; @@ -38,7 +38,7 @@ namespace lime { value object = (KeyEvent::eventObject ? KeyEvent::eventObject->get () : alloc_empty_object ()); - alloc_field (object, id_keyCode, alloc_int (event->keyCode)); + alloc_field (object, id_keyCode, alloc_float (event->keyCode)); alloc_field (object, id_modifier, alloc_int (event->modifier)); alloc_field (object, id_type, alloc_int (event->type));