- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 143
 
Description
Early in Phosphor/Lumino's development, we decided to use .keyCode instead of .key for the basis of the keyboard shortcut system. This came about in part because (among other things) we realized that browsers were inconsistent with the .key attribute when modifiers were used. For example (and I just checked this is still the case with Firefox 76), in Firefox we saw that on a mac, pressing the numbers on a en-us keyboard layout while holding shift, control, alt, and command, led to the following sequence of event.key attributes:
1@345^7890
On Chrome, we get:
1€345fl7890
I suppose once browsers can be consistent about .key, we can look again at a keyboard shortcut system that depends on it. A nice thing about using .key is that presumably it would transparently support different keyboard maps, instead of relying on manually creating and selecting keyboard maps.
Another option, as @vidartf points out below, is moving to the .code attribute, especially since .keyCode is both deprecated and a bit convoluted across different browsers.