keydown keyCode=16 which=16 charCode=0 keyup keyCode=16 which=16 charCode=0 |
keydown keyCode=65 (A) which=65 (A) charCode=0 keypress keyCode=0 which=97 (a) charCode=97 (a) keyup keyCode=65 (A) which=65 (A) charCode=0 |
keydown keyCode=65 (A) which=65 (A) charCode=0 keypress keyCode=0 which=97 (a) charCode=97 (a) keydown keyCode=65 (A) which=65 (A) charCode=0 keypress keyCode=0 which=97 (a) charCode=97 (a) keydown keyCode=65 (A) which=65 (A) charCode=0 keypress keyCode=0 which=97 (a) charCode=97 (a) keyup keyCode=65 (A) which=65 (A) charCode=0 |
keydown keyCode=81 (Q) which=81 (Q) charCode=0 keypress keyCode=0 which=113 (q) charCode=113 (q) keyup keyCode=81 (Q) which=81 (Q) charCode=0 |
keydown keyCode=65 (A) which=65 (A) charCode=0 keypress keyCode=0 which=97 (a) charCode=97 (a) keyup keyCode=65 (A) which=65 (A) charCode=0 |
KeyboardEvent.code 包含一个标识所按下的实体键的字符串。该值不受当前键盘布局或修饰键状态的影响,所以特定的键将始终返回相同的值。
'Esc' key: xt_scancode 0x0001 keyboardevent.code = "Escape" Spacebar: xt_scancode 0x0039 keyboardevent.code = "Space" 'F1' key: xt_scancode 0x003B keyboardevent.code = "F1" |
XT_scancode["Escape"] = 0x0001; XT_scancode["Space"] = 0x0039; XT_scancode["F1"] = 0x003B; |
buff[offset] = 255; // msg-type buff[offset + 1] = 0; // sub msg-type buff[offset + 2] = (down >> 8); buff[offset + 3] = down; buff[offset + 4] = (keysym >> 24); buff[offset + 5] = (keysym >> 16); buff[offset + 6] = (keysym >> 8); buff[offset + 7] = keysym; var RFBkeycode = getRFBkeycode(keycode) buff[offset + 8] = (RFBkeycode >> 24); buff[offset + 9] = (RFBkeycode >> 16); buff[offset + 10] = (RFBkeycode >> 8); buff[offset + 11] = RFBkeycode; |
function getRFBkeycode(xt_scancode) { var upperByte = (keycode >> 8); var lowerByte = (keycode & 0x00ff); if (upperByte === 0xe0 && lowerByte < 0x7f) { lowerByte = lowerByte | 0x80; return lowerByte; } return xt_scancode } |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |