mirror of https://github.com/apache/cloudstack.git
bug 12763: rebuild keycode mapping when browser is running on Japanese system with Japanese keyboard under the new framework
This commit is contained in:
parent
e4debe7af4
commit
86cbe3e0ee
|
|
@ -102,79 +102,80 @@ function JsX11KeyboardMapper() {
|
|||
KeyboardMapper.apply(this, arguments);
|
||||
|
||||
this.jsX11KeysymMap = [];
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_CAPSLOCK] = 0xffe5;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_BACKSPACE] = 0xff08;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_TAB] = 0xff09;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_ENTER] = 0xff0d;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_ESCAPE] = 0xff1b;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_INSERT] = 0xff63;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_DELETE] = 0xffff;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_HOME] = 0xff50;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_END] = 0xff57;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_PAGEUP] = 0xff55;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_PAGEDOWN] = 0xff56;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_LEFT] = 0xff51;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_UP] = 0xff52;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_RIGHT] = 0xff53;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_DOWN] = 0xff54;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F1] = 0xffbe;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F2] = 0xffbf;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F3] = 0xffc0;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F4] = 0xffc1;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F5] = 0xffc2;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F6] = 0xffc3;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F7] = 0xffc4;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F8] = 0xffc5;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F9] = 0xffc6;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F10] = 0xffc7;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F11] = 0xffc8;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F12] = 0xffc9;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_SHIFT] = 0xffe1;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_CTRL] = 0xffe3;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_ALT] = 0xffe9;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_GRAVE_ACCENT] = 0x60;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_SUBSTRACT] = 0x2d;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_ADD] = 0x2b;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_OPEN_BRACKET] = 0x5b;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_CLOSE_BRACKET] = 0x5d;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_BACK_SLASH] = 0x7c;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_SINGLE_QUOTE] = 0x22;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_COMMA] = 0x3c;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_PERIOD] = 0x3e;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_FORWARD_SLASH] = 0x3f;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_DASH] = 0x2d;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_SEMI_COLON] = 0x3b;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_CAPSLOCK] = AjaxViewer.X11_KEY_CAPSLOCK;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_BACKSPACE] = AjaxViewer.X11_KEY_BACKSPACE;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_TAB] = AjaxViewer.X11_KEY_TAB;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_ENTER] = AjaxViewer.X11_KEY_ENTER;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_ESCAPE] = AjaxViewer.X11_KEY_ESCAPE;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_INSERT] = AjaxViewer.X11_KEY_INSERT;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_DELETE] = AjaxViewer.X11_KEY_DELETE;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_HOME] = AjaxViewer.X11_KEY_HOME;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_END] = AjaxViewer.X11_KEY_END;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_PAGEUP] = AjaxViewer.X11_KEY_PAGEUP;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_PAGEDOWN] = AjaxViewer.X11_KEY_PAGEDOWN;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_LEFT] = AjaxViewer.X11_KEY_LEFT;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_UP] = AjaxViewer.X11_KEY_UP;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_RIGHT] = AjaxViewer.X11_KEY_RIGHT;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_DOWN] = AjaxViewer.X11_KEY_DOWN;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F1] = AjaxViewer.X11_KEY_F1;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F2] = AjaxViewer.X11_KEY_F2;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F3] = AjaxViewer.X11_KEY_F3;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F4] = AjaxViewer.X11_KEY_F4;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F5] = AjaxViewer.X11_KEY_F5;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F6] = AjaxViewer.X11_KEY_F6;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F7] = AjaxViewer.X11_KEY_F7;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F8] = AjaxViewer.X11_KEY_F8;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F9] = AjaxViewer.X11_KEY_F9;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F10] = AjaxViewer.X11_KEY_F10;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F11] = AjaxViewer.X11_KEY_F11;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_F12] = AjaxViewer.X11_KEY_F12;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_SHIFT] = AjaxViewer.X11_KEY_SHIFT;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_CTRL] = AjaxViewer.X11_KEY_CTRL;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_ALT] = AjaxViewer.X11_KEY_ALT;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_GRAVE_ACCENT] = AjaxViewer.X11_KEY_GRAVE_ACCENT;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_SUBSTRACT] = AjaxViewer.X11_KEY_SUBSTRACT;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_ADD] = AjaxViewer.X11_KEY_ADD;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_OPEN_BRACKET] = AjaxViewer.X11_KEY_OPEN_BRACKET;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_CLOSE_BRACKET] = AjaxViewer.X11_KEY_CLOSE_BRACKET;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_BACK_SLASH] = AjaxViewer.X11_KEY_BACK_SLASH;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_SINGLE_QUOTE] = AjaxViewer.X11_KEY_SINGLE_QUOTE;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_COMMA] = AjaxViewer.X11_KEY_COMMA;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_PERIOD] = AjaxViewer.X11_KEY_PERIOD;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_FORWARD_SLASH] = AjaxViewer.X11_KEY_FORWARD_SLASH;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_DASH] = AjaxViewer.X11_KEY_DASH;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_SEMI_COLON] = AjaxViewer.X11_KEY_SEMI_COLON;
|
||||
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD0] = 0x30;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD1] = 0x31;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD2] = 0x32;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD3] = 0x33;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD4] = 0x34;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD5] = 0x35;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD6] = 0x36;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD7] = 0x37;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD8] = 0x38;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD9] = 0x39;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_DECIMAL_POINT] = 0x2e;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_DIVIDE] = 0x3f;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD0] = AjaxViewer.X11_KEY_NUMPAD0;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD1] = AjaxViewer.X11_KEY_NUMPAD1;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD2] = AjaxViewer.X11_KEY_NUMPAD2;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD3] = AjaxViewer.X11_KEY_NUMPAD3;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD4] = AjaxViewer.X11_KEY_NUMPAD4;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD5] = AjaxViewer.X11_KEY_NUMPAD5;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD6] = AjaxViewer.X11_KEY_NUMPAD6;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD7] = AjaxViewer.X11_KEY_NUMPAD7;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD8] = AjaxViewer.X11_KEY_NUMPAD8;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_NUMPAD9] = AjaxViewer.X11_KEY_NUMPAD9;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_DECIMAL_POINT] = AjaxViewer.X11_KEY_DECIMAL_POINT;
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_DIVIDE] = AjaxViewer.X11_KEY_DIVIDE;
|
||||
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_MULTIPLY] = [
|
||||
{type: AjaxViewer.KEY_DOWN, code: 0xffe1, modifiers: 0 },
|
||||
{type: AjaxViewer.KEY_DOWN, code: 0x2a, modifiers: 0 },
|
||||
{type: AjaxViewer.KEY_UP, code: 0x2a, modifiers: 0 },
|
||||
{type: AjaxViewer.KEY_UP, code: 0xffe1, modifiers: 0 }
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_SHIFT, modifiers: 0 },
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_ASTERISK, modifiers: 0 },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_ASTERISK, modifiers: 0 },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_SHIFT, modifiers: 0 }
|
||||
];
|
||||
|
||||
this.jsX11KeysymMap[AjaxViewer.JS_KEY_ADD] = false;
|
||||
this.jsKeyPressX11KeysymMap = [];
|
||||
this.jsKeyPressX11KeysymMap[61] = [
|
||||
{type: AjaxViewer.KEY_DOWN, code: 0x2b, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: 0x2b, modifiers: 0, shift: false }
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_ADD, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_ADD, modifiers: 0, shift: false }
|
||||
];
|
||||
this.jsKeyPressX11KeysymMap[43] = [
|
||||
{type: AjaxViewer.KEY_DOWN, code: 0xffe1, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_DOWN, code: 0x2b, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: 0x2b, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: 0xffe1, modifiers: 0, shift: false }
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_SHIFT, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_ADD, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_ADD, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_SHIFT, modifiers: 0, shift: false }
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -358,30 +359,93 @@ AjaxViewer.JS_KEY_F11 = 122;
|
|||
AjaxViewer.JS_KEY_F12 = 123;
|
||||
AjaxViewer.JS_KEY_NUMLOCK = 144;
|
||||
AjaxViewer.JS_KEY_SCROLLLOCK = 145;
|
||||
AjaxViewer.JS_KEY_SEMI_COLON = 186;
|
||||
AjaxViewer.JS_KEY_EQUAL_SIGN = 187;
|
||||
AjaxViewer.JS_KEY_COMMA = 188;
|
||||
AjaxViewer.JS_KEY_DASH = 189;
|
||||
AjaxViewer.JS_KEY_PERIOD = 190;
|
||||
AjaxViewer.JS_KEY_FORWARD_SLASH = 191;
|
||||
AjaxViewer.JS_KEY_GRAVE_ACCENT = 192;
|
||||
AjaxViewer.JS_KEY_OPEN_BRACKET = 219;
|
||||
AjaxViewer.JS_KEY_BACK_SLASH = 220;
|
||||
AjaxViewer.JS_KEY_CLOSE_BRACKET = 221;
|
||||
AjaxViewer.JS_KEY_SINGLE_QUOTE = 222;
|
||||
AjaxViewer.JS_KEY_SEMI_COLON = 186; // ;
|
||||
AjaxViewer.JS_KEY_EQUAL_SIGN = 187; // =
|
||||
AjaxViewer.JS_KEY_COMMA = 188; // ,
|
||||
AjaxViewer.JS_KEY_DASH = 189; // -
|
||||
AjaxViewer.JS_KEY_PERIOD = 190; // .
|
||||
AjaxViewer.JS_KEY_FORWARD_SLASH = 191; // /
|
||||
AjaxViewer.JS_KEY_GRAVE_ACCENT = 192; // `
|
||||
AjaxViewer.JS_KEY_OPEN_BRACKET = 219; // [
|
||||
AjaxViewer.JS_KEY_BACK_SLASH = 220; // \
|
||||
AjaxViewer.JS_KEY_CLOSE_BRACKET = 221; // ]
|
||||
AjaxViewer.JS_KEY_SINGLE_QUOTE = 222; // '
|
||||
AjaxViewer.JS_NUMPAD_PLUS = 43;
|
||||
AjaxViewer.JS_KEY_NUM8 = 56;
|
||||
|
||||
// keycode from Japanese keyboard
|
||||
AjaxViewer.JS_KEY_JP_COLON = 222;
|
||||
AjaxViewer.JS_KEY_JP_CLOSE_BRACKET = 220;
|
||||
AjaxViewer.JS_KEY_JP_AT_SIGN = 219;
|
||||
AjaxViewer.JS_KEY_JP_OPEN_BRACKET = 221;
|
||||
AjaxViewer.JS_KEY_JP_BACK_SLASH = 193;
|
||||
AjaxViewer.JS_KEY_JP_COLON = 222; // :* on JP keyboard
|
||||
AjaxViewer.JS_KEY_JP_CLOSE_BRACKET = 220; // [{ on JP keyboard
|
||||
AjaxViewer.JS_KEY_JP_AT_SIGN = 219; // @` on JP keyboard
|
||||
AjaxViewer.JS_KEY_JP_OPEN_BRACKET = 221; // [{ on JP keyboard
|
||||
AjaxViewer.JS_KEY_JP_BACK_SLASH = 193; // \| on JP keyboard
|
||||
AjaxViewer.JS_KEY_JP_YEN_MARK = 255;
|
||||
AjaxViewer.JS_KEY_JP_EQUAL = 109;
|
||||
AjaxViewer.JS_KEY_JP_ACUTE = 107;
|
||||
|
||||
|
||||
AjaxViewer.JS_KEY_JP_EQUAL = 109; // -= ON JP keyboard
|
||||
AjaxViewer.JS_KEY_JP_ACUTE = 107; // ^~ on JP keyboard
|
||||
|
||||
// X11 keysym definitions
|
||||
AjaxViewer.X11_KEY_CAPSLOCK = 0xffe5;
|
||||
AjaxViewer.X11_KEY_BACKSPACE = 0xff08;
|
||||
AjaxViewer.X11_KEY_TAB = 0xff09;
|
||||
AjaxViewer.X11_KEY_ENTER = 0xff0d;
|
||||
AjaxViewer.X11_KEY_ESCAPE = 0xff1b;
|
||||
AjaxViewer.X11_KEY_INSERT = 0xff63;
|
||||
AjaxViewer.X11_KEY_DELETE = 0xffff;
|
||||
AjaxViewer.X11_KEY_HOME = 0xff50;
|
||||
AjaxViewer.X11_KEY_END = 0xff57;
|
||||
AjaxViewer.X11_KEY_PAGEUP = 0xff55;
|
||||
AjaxViewer.X11_KEY_PAGEDOWN = 0xff56;
|
||||
AjaxViewer.X11_KEY_LEFT = 0xff51;
|
||||
AjaxViewer.X11_KEY_UP = 0xff52;
|
||||
AjaxViewer.X11_KEY_RIGHT = 0xff53;
|
||||
AjaxViewer.X11_KEY_DOWN = 0xff54;
|
||||
AjaxViewer.X11_KEY_F1 = 0xffbe;
|
||||
AjaxViewer.X11_KEY_F2 = 0xffbf;
|
||||
AjaxViewer.X11_KEY_F3 = 0xffc0;
|
||||
AjaxViewer.X11_KEY_F4 = 0xffc1;
|
||||
AjaxViewer.X11_KEY_F5 = 0xffc2;
|
||||
AjaxViewer.X11_KEY_F6 = 0xffc3;
|
||||
AjaxViewer.X11_KEY_F7 = 0xffc4;
|
||||
AjaxViewer.X11_KEY_F8 = 0xffc5;
|
||||
AjaxViewer.X11_KEY_F9 = 0xffc6;
|
||||
AjaxViewer.X11_KEY_F10 = 0xffc7;
|
||||
AjaxViewer.X11_KEY_F11 = 0xffc8;
|
||||
AjaxViewer.X11_KEY_F12 = 0xffc9;
|
||||
AjaxViewer.X11_KEY_SHIFT = 0xffe1;
|
||||
AjaxViewer.X11_KEY_CTRL = 0xffe3;
|
||||
AjaxViewer.X11_KEY_ALT = 0xffe9;
|
||||
AjaxViewer.X11_KEY_GRAVE_ACCENT = 0x60;
|
||||
AjaxViewer.X11_KEY_SUBSTRACT = 0x2d;
|
||||
AjaxViewer.X11_KEY_ADD = 0x2b;
|
||||
AjaxViewer.X11_KEY_OPEN_BRACKET = 0x5b;
|
||||
AjaxViewer.X11_KEY_CLOSE_BRACKET = 0x5d;
|
||||
AjaxViewer.X11_KEY_BACK_SLASH = 0x7c;
|
||||
AjaxViewer.X11_KEY_REVERSE_SOLIUS = 0x5c; // another back slash (back slash on JP keyboard)
|
||||
AjaxViewer.X11_KEY_SINGLE_QUOTE = 0x22;
|
||||
AjaxViewer.X11_KEY_COMMA = 0x3c;
|
||||
AjaxViewer.X11_KEY_PERIOD = 0x3e;
|
||||
AjaxViewer.X11_KEY_FORWARD_SLASH = 0x3f;
|
||||
AjaxViewer.X11_KEY_DASH = 0x2d;
|
||||
AjaxViewer.X11_KEY_COLON = 0x3a;
|
||||
AjaxViewer.X11_KEY_SEMI_COLON = 0x3b;
|
||||
AjaxViewer.X11_KEY_NUMPAD0 = 0x30;
|
||||
AjaxViewer.X11_KEY_NUMPAD1 = 0x31;
|
||||
AjaxViewer.X11_KEY_NUMPAD2 = 0x32;
|
||||
AjaxViewer.X11_KEY_NUMPAD3 = 0x33;
|
||||
AjaxViewer.X11_KEY_NUMPAD4 = 0x34;
|
||||
AjaxViewer.X11_KEY_NUMPAD5 = 0x35;
|
||||
AjaxViewer.X11_KEY_NUMPAD6 = 0x36;
|
||||
AjaxViewer.X11_KEY_NUMPAD7 = 0x37;
|
||||
AjaxViewer.X11_KEY_NUMPAD8 = 0x38;
|
||||
AjaxViewer.X11_KEY_NUMPAD9 = 0x39;
|
||||
AjaxViewer.X11_KEY_DECIMAL_POINT = 0x2e;
|
||||
AjaxViewer.X11_KEY_DIVIDE = 0x3f;
|
||||
AjaxViewer.X11_KEY_TILDE = 0x7e; // ~
|
||||
AjaxViewer.X11_KEY_CIRCUMFLEX_ACCENT = 0x5e; // ^
|
||||
AjaxViewer.X11_KEY_YEN_MARK = 0xa5; // Japanese YEN mark
|
||||
AjaxViewer.X11_KEY_ASTERISK = 0x2a;
|
||||
|
||||
AjaxViewer.getEventName = function(type) {
|
||||
switch(type) {
|
||||
case AjaxViewer.MOUSE_MOVE :
|
||||
|
|
@ -500,25 +564,58 @@ AjaxViewer.prototype = {
|
|||
// setup Japanese keyboard translation table
|
||||
var mapper = new JsX11KeyboardMapper();
|
||||
this.keyboardMappers[AjaxViewer.KEYBOARD_TYPE_JAPANESE] = mapper;
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_COLON] = 0x3a;
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_CLOSE_BRACKET] = 0x5d;
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_AT_SIGN] = 0x60;
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_OPEN_BRACKET] = 0x5b;
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_BACK_SLASH] = 0x5c; // X11 REVERSE SOLIDUS
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_YEN_MARK] = 0xa5; // X11 YEN SIGN
|
||||
|
||||
// JP keyboard plugged in a English host OS
|
||||
/*
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_COLON] = AjaxViewer.X11_KEY_COLON;
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_CLOSE_BRACKET] = AjaxViewer.X11_KEY_CLOSE_BRACKET;
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_AT_SIGN] = AjaxViewer.X11_KEY_GRAVE_ACCENT;
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_OPEN_BRACKET] = AjaxViewer.X11_KEY_OPEN_BRACKET;
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_BACK_SLASH] = AjaxViewer.X11_KEY_REVERSE_SOLIUS; // X11 REVERSE SOLIDUS
|
||||
mapper.jsX11KeysymMap[AjaxViewer.JS_KEY_JP_YEN_MARK] = AjaxViewer.X11_KEY_YEN_MARK; // X11 YEN SIGN
|
||||
mapper.jsKeyPressX11KeysymMap[61] = [
|
||||
{type: AjaxViewer.KEY_DOWN, code: 0x5e, modifiers: 0 },
|
||||
{type: AjaxViewer.KEY_UP, code: 0x5e, modifiers: 0 },
|
||||
];
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_CIRCUMFLEX_ACCENT, modifiers: 0 },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_CIRCUMFLEX_ACCENT, modifiers: 0 },
|
||||
];
|
||||
|
||||
mapper.jsKeyPressX11KeysymMap[43] = [
|
||||
{type: AjaxViewer.KEY_DOWN, code: 0xffe1, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_DOWN, code: 0x2b, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: 0x2b, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: 0xffe1, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_DOWN, code: 0x7e, modifiers: 0, shift: true },
|
||||
{type: AjaxViewer.KEY_UP, code: 0x7e, modifiers: 0, shift: true }
|
||||
];
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_SHIFT, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_ADD, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_ADD, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_SHIFT, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_TILDE, modifiers: 0, shift: true },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_TILDE, modifiers: 0, shift: true }
|
||||
];
|
||||
*/
|
||||
|
||||
// JP keyboard plugged in a Japanese host OS
|
||||
mapper.jsX11KeysymMap[222] = AjaxViewer.X11_KEY_CIRCUMFLEX_ACCENT;
|
||||
mapper.jsX11KeysymMap[220] = AjaxViewer.X11_KEY_YEN_MARK;
|
||||
mapper.jsX11KeysymMap[219] = AjaxViewer.X11_KEY_OPEN_BRACKET;
|
||||
mapper.jsX11KeysymMap[221] = AjaxViewer.X11_KEY_CLOSE_BRACKET;
|
||||
mapper.jsX11KeysymMap[59] = AjaxViewer.X11_KEY_COLON; // Firefox
|
||||
mapper.jsX11KeysymMap[186] = AjaxViewer.X11_KEY_COLON; // Chrome
|
||||
mapper.jsX11KeysymMap[226] = AjaxViewer.X11_KEY_REVERSE_SOLIUS; // \| key left to right SHIFT on JP keyboard
|
||||
mapper.jsX11KeysymMap[240] = [
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_CAPSLOCK, modifiers: 0 },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_CAPSLOCK, modifiers: 0 },
|
||||
];
|
||||
|
||||
// for keycode 107, keypress 59
|
||||
mapper.jsKeyPressX11KeysymMap[59] = [
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_SEMI_COLON, modifiers: 0 },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_SEMI_COLON, modifiers: 0 },
|
||||
];
|
||||
|
||||
// for keycode 107, keypress 43
|
||||
mapper.jsKeyPressX11KeysymMap[43] = [
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_SHIFT, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_ADD, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_ADD, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_SHIFT, modifiers: 0, shift: false },
|
||||
{type: AjaxViewer.KEY_DOWN, code: AjaxViewer.X11_KEY_ADD, modifiers: 0, shift: true },
|
||||
{type: AjaxViewer.KEY_UP, code: AjaxViewer.X11_KEY_ADD, modifiers: 0, shift: true },
|
||||
];
|
||||
},
|
||||
|
||||
getCurrentKeyboardMapper : function() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue