feat: support Korean IME mode for keyboard shortcuts via e.code (KeyF, KeyS, ㄹ, ㄴ)

main
I Luk Kim 3 weeks ago
parent e1bc485298
commit 0774c130de

@ -157,26 +157,18 @@ export function MangaViewer({
useEffect(() => { useEffect(() => {
const handler = (e: KeyboardEvent) => { const handler = (e: KeyboardEvent) => {
if (e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) return; if (e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) return;
switch (e.key) { if (e.code === 'ArrowRight') {
case 'ArrowRight': e.preventDefault();
e.preventDefault(); goNext();
goNext(); } else if (e.code === 'ArrowLeft') {
break; e.preventDefault();
case 'ArrowLeft': goPrev();
e.preventDefault(); } else if (e.code === 'KeyF' || e.key === 'f' || e.key === 'F' || e.key === 'ㄹ') {
goPrev(); toggleFullscreen();
break; } else if (e.code === 'KeyS' || e.key === 's' || e.key === 'S' || e.key === 'ㄴ') {
case 'f': setShowSettings((v) => !v);
case 'F': } else if (e.key === 'Escape') {
toggleFullscreen(); if (showSettings) setShowSettings(false);
break;
case 's':
case 'S':
setShowSettings((v) => !v);
break;
case 'Escape':
if (showSettings) setShowSettings(false);
break;
} }
}; };
window.addEventListener('keydown', handler); window.addEventListener('keydown', handler);

Loading…
Cancel
Save