Hacky way to show on-screen keyboard

Doesn't work some of the time.
pull/472/head
Lim Chee Aun 2024-03-27 21:22:47 +08:00
rodzic 311160983f
commit d2af509eaf
2 zmienionych plików z 18 dodań i 0 usunięć

Wyświetl plik

@ -1,6 +1,7 @@
import { useHotkeys } from 'react-hotkeys-hook';
import openCompose from '../utils/open-compose';
import openOSK from '../utils/open-osk';
import states from '../utils/states';
import Icon from './icon';
@ -14,6 +15,7 @@ export default function ComposeButton() {
states.showCompose = true;
}
} else {
openOSK();
states.showCompose = true;
}
}

Wyświetl plik

@ -0,0 +1,16 @@
const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); // https://stackoverflow.com/a/23522755
export default function openOSK() {
if (isSafari) {
const fauxEl = document.createElement('input');
fauxEl.style.position = 'absolute';
fauxEl.style.top = '0';
fauxEl.style.left = '0';
fauxEl.style.opacity = '0';
document.body.appendChild(fauxEl);
fauxEl.focus();
setTimeout(() => {
document.body.removeChild(fauxEl);
}, 500);
}
}