Bug 137072 - iOS Hardware Keyboard events have ctrlKey = true set when CapsLock is on
Summary: iOS Hardware Keyboard events have ctrlKey = true set when CapsLock is on
Status: RESOLVED CONFIGURATION CHANGED
Alias: None
Product: WebKit
Classification: Unclassified
Component: UI Events (show other bugs)
Version: 528+ (Nightly build)
Hardware: iPhone / iPad iOS 7.0
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks: 190571
  Show dependency treegraph
 
Reported: 2014-09-24 12:40 PDT by Alan
Modified: 2019-06-14 21:08 PDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alan 2014-09-24 12:40:44 PDT
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.
Comment 1 Radar WebKit Bug Importer 2014-09-24 18:26:25 PDT
<rdar://problem/18449540>
Comment 2 Alexey Proskuryakov 2014-09-24 18:27:17 PDT
Could you please test on iOS 8?
Comment 3 Alan 2014-10-07 11:53:43 PDT
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.
Comment 4 Piotrek Koszuliński (Reinmar) 2014-10-08 07:19:26 PDT
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.
Comment 5 Alan 2015-04-23 12:33:05 PDT
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?
Comment 6 Daniel Bates 2018-09-27 14:26:28 PDT
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".
Comment 7 Daniel Bates 2019-06-14 21:08:22 PDT
I am unable to reproduce this issue. Closing Resolved Configuration Changed.