Bug 137072
Summary: | iOS Hardware Keyboard events have ctrlKey = true set when CapsLock is on | ||
---|---|---|---|
Product: | WebKit | Reporter: | Alan <areeve> |
Component: | UI Events | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED CONFIGURATION CHANGED | ||
Severity: | Normal | CC: | ap, areeve, dbates, enrica, pkoszulinski, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | 528+ (Nightly build) | ||
Hardware: | iPhone / iPad | ||
OS: | iOS 7.0 | ||
Bug Depends on: | |||
Bug Blocks: | 190571 |
Alan
When a hardware keyboard is connected to an iPad (Bluetooth or physically connected) and the keyboard has its CapsLock key on then keyboard events (keydown/keypress/keyup) detected via JavaScript all have the ctrlKey property as 'true'. This has been tested on several iPads/keyboards and I am told this worked ok in iOS 6.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/18449540>
Alexey Proskuryakov
Could you please test on iOS 8?
Alan
Was finally able to test this on iOS 8 (8.0.2) and the result was the same. When the Caps-Lock key is on the ctrl key flag comes through as true in the javascript event. When Caps-Lock is off and the Ctrl key is pressed the ctrl key flag comes through as false.
Piotrek Koszuliński (Reinmar)
This issue affects CKEditor pretty badly (http://dev.ckeditor.com/ticket/12477). I guess that every application which has some keystrokes handling have the same problem.
Alan
I just tried on iOS 8.2 and this is STILL broken. Also tried on iOS 6.1 and it doesn't work there either so perhaps STILL broken is wrong and this never worked.
This is a major impediment to anyone trying to use a JavaScript based editor such as CKEditor on iOS. Any plans to fix this any time soon?
Daniel Bates
Alan, are you still able to reproduce this issue? I am not seeing this behavior on iOS 12 when I disable "Switching Languages using Caps Lock" (*) and testing using <https://unixpapa.com/js/testkey.html> with showing modifiers checked.
(*) Ensure a hardware keyboard is attached or paired and then open the Settings app and choose General > Keyboards > Hardware Keyboard. Then disable "Switching Languages using Caps Lock".
Daniel Bates
I am unable to reproduce this issue. Closing Resolved Configuration Changed.