From ee9811bf53d00a8117b760a392d769870f3efb38 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sun, 26 Nov 2023 14:29:03 +0100 Subject: [PATCH] Correctly detect keyboard input "Enter" (#479) The "code" property returns the physical key that was pressed. Thus, e.g. "Enter" on the numpad is "NumpadEnter" and not "Enter". --- src/components/reader/pager/DoublePagedPager.tsx | 2 +- src/components/reader/pager/PagedPager.tsx | 2 +- src/components/reader/pager/VerticalPager.tsx | 2 +- src/components/util/AppbarSearch.tsx | 13 ++++++------- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/components/reader/pager/DoublePagedPager.tsx b/src/components/reader/pager/DoublePagedPager.tsx index 245f14c3..5d6be26e 100644 --- a/src/components/reader/pager/DoublePagedPager.tsx +++ b/src/components/reader/pager/DoublePagedPager.tsx @@ -127,7 +127,7 @@ export function DoublePagedPager(props: IReaderProps) { } function keyboardControl(e: KeyboardEvent) { - switch (e.code) { + switch (e.key) { case 'Space': e.preventDefault(); nextPage(); diff --git a/src/components/reader/pager/PagedPager.tsx b/src/components/reader/pager/PagedPager.tsx index aef8cdfe..181e120f 100644 --- a/src/components/reader/pager/PagedPager.tsx +++ b/src/components/reader/pager/PagedPager.tsx @@ -54,7 +54,7 @@ export function PagedPager(props: IReaderProps) { } function keyboardControl(e: KeyboardEvent) { - switch (e.code) { + switch (e.key) { case 'Space': e.preventDefault(); nextPage(); diff --git a/src/components/reader/pager/VerticalPager.tsx b/src/components/reader/pager/VerticalPager.tsx index e377ac7a..c0bb2f5c 100644 --- a/src/components/reader/pager/VerticalPager.tsx +++ b/src/components/reader/pager/VerticalPager.tsx @@ -132,7 +132,7 @@ export function VerticalPager(props: IReaderProps) { useEffect(() => { const handleKeyboard = (e: KeyboardEvent) => { - switch (e.code) { + switch (e.key) { case 'Space': e.preventDefault(); go(e.shiftKey ? 'up' : 'down'); diff --git a/src/components/util/AppbarSearch.tsx b/src/components/util/AppbarSearch.tsx index 9a6e546d..b16c4234 100644 --- a/src/components/util/AppbarSearch.tsx +++ b/src/components/util/AppbarSearch.tsx @@ -66,15 +66,9 @@ export const AppbarSearch: React.FunctionComponent = (props) => { }; const handleKeyboardEvent = (e: KeyboardEvent) => { - if (e.code === 'F3' || (e.ctrlKey && e.code === 'KeyF')) { + if (e.key === 'F3' || (e.ctrlKey && e.key === 'f')) { e.preventDefault(); updateSearchOpenState(true); - return; - } - - if (e.code === 'Enter') { - e.preventDefault(); - handleChange(searchString); } }; @@ -131,6 +125,11 @@ export const AppbarSearch: React.FunctionComponent = (props) => { setSearchString(e.target.value)} + onKeyDown={(e) => { + if (e.key === 'Enter') { + handleChange(searchString); + } + }} onBlur={handleBlur} inputRef={inputRef} endAdornment={