Want to highlight a helpful answer? Upvote!

Did someone help you, or did an answer or User Tip resolve your issue? Upvote by selecting the upvote arrow. Your feedback helps others! Learn more about when to upvote >

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

iOS 8 Bluetooth Keyboard: Safari issues

Is anyone else having this problem?


In Mobile Safari (iOS 8) it is no longer possible to mark a word or a sentence with a connected bluetooth keyboard. In textfields the cursor simply jumps from word to word but does not mark it. So no copying or deleting of text passages is possible with the bluetooth keyboard. I tested this with iPhone 6 Plus, iPad Air and the Apple Wireless Keyboard and several web sites, including this forum. Only CMD+A to mark everything works. In iOS 6 and 7 this was no problem.


This is a rather annoying issue since editing text in Wordpress or any other web-based form fields now requires using the touchscreen.

iPad Air Wi-Fi, Cellular, iOS 8

Posted on Sep 30, 2014 10:02 AM

Reply
18 replies

Jan 20, 2015 2:10 PM in response to wiseguy71

This is a symptom of an underlying bug in Safari (iOS 8 only). I first encountered this problem when using a bluetooth barcode scanner in HID mode. Using the Notes app, I can scan very fast, with no characters skipped/truncated. In Safari, in the most simple web form, with a single input text field or textarea, the character skipping/truncating is intermittent. This is not specific to barcode scanners. You can reproduce the same issue with any bluetooth keyboard, if you can type fast enough but accurately so you know that it's skipping/truncating. If someone thinks I'm overlooking something, please chime in!


My findings:

  • I just installed iOS 8.2 beta on my iPad Air and the issue is still there.
  • This only occurs with bluetooth keyboards paired in HID mode.
  • I tracked the keyboard events while scanning and here's what I found. The textinput event fires for the first few characters but not for the rest. So I tried to scan this text: LOT00002. But the "T" and "2" were omitted because the TEXTINPUT event didn't fire after the keypress event. See bold and orange lines...


keydown keyCode=76 (L) which=76 (L) charCode=0

keypress keyCode=76 (L) which=76 (L) charCode=76 (L)

textInput data=L

keyup keyCode=0 which=0 charCode=0

keydown keyCode=79 (O) which=79 (O) charCode=0

keypress keyCode=79 (O) which=79 (O) charCode=79 (O)

keyup keyCode=0 which=0 charCode=0

textInput data=O

keydown keyCode=84 (T) which=84 (T) charCode=0

keypress keyCode=84 (T) which=84 (T) charCode=84 (T)

keyup keyCode=0 which=0 charCode=0

[MISSING textInput event]

keydown keyCode=48 (0) which=48 (0) charCode=0

keypress keyCode=48 (0) which=48 (0) charCode=48 (0)

textInput data=0

keyup keyCode=0 which=0 charCode=0

keydown keyCode=48 (0) which=48 (0) charCode=0

keypress keyCode=48 (0) which=48 (0) charCode=48 (0)

keyup keyCode=0 which=0 charCode=0

textInput data=0

keydown keyCode=48 (0) which=48 (0) charCode=0

keypress keyCode=48 (0) which=48 (0) charCode=48 (0)

textInput data=0

keyup keyCode=0 which=0 charCode=0

keydown keyCode=48 (0) which=48 (0) charCode=0

keypress keyCode=48 (0) which=48 (0) charCode=48 (0)

textInput data=0

keyup keyCode=0 which=0 charCode=0

keydown keyCode=50 (2) which=50 (2) charCode=0

keypress keyCode=50 (2) which=50 (2) charCode=50 (2)

keyup keyCode=0 which=0 charCode=0

[MISSING textInput event]

keydown keyCode=13 which=13 charCode=0

keypress keyCode=13 which=13 charCode=13

keyup keyCode=0 which=0 charCode=0

Feb 3, 2015 5:41 AM in response to wiseguy71

I reported the bug myself via the Apple Bug Reporter under iOS, but have yet to see any activity. See: https://developer.apple.com/bug-reporting/


I'm going to report it under Safari now. Maybe someone will see it then. This is very frustrating as I had to implement my own keydown handler to intercept all keys and fake the input in the input text field. It works so at least customers can use their BT scanners without missing a beat.

Feb 10, 2015 11:26 AM in response to dfcressw

Here's a working JSFiddle: http://jsfiddle.net/vidala/0cweo6tn/

The gist of the custom handler is to capture all keypress events and update the text field programatically. It's an illusion, but it works.


BTW, you'll need to login to JSFiddle if you want to "Debug on mobile" option to appear.

Tested with...

  • Safari
  • iPad Air (iOS 8.2 beta 4)
  • Socket Mobile BT scanner

Mar 18, 2015 3:18 PM in response to wiseguy71

Wow. We have the exact same problem. Tested on iPad, iPhone 6+ with iOS8 and can duplicate the problem exactly. I'm really surprised that Apple has dropped the ball on this. It needs to be rectified immediately. It looks like Safari is having problems keeping up with the speed of the characters being transmitted by the bluetooth scanner. It worked up until iOS7, so Apple certainly broke something.


I installed Chrome for iOS and it functions perfectly there. I find it hard to swallow to tell our users to download and use a different browser on their iOS device. It should not have to be that way.


It works fine on MacOSX in Safari though, so the problem definitely confined only on iOS8 devices.


Apple needs to get this problem fixed pronto.

May 3, 2016 3:42 AM in response to Gmon750

We are facing the same issue here.......Tested on iPad 2, iOS 9.3.1 both safari and chrome 49.

Sometimes our bar code scanner entries are getting truncated inside textbox on html page browsed in safari or chrome.

Sometimes the carriage return do not reach to the text box. It happens intermittently.

Reproduced by independent people on independent set of hardware.

I opened a ticket#26060679.

Oct 25, 2016 1:33 PM in response to wiseguy71

Having the same issue here iOS 10.

If I disable the barcode scanner from sending the Carriage Return/Enter code at the end, I get the full barcode read no problem. it's like the enter key gets precedence over anything else that might be in the keyboard buffer.

I'm going to see if I can rig up some javascript that delays the processing of the enter key for a half second.

Nov 3, 2016 6:04 AM in response to youbet1980

I could not get the delayed submit to work, but having javascript catch the enter key and ignore it did. It makes the barcode scanner a pain to use, because you have to tap the screen to submit the form yourself, but it's a decent workaround.


I can probably set it up so it auto-submits the form when it hits 22 digits (the length of the barcodes), but there are also 16 and 20 digit ones, so will take a bunch of code to make it work right. Haven't gotten around to that part yet.

iOS 8 Bluetooth Keyboard: Safari issues

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.