mirror of
https://github.com/vale981/tridactyl
synced 2025-03-04 17:11:40 -05:00
Stop buffering keys after 5s in the event clInput is never focused
This commit is contained in:
parent
7f6d8603b2
commit
6c0d4d7973
2 changed files with 8 additions and 1 deletions
|
@ -185,10 +185,10 @@ export function focus() {
|
|||
clInputValueChanged()
|
||||
}
|
||||
}
|
||||
logger.debug("commandline_frame clInput focus()")
|
||||
commandline_state.clInput.focus()
|
||||
commandline_state.clInput.removeEventListener("blur", noblur)
|
||||
commandline_state.clInput.addEventListener("blur", noblur)
|
||||
logger.debug("commandline_frame clInput focus(), activeElement is clInput: " + (window.document.activeElement === commandline_state.clInput))
|
||||
Messaging.messageOwnTab("buffered_page_keys").then(consumeBufferedPageKeys)
|
||||
}
|
||||
|
||||
|
|
|
@ -104,6 +104,7 @@ export const canceller = new KeyCanceller()
|
|||
|
||||
let mustBufferPageKeysForClInput = false
|
||||
let bufferedPageKeys: string[] = []
|
||||
let stopBufferingPageKeysTimeoutId : number
|
||||
Messaging.addListener("buffered_page_keys", (message, sender, sendResponse) => {
|
||||
logger.debug("buffered_page_keys request received, responding with", bufferedPageKeys)
|
||||
sendResponse(Promise.resolve(bufferedPageKeys))
|
||||
|
@ -111,6 +112,7 @@ Messaging.addListener("buffered_page_keys", (message, sender, sendResponse) => {
|
|||
// until it is refocused.
|
||||
mustBufferPageKeysForClInput = false
|
||||
bufferedPageKeys = []
|
||||
clearTimeout(stopBufferingPageKeysTimeoutId);
|
||||
})
|
||||
|
||||
/** Accepts keyevents, resolves them to maps, maps to exstrs, executes exstrs */
|
||||
|
@ -207,6 +209,11 @@ function* ParserController() {
|
|||
logger.debug("Starting buffering of page keys")
|
||||
mustBufferPageKeysForClInput = true
|
||||
bufferedPageKeys = []
|
||||
// Stop buffering keys after 5s if something goes wrong and clInput never gets focused.
|
||||
stopBufferingPageKeysTimeoutId = setTimeout(() => {
|
||||
logger.debug("Aborting buffering of page keys since clInput still has not been focused")
|
||||
mustBufferPageKeysForClInput = false
|
||||
}, 5000)
|
||||
}
|
||||
break
|
||||
} else {
|
||||
|
|
Loading…
Add table
Reference in a new issue