mirror of
https://github.com/ankitects/anki.git
synced 2026-01-11 04:53:55 -05:00
Pass keyboard events from inner reviewer
This commit is contained in:
parent
7f29a0d211
commit
f09cc303b6
3 changed files with 16 additions and 11 deletions
|
|
@ -78,14 +78,21 @@ addEventListener("message", async (e: MessageEvent<InnerReviewerRequest>) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
addEventListener("keydown", (e) => {
|
addEventListener("keydown", (e) => {
|
||||||
const keyInfo: ReviewerRequest = { type: "keypress", key: e.key, ctrl: e.ctrlKey, shift: e.shiftKey };
|
const keyInfo: ReviewerRequest = {
|
||||||
|
type: "keypress",
|
||||||
|
eventInit: {
|
||||||
|
key: e.key,
|
||||||
|
code: e.code,
|
||||||
|
altKey: e.altKey,
|
||||||
|
ctrlKey: e.ctrlKey,
|
||||||
|
shiftKey: e.shiftKey,
|
||||||
|
metaKey: e.metaKey,
|
||||||
|
repeat: e.repeat,
|
||||||
|
},
|
||||||
|
};
|
||||||
if (
|
if (
|
||||||
e.key.length == 1 && "1234 ".includes(e.key)
|
!document.activeElement?.matches("input[type=text], input[type=number], textarea") && e.key !== "Enter"
|
||||||
) {
|
) {
|
||||||
if (!document.activeElement?.matches("input[type=text], input[type=number], textarea")) {
|
|
||||||
postParentMessage(keyInfo);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
postParentMessage(keyInfo);
|
postParentMessage(keyInfo);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ export class ReviewerState {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "keypress": {
|
case "keypress": {
|
||||||
this.handleKeyPress(e.data.key, e.data.ctrl, e.data.shift);
|
dispatchEvent(new KeyboardEvent("keydown", e.data.eventInit));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "setstorage": {
|
case "setstorage": {
|
||||||
|
|
@ -272,7 +272,7 @@ export class ReviewerState {
|
||||||
}
|
}
|
||||||
|
|
||||||
public registerShortcuts() {
|
public registerShortcuts() {
|
||||||
document.addEventListener("keydown", this.onKeyDown.bind(this));
|
window.addEventListener("keydown", this.onKeyDown.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
sendInnerRequest(message: InnerReviewerRequest) {
|
sendInnerRequest(message: InnerReviewerRequest) {
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,7 @@ interface UpdateTypedAnswerMessage {
|
||||||
|
|
||||||
interface KeyPressMessage {
|
interface KeyPressMessage {
|
||||||
type: "keypress";
|
type: "keypress";
|
||||||
key: string;
|
eventInit: KeyboardEventInit;
|
||||||
ctrl: boolean;
|
|
||||||
shift: boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface SetStorageMessage {
|
interface SetStorageMessage {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue