Disable on-screen keyboard when smartphone is detected #14
This commit is contained in:
parent
0ab45c6e68
commit
548af757e7
1 changed files with 38 additions and 34 deletions
|
@ -41,42 +41,46 @@
|
|||
"{bksp} . ,"
|
||||
]
|
||||
}
|
||||
// Check if on smartphone
|
||||
let onSmartphone = navigator.userAgent.toLowerCase().match(/android|webos|iphone|ipod|blackberry/i) != null;
|
||||
console.log(onSmartphone)
|
||||
// Configure keyboard when all DOM content has loaded
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
// Get element to send input to
|
||||
let keyboardInputElement = document.querySelector(".keyboard-input");
|
||||
// Get language code
|
||||
let layoutCode = document.getElementById("keyboard").dataset.layout;
|
||||
// Determine keyboard layout (default: en)
|
||||
let layout;
|
||||
switch (layoutCode) {
|
||||
case "de":
|
||||
layout = layout_de;
|
||||
break;
|
||||
case "numeric":
|
||||
layout = layout_numeric;
|
||||
break;
|
||||
default:
|
||||
layout = layout_en;
|
||||
}
|
||||
// determine if the numeric class has to be added
|
||||
if (layoutCode == "numeric") {
|
||||
theme = "hg-theme-default darkTheme numeric"
|
||||
}
|
||||
else {
|
||||
theme = "hg-theme-default darkTheme"
|
||||
}
|
||||
// virtual keyboard
|
||||
const Keyboard = window.SimpleKeyboard.default;
|
||||
const myKeyboard = new Keyboard({
|
||||
theme: theme,
|
||||
// choose german layout if language is de,
|
||||
// else choose english layout
|
||||
layout: layout,
|
||||
onChange: (input) => {
|
||||
keyboardInputElement.value = input;
|
||||
if (!onSmartphone) {
|
||||
// Get element to send input to
|
||||
let keyboardInputElement = document.querySelector(".keyboard-input");
|
||||
// Get language code
|
||||
let layoutCode = document.getElementById("keyboard").dataset.layout;
|
||||
// Determine keyboard layout (default: en)
|
||||
let layout;
|
||||
switch (layoutCode) {
|
||||
case "de":
|
||||
layout = layout_de;
|
||||
break;
|
||||
case "numeric":
|
||||
layout = layout_numeric;
|
||||
break;
|
||||
default:
|
||||
layout = layout_en;
|
||||
}
|
||||
});
|
||||
|
||||
// determine if the numeric class has to be added
|
||||
if (layoutCode == "numeric") {
|
||||
theme = "hg-theme-default darkTheme numeric";
|
||||
}
|
||||
else {
|
||||
theme = "hg-theme-default darkTheme";
|
||||
}
|
||||
// virtual keyboard
|
||||
const Keyboard = window.SimpleKeyboard.default;
|
||||
const myKeyboard = new Keyboard({
|
||||
theme: theme,
|
||||
// choose german layout if language is de,
|
||||
// else choose english layout
|
||||
layout: layout,
|
||||
onChange: (input) => {
|
||||
keyboardInputElement.value = input;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
})()
|
Loading…
Add table
Add a link
Reference in a new issue