let Keyboard = window.SimpleKeyboard.default; let keyboard; let currentInputClass; function setOptions() { keyboard.setOptions({ layout: { default: [ "q w e r t y u i o p", "a s d f g h j k l {backspace}", "{shift} z x c v b n m", "{numbers} {space} {spchars}" ], shift: [ "Q W E R T Y U I O P", "A S D F G H J K L {backspace}", "{shift} Z X C V B N M", "{numbers} {space} {spchars}" ], numbers: ["1 2 3", "4 5 6", "7 8 9", "{abc} 0 {backspace}"], spchars: [ '! @ # $ % ^ & * ( ) _ +', '~ - = ` \' " [ ] { }', '< > ? | \\ / : ; , .', '{numbers} {space} {abc}' ] }, display: { "{numbers}": "123", "{escape}": "esc ⎋", "{tab}": "tab ⇥", "{backspace}": "⌫", "{capslock}": "caps lock ⇪", "{shift}": "⇧", "{controlleft}": "ctrl ⌃", "{controlright}": "ctrl ⌃", "{altleft}": "alt ⌥", "{altright}": "alt ⌥", "{metaleft}": "cmd ⌘", "{metaright}": "cmd ⌘", "{abc}": "abc", "{space}": "␣", "{ent}": "↵", "{spchars}": "#@$" } }); } let selectedElem; function onChange(input) { selectedElem.value = input; } function onKeyPress(button) { if (button === '{clear}') { keyboard.setInput(''); selectedElem.value = ''; return; } let currentLayout = keyboard.options.layoutName; if (currentLayout === 'numeric') { return; } if (button === "{shift}") { handleShift(); } if (button === "{numbers}") { handleNumbers(); } if (button === "{abc}") { handleAbc(); } if (button === "{spchars}") { handleSpecialChars(); } } function handleShift() { let currentLayout = keyboard.options.layoutName; let shiftToggle = currentLayout === "default" ? "shift" : "default"; keyboard.setOptions({ layoutName: shiftToggle }); } function handleNumbers() { let currentLayout = keyboard.options.layoutName; let numbersToggle = currentLayout !== "numbers" ? "numbers" : "default"; keyboard.setOptions({ layoutName: numbersToggle }); } function handleAbc() { keyboard.setOptions({ layoutName: "default" }); } function handleSpecialChars() { let currentLayout = keyboard.options.layoutName; let spCharsToggle = currentLayout !== "spchars" ? "spchars" : "default"; keyboard.setOptions({ layoutName: spCharsToggle }); } function toggleKeyboard(e, inputElemClassName, maxLength) { for (let item of document.getElementsByClassName('vr-keyboard-section')) { item.innerHTML = ''; } document.getElementById(inputElemClassName + "_con").innerHTML = '