parent
d82c33d774
commit
7576cd859a
@ -0,0 +1,36 @@ |
||||
$.ready(() => { |
||||
const input = qs('#softkb-input') |
||||
let keyboardOpen = false |
||||
|
||||
let updateInputPosition = function () { |
||||
if (!keyboardOpen) return |
||||
|
||||
let [x, y] = Screen.gridToScreen(Screen.cursor.x, Screen.cursor.y) |
||||
input.style.transform = `translate(${x}px, ${y}px)` |
||||
} |
||||
|
||||
input.addEventListener('focus', () => { |
||||
keyboardOpen = true |
||||
updateInputPosition() |
||||
}) |
||||
input.addEventListener('blur', () => (keyboardOpen = false)) |
||||
Screen.on('cursor-moved', updateInputPosition) |
||||
|
||||
window.kbOpen = function openSoftKeyboard (open) { |
||||
keyboardOpen = open |
||||
updateInputPosition() |
||||
if (open) input.focus() |
||||
else input.blur() |
||||
} |
||||
|
||||
input.addEventListener('keydown', e => { |
||||
if (e.key === 'Backspace') { |
||||
e.preventDefault() |
||||
e.stopPropagation() |
||||
Input.sendString('\b') |
||||
} |
||||
}) |
||||
input.addEventListener('keypress', e => { |
||||
e.stopPropagation() |
||||
}) |
||||
}) |
Loading…
Reference in new issue