CLOUDSTACK-7373: Incorrect Japanese keyboard mapping with CentOS CLI and windows guestOS on VMware.

This commit is contained in:
Sanjay Tripathi 2014-09-25 16:01:37 +05:30
parent b53a9dcc9f
commit bdf7d65305
2 changed files with 18 additions and 16 deletions

View File

@ -229,32 +229,32 @@ var keyboardTables = [
{keycode: JS_KEY_ALT, entry : X11_KEY_ALT},
//{keycode: JS_KEY_GRAVE_ACCENT, entry : X11_KEY_GRAVE_ACCENT},
//[192 / 64 = "' @"]
{keycode: 192, entry : 0x5b, browser: "IE"},
{keycode: 64, entry : 0x5b, guestos: "windows", browser: "Firefox"},
{keycode: 192, entry : 0x40, guestos: "windows", browser: "IE"},
{keycode: 64, entry : 0x40, guestos: "windows", browser: "Firefox"},
//{keycode: JS_KEY_ADD, entry : X11_KEY_ADD},
//[187 / 59 = "; +"]
{keycode: 187, entry : 0x3a, browser: "IE"},
{keycode: 187, entry : 0x3b, guestos: "windows", browser: "IE"},
{keycode: 59, entry : 0x3b, guestos: "windows", browser: "Firefox"},
//{keycode: JS_KEY_OPEN_BRACKET, entry : X11_KEY_OPEN_BRACKET},
//[219 = "[{"]
{keycode: 219, entry : 0x5d, guestos: "windows", browser: "IE"},
{keycode: 219, entry : 0x5d, guestos: "windows", browser: "Firefox"},
{keycode: 219, entry : 0x5b, guestos: "windows", browser: "IE"},
{keycode: 219, entry : 0x5b, guestos: "windows", browser: "Firefox"},
//{keycode: JS_KEY_CLOSE_BRACKET, entry : X11_KEY_CLOSE_BRACKET},
//[221 = "]}"]
{keycode: 221, entry : 0x5c, guestos: "windows", browser: "IE"},
{keycode: 221, entry : 0x5c, guestos: "windows", browser: "Firefox"},
{keycode: 221, entry : 0x5d, guestos: "windows", browser: "IE"},
{keycode: 221, entry : 0x5d, guestos: "windows", browser: "Firefox"},
{keycode: JS_KEY_BACK_SLASH, entry : X11_KEY_BACK_SLASH, guestos: "windows"},
//{keycode: JS_KEY_SINGLE_QUOTE, entry : X11_KEY_SINGLE_QUOTE},
//[222 / 160 = "~^"]
{keycode: 222, entry : 0x3d, browser: "IE"},
{keycode: 160, entry : 0x3d, guestos: "windows", browser: "Firefox"},
{keycode: 222, entry : 0x5e, guestos: "windows", browser: "IE"},
{keycode: 160, entry : 0x5e, guestos: "windows", browser: "Firefox"},
//[173 = "-=" ] specific to Firefox browser
{keycode: 173, entry : 0x2d, guestos: "windows", browser: "Firefox"},
{keycode: JS_KEY_COMMA, entry : X11_KEY_COMMA, guestos: "windows"},
{keycode: JS_KEY_PERIOD, entry : X11_KEY_PERIOD, guestos: "windows"},
{keycode: JS_KEY_FORWARD_SLASH, entry : X11_KEY_FORWARD_SLASH, guestos: "windows"},
{keycode: JS_KEY_DASH, entry : X11_KEY_DASH},
{keycode: JS_KEY_SEMI_COLON, entry : X11_KEY_SEMI_COLON},
{keycode: JS_KEY_DASH, entry : X11_KEY_DASH, guestos: "windows"},
{keycode: JS_KEY_SEMI_COLON, entry : 0x3a, guestos: "windows"},
{keycode: JS_KEY_NUMPAD0, entry : X11_KEY_NUMPAD0, guestos: "windows"},
{keycode: JS_KEY_NUMPAD1, entry : X11_KEY_NUMPAD1, guestos: "windows"},
{keycode: JS_KEY_NUMPAD2, entry : X11_KEY_NUMPAD2, guestos: "windows"},
@ -276,8 +276,10 @@ var keyboardTables = [
//Caps Lock = 240
{keycode: 240, entry : 0xffe5},
//[186 / 58 = "~^"]
{keycode: 186, entry : 0x22, browser: "IE"},
{keycode: 58, entry : 0x22, guestos: "windows", browser: "Firefox"},
{keycode: 186, entry : 0x3a, guestos: "windows", browser: "IE"},
{keycode: 58, entry : 0x3a, guestos: "windows", browser: "Firefox"},
//[226 = "_"]
{keycode: 226, entry : 0x5f, guestos: "windows"},
],
keyPress: [
// These mappings are for japanese guestOS. it is recommended that admin should deploy

View File

@ -200,7 +200,7 @@ KeyboardMapper.prototype = {
this.mappedInput.push({type : AjaxViewer.KEY_DOWN, code: X11Keysym, modifiers: modifiers});
this.mappedInput.push({type : AjaxViewer.KEY_UP, code: X11Keysym, modifiers: modifiers});
}
} else {
} else if(!(code == 48 && modifiers == AjaxViewer.SHIFT_KEY_MASK) && !(code == 95 && modifiers == 0)){
this.mappedInput.push({type : AjaxViewer.KEY_DOWN, code: code, modifiers: modifiers});
this.mappedInput.push({type : AjaxViewer.KEY_UP, code: code, modifiers: modifiers});
}
@ -239,9 +239,9 @@ KeyboardMapper.prototype = {
}
// special handling for ALT/CTRL key
if(eventType == AjaxViewer.KEY_UP && (code == AjaxViewer.JS_KEY_ALT || code == code == AjaxViewer.JS_KEY_CTRL))
if(eventType == AjaxViewer.KEY_UP && (code == AjaxViewer.JS_KEY_ALT || code == code == AjaxViewer.JS_KEY_CTRL)) {
this.mappedInput.push({type : eventType, code: this.jsX11KeysymMap[code], modifiers: modifiers});
}
} else if(eventType == AjaxViewer.KEY_PRESS) {
// special handling for * and + key on number pad
if(code == AjaxViewer.JS_NUMPAD_MULTIPLY) {