Add lime.ui.KeyCode, increase size of the keyCode value in C++

This commit is contained in:
Joshua Granick
2014-07-26 18:19:04 -07:00
parent 145a145a5c
commit 02f6ba2b37
3 changed files with 248 additions and 3 deletions

245
lime/ui/KeyCode.hx Normal file
View File

@@ -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;
}

View File

@@ -27,7 +27,7 @@ namespace lime {
static void Dispatch (KeyEvent* event);
int keyCode;
double keyCode;
int modifier;
KeyEventType type;

View File

@@ -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));