Skip to content

Commit

Permalink
Fix arrow and page up/down keys detected as meta keys (#573)
Browse files Browse the repository at this point in the history
  • Loading branch information
vadimdemedes committed Mar 28, 2023
1 parent 71770f8 commit 09261d5
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
10 changes: 9 additions & 1 deletion src/hooks/use-input.ts
Expand Up @@ -164,7 +164,15 @@ const useInput = (inputHandler: Handler, options: Options = {}) => {
key.ctrl = true;
}

if (input.startsWith('\u001B')) {
if (
input.startsWith('\u001B') &&
!key.upArrow &&
!key.downArrow &&
!key.leftArrow &&
!key.rightArrow &&
!key.pageUp &&
!key.pageDown
) {
input = input.slice(1);
key.meta = true;
}
Expand Down
12 changes: 6 additions & 6 deletions test/fixtures/use-input.tsx
Expand Up @@ -31,32 +31,32 @@ function UserInput({test}: {test: string | undefined}) {
return;
}

if (test === 'upArrow' && key.upArrow) {
if (test === 'upArrow' && key.upArrow && !key.meta) {
exit();
return;
}

if (test === 'downArrow' && key.downArrow) {
if (test === 'downArrow' && key.downArrow && !key.meta) {
exit();
return;
}

if (test === 'leftArrow' && key.leftArrow) {
if (test === 'leftArrow' && key.leftArrow && !key.meta) {
exit();
return;
}

if (test === 'rightArrow' && key.rightArrow) {
if (test === 'rightArrow' && key.rightArrow && !key.meta) {
exit();
return;
}

if (test === 'pageDown' && key.pageDown) {
if (test === 'pageDown' && key.pageDown && !key.meta) {
exit();
return;
}

if (test === 'pageUp' && key.pageUp) {
if (test === 'pageUp' && key.pageUp && !key.meta) {
exit();
return;
}
Expand Down

0 comments on commit 09261d5

Please sign in to comment.