TKK_E32210823/js/my-simple-keyboard.js

50 lines
1.2 KiB
JavaScript

let Keyboard = window.SimpleKeyboard.default;
let selectedInput;
let keyboard = new Keyboard({
onChange: input => onChange(input),
onKeyPress: button => onKeyPress(button)
});
document.querySelectorAll(".input").forEach(input => {
input.addEventListener("focus", onInputFocus);
// Optional: Use if you want to track input changes
// made without simple-keyboard
input.addEventListener("input", onInputChange);
});
function onInputFocus(event) {
selectedInput = `#${event.target.id}`;
keyboard.setOptions({
inputName: event.target.id
});
}
function onInputChange(event) {
keyboard.setInput(event.target.value, event.target.id);
}
function onChange(input) {
console.log("Input changed", input);
document.querySelector(selectedInput || ".input").value = input;
}
function onKeyPress(button) {
console.log("Button pressed", button);
/**
* Shift functionality
*/
if (button === "{lock}" || button === "{shift}") handleShiftButton();
}
function handleShiftButton() {
let currentLayout = keyboard.options.layoutName;
let shiftToggle = currentLayout === "default" ? "shift" : "default";
keyboard.setOptions({
layoutName: shiftToggle
});
}