The KeyboardEvent interface's key read-only property returns the value of the key pressed by the user, taking into consideration the state of modifier keys such as Shift as well as the keyboard locale and layout.
Here's the event printed in my firefox developer console:
note: code is Escape, but key and keyCode do not correspond to escape.
Steps to reproduce:
(sorry, not the most helpful reproduction, but it's how I encountered it)
I didn't provide a link to example of issue as I think it's explained by the mozilla docs quite decisively, and would just be a totally standard modal... it's dependent on the users input method.
Summary:
In https://github.com/reactjs/react-modal/blob/e7c4a63eb5f19dd85d03b83cb25566fafe7b85ae/src/components/ModalPortal.js#L25-L26 to detect tab/esc keypress it uses
event.code
but should useevent.key
See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code which says:
And https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key says:
Here's the event printed in my firefox developer console:
note:
code
isEscape
, butkey
andkeyCode
do not correspond to escape.Steps to reproduce:
(sorry, not the most helpful reproduction, but it's how I encountered it)
Expected behavior:
the emoji would be inserted in the form field
Link to example of issue:
Additional notes:
I didn't provide a link to example of issue as I think it's explained by the mozilla docs quite decisively, and would just be a totally standard modal... it's dependent on the users input method.