Ref T10252. The previous fix rPa8a9fddb0738 only works for macOS.
Under Windows the @ symbol is composed of AltGr+q. For Chrome and Edge the "AltGr" keypressEvent is like pressing the Control key and the Alt key at the same time.
This fix changes the condition in such a way, that this case (pressing Control and Alt at the same time) is not blocked.
Details
Testing for the issue:
- Launch Windows 10, Select German Keyboard, Use latest Chrome (60)
- Observe typing @ does not trigger typeahead
- Apply patch, retest, see typeahead.
Regression tested:
- Windows 10, Chrome, Firefox, Edge
- Mac OS, Chrome, Firefox, Safari
- Keyboard layouts, English, French, German, Spanish
All tests passed
Diff Detail
- Repository
- rP Phabricator
- Branch
- username-typeahead-fix (branched from master)
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 17784 Build 24024: Run Core Tests Build 23880: arc lint + arc unit
Event Timeline
Let me try to scare up some decent way to test this today then I can just let it fly and revert if we get more tasks about it.
@epriestley I am comfortable enough to ship this - at least I tested it reasonably well.
Here's, e.g., a user complaining that another piece of software implemented a similar behavior, hijacking ⌃+Alt+V which they intend to mean "Paste Special":
https://superuser.com/questions/403011/evernote-hijacked-my-ctrlaltv-shortcut-how-can-i-get-it-back
However, we don't hijack the keystroke and don't autocomplete on "V", so I think this is fine until we run into tangible issues with it.
(I also think "Paste Special" probably isn't meaningful in browsers, I think that user was maybe using a Windows extension or toolbar or something, not complaining about website/browser behavior.)