From 611eaaa05d2dd0e9787f70eed92f48bb0d1e9428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com> Date: Tue, 8 Nov 2022 08:40:30 +0000 Subject: [PATCH] feat: new keyboards --- examples/web/react/components/button/button.tsx | 5 ++--- .../components/keyboard-chip8/keyboard-chip8.tsx | 9 ++++++++- .../react/components/keyboard-gb/keyboard-gb.tsx | 15 +++++++++++++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/examples/web/react/components/button/button.tsx b/examples/web/react/components/button/button.tsx index 21adf106..4778c405 100644 --- a/examples/web/react/components/button/button.tsx +++ b/examples/web/react/components/button/button.tsx @@ -44,9 +44,8 @@ export const Button: FC<ButtonProps> = ({ event.target.value = ""; }; const onKeyPress = (event: React.KeyboardEvent) => { - if (event.key == "Enter") { - onClick && onClick(); - } + if (event.key !== "Enter") return; + onClick && onClick(); }; const renderSimple = () => ( <span diff --git a/examples/web/react/components/keyboard-chip8/keyboard-chip8.tsx b/examples/web/react/components/keyboard-chip8/keyboard-chip8.tsx index 897cc353..dd5bafd7 100644 --- a/examples/web/react/components/keyboard-chip8/keyboard-chip8.tsx +++ b/examples/web/react/components/keyboard-chip8/keyboard-chip8.tsx @@ -17,7 +17,14 @@ export const KeyboardChip8: FC<KeyboardChip8Props> = ({ <span className="key" key={key} - onKeyDown={() => onKeyDown && onKeyDown(key)} + tabIndex={0} + onKeyDown={(event) => { + if (event.key !== "Enter") return; + onKeyDown && onKeyDown(key); + event.stopPropagation(); + event.preventDefault(); + }} + onClick={() => onKeyDown && onKeyDown(key)} > {key} </span> diff --git a/examples/web/react/components/keyboard-gb/keyboard-gb.tsx b/examples/web/react/components/keyboard-gb/keyboard-gb.tsx index f1e4816b..1696c937 100644 --- a/examples/web/react/components/keyboard-gb/keyboard-gb.tsx +++ b/examples/web/react/components/keyboard-gb/keyboard-gb.tsx @@ -28,6 +28,21 @@ export const KeyboardGB: FC<KeyboardGBProps> = ({ " " )} key={keyName || key} + tabIndex={0} + onKeyDown={(event) => { + if (event.key !== "Enter") return; + setPressed(true); + onKeyDown && onKeyDown(keyName || key); + event.stopPropagation(); + event.preventDefault(); + }} + onKeyUp={(event) => { + if (event.key !== "Enter") return; + setPressed(false); + onKeyUp && onKeyUp(keyName || key); + event.stopPropagation(); + event.preventDefault(); + }} onMouseDown={(event) => { setPressed(true); onKeyDown && onKeyDown(keyName || key); -- GitLab