blob: e2ef04b013fc7d2fa0a8b2d46b5ba9eefcdb5710 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
export function installImeBypass(term, sendFunction) {
if (typeof window.__zjImeBypass === "undefined") {
window.__zjImeBypass = {
installed: false,
sendFn: sendFunction,
lastKeyWasProcess: false,
};
}
window.__zjImeBypass.sendFn = sendFunction;
if (window.__zjImeBypass.installed) {
return;
}
window.__zjImeBypass.installed = true;
const state = window.__zjImeBypass;
document.addEventListener(
"keydown",
(ev) => {
state.lastKeyWasProcess = ev.key === "Process";
},
true
);
const attach = () => {
const ta = term && term._core && term._core.textarea;
if (!ta) {
setTimeout(attach, 50);
return;
}
ta.addEventListener(
"input",
(ev) => {
if (
state.lastKeyWasProcess &&
ev.inputType === "insertText" &&
!ev.isComposing &&
ev.data
) {
state.sendFn(ev.data);
ev.target.value = "";
state.lastKeyWasProcess = false;
}
},
true
);
};
attach();
}
|