|
@@ -1,11 +1,14 @@
|
|
|
+/***
|
|
|
+ * Author: Junyi Du <[email protected]>
|
|
|
+ * References:
|
|
|
+ * https://stackoverflow.com/questions/8892238/detect-keyboard-layout-with-javascript
|
|
|
+ * ***/
|
|
|
|
|
|
-
|
|
|
-// typing 【
|
|
|
export let dispatch_kb_events = async function (page, selector, keyboard_events ){
|
|
|
for (let idx in keyboard_events){
|
|
|
- let { event_type, event } = keyboard_events[idx]
|
|
|
+ let { event_type, event, latency } = keyboard_events[idx]
|
|
|
+ await page.waitForTimeout(latency)
|
|
|
await page.dispatchEvent(selector, event_type, event)
|
|
|
- await page.waitForTimeout(100)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -21,9 +24,24 @@ export let macos_pinyin_left_full_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": false,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": false
|
|
|
+ },
|
|
|
+ "latency": 0
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "keypress",
|
|
|
+ "event": {
|
|
|
+ "key": "【",
|
|
|
+ "code": "BracketLeft",
|
|
|
+ "location": 0,
|
|
|
+ "ctrlKey": false,
|
|
|
+ "shiftKey": false,
|
|
|
+ "altKey": false,
|
|
|
+ "metaKey": false,
|
|
|
+ "repeat": false,
|
|
|
+ "isComposing": false
|
|
|
+ },
|
|
|
+ "latency": 1
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -36,9 +54,9 @@ export let macos_pinyin_left_full_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": false,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": false
|
|
|
+ },
|
|
|
+ "latency": 17
|
|
|
}
|
|
|
]
|
|
|
|
|
@@ -54,9 +72,29 @@ export let win10_pinyin_left_full_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": false,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": false
|
|
|
+ },
|
|
|
+ "latency": 0
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionstart",
|
|
|
+ "event": {},
|
|
|
+ "latency": 4
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionupdate",
|
|
|
+ "event": {},
|
|
|
+ "latency": 0
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionupdate",
|
|
|
+ "event": {},
|
|
|
+ "latency": 12
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionend",
|
|
|
+ "event": {},
|
|
|
+ "latency": 1
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -69,9 +107,9 @@ export let win10_pinyin_left_full_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": false,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": false
|
|
|
+ },
|
|
|
+ "latency": 61
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -84,9 +122,9 @@ export let win10_pinyin_left_full_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": false,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": false
|
|
|
+ },
|
|
|
+ "latency": 1
|
|
|
}
|
|
|
]
|
|
|
|
|
@@ -102,9 +140,29 @@ export let win10_legacy_pinyin_left_full_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": false,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": false
|
|
|
+ },
|
|
|
+ "latency": 0
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionstart",
|
|
|
+ "event": {},
|
|
|
+ "latency": 1
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionupdate",
|
|
|
+ "event": {},
|
|
|
+ "latency": 0
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionupdate",
|
|
|
+ "event": {},
|
|
|
+ "latency": 0
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionend",
|
|
|
+ "event": {},
|
|
|
+ "latency": 1
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -117,9 +175,9 @@ export let win10_legacy_pinyin_left_full_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": false,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": false
|
|
|
+ },
|
|
|
+ "latency": 93
|
|
|
}
|
|
|
]
|
|
|
|
|
@@ -135,9 +193,19 @@ export let macos_pinyin_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": false,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": false
|
|
|
+ },
|
|
|
+ "latency": 0
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionstart",
|
|
|
+ "event": {},
|
|
|
+ "latency": 1
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionupdate",
|
|
|
+ "event": {},
|
|
|
+ "latency": 0
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -150,9 +218,9 @@ export let macos_pinyin_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 48
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keydown",
|
|
@@ -165,9 +233,9 @@ export let macos_pinyin_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 627
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -180,9 +248,9 @@ export let macos_pinyin_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 59
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keydown",
|
|
@@ -195,9 +263,9 @@ export let macos_pinyin_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 289
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -210,9 +278,9 @@ export let macos_pinyin_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 73
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keydown",
|
|
@@ -225,9 +293,9 @@ export let macos_pinyin_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 443
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -240,9 +308,9 @@ export let macos_pinyin_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 79
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keydown",
|
|
@@ -255,9 +323,9 @@ export let macos_pinyin_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 155
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -270,9 +338,14 @@ export let macos_pinyin_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 44
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "event_type": "compositionend",
|
|
|
+ "event": {},
|
|
|
+ "latency": 968
|
|
|
}
|
|
|
]
|
|
|
|
|
@@ -281,61 +354,26 @@ export let win10_RIME_selecting_candidate_double_left_bracket = [
|
|
|
"event_type": "keydown",
|
|
|
"event": {
|
|
|
"key": "Process",
|
|
|
- "code": "KeyA",
|
|
|
+ "code": "BracketRight",
|
|
|
"location": 0,
|
|
|
"ctrlKey": false,
|
|
|
"shiftKey": false,
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": false,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": false
|
|
|
+ },
|
|
|
+ "latency": 0
|
|
|
},
|
|
|
{
|
|
|
- "event_type": "keyup",
|
|
|
- "event": {
|
|
|
- "key": "Process",
|
|
|
- "code": "KeyA",
|
|
|
- "location": 0,
|
|
|
- "ctrlKey": false,
|
|
|
- "shiftKey": false,
|
|
|
- "altKey": false,
|
|
|
- "metaKey": false,
|
|
|
- "repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "event_type": "compositionstart",
|
|
|
+ "event": {},
|
|
|
+ "latency": 0
|
|
|
},
|
|
|
{
|
|
|
- "event_type": "keyup",
|
|
|
- "event": {
|
|
|
- "key": "a",
|
|
|
- "code": "KeyA",
|
|
|
- "location": 0,
|
|
|
- "ctrlKey": false,
|
|
|
- "shiftKey": false,
|
|
|
- "altKey": false,
|
|
|
- "metaKey": false,
|
|
|
- "repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- "event_type": "keydown",
|
|
|
- "event": {
|
|
|
- "key": "Process",
|
|
|
- "code": "BracketRight",
|
|
|
- "location": 0,
|
|
|
- "ctrlKey": false,
|
|
|
- "shiftKey": false,
|
|
|
- "altKey": false,
|
|
|
- "metaKey": false,
|
|
|
- "repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "event_type": "compositionupdate",
|
|
|
+ "event": {},
|
|
|
+ "latency": 0
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -348,9 +386,9 @@ export let win10_RIME_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 79
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
@@ -363,98 +401,58 @@ export let win10_RIME_selecting_candidate_double_left_bracket = [
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 3
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keydown",
|
|
|
"event": {
|
|
|
"key": "Process",
|
|
|
- "code": "BracketLeft",
|
|
|
+ "code": "BracketRight",
|
|
|
"location": 0,
|
|
|
"ctrlKey": false,
|
|
|
"shiftKey": false,
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 237
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
|
"event": {
|
|
|
"key": "Process",
|
|
|
- "code": "BracketLeft",
|
|
|
- "location": 0,
|
|
|
- "ctrlKey": false,
|
|
|
- "shiftKey": false,
|
|
|
- "altKey": false,
|
|
|
- "metaKey": false,
|
|
|
- "repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- "event_type": "keyup",
|
|
|
- "event": {
|
|
|
- "key": "[",
|
|
|
- "code": "BracketLeft",
|
|
|
- "location": 0,
|
|
|
- "ctrlKey": false,
|
|
|
- "shiftKey": false,
|
|
|
- "altKey": false,
|
|
|
- "metaKey": false,
|
|
|
- "repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- "event_type": "keydown",
|
|
|
- "event": {
|
|
|
- "key": "Process",
|
|
|
- "code": "BracketLeft",
|
|
|
+ "code": "BracketRight",
|
|
|
"location": 0,
|
|
|
"ctrlKey": false,
|
|
|
"shiftKey": false,
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 96
|
|
|
},
|
|
|
{
|
|
|
"event_type": "keyup",
|
|
|
"event": {
|
|
|
- "key": "Process",
|
|
|
- "code": "BracketLeft",
|
|
|
+ "key": "]",
|
|
|
+ "code": "BracketRight",
|
|
|
"location": 0,
|
|
|
"ctrlKey": false,
|
|
|
"shiftKey": false,
|
|
|
"altKey": false,
|
|
|
"metaKey": false,
|
|
|
"repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "isComposing": true
|
|
|
+ },
|
|
|
+ "latency": 3
|
|
|
},
|
|
|
{
|
|
|
- "event_type": "keyup",
|
|
|
- "event": {
|
|
|
- "key": "[",
|
|
|
- "code": "BracketLeft",
|
|
|
- "location": 0,
|
|
|
- "ctrlKey": false,
|
|
|
- "shiftKey": false,
|
|
|
- "altKey": false,
|
|
|
- "metaKey": false,
|
|
|
- "repeat": false,
|
|
|
- "isComposing": true,
|
|
|
- "composed": true
|
|
|
- }
|
|
|
+ "event_type": "compositionend",
|
|
|
+ "event": {},
|
|
|
+ "latency": 1479
|
|
|
}
|
|
|
]
|