Submitted by dvdmth on Sunday, March 16, 2014.
I figured this was worth creating a new topic. I know some are reluctant to upgrade to iOS 7.1 because of issues people have had with Bluetooth keyboards in the new version. A workaround was suggested in the blog comments, and I have done some testing with this workaround and find it very helpful. I will share what I've found here.
First off, I will identify exactly what the issue is being dealt with here. Specifically, it involves trying to type into a text field and discovering that none of the keystrokes are registering, that nothing is being put in the text field and/or that the arrow keys cannot be used to navigate within the field, even though Quick Nav is off. VoiceOver commands still work. It is just the regular keystrokes for controlling the app that aren't working reliably.
As was mentioned in the blog comments, the issue is apparently caused by the Control key, which is used to pause or resume VoiceOver speech. This function did not work under iOS 7.0.x, but it was fixed in iOS 7.1. Unfortunately, the fix has triggered this, more serious issue. Now, anytime Control is pressed by itself, any subsequent keystrokes will not get passed to the app, making text input impossible.
The workaround that was suggested in the comments was to issue a VoiceOver command that involved the Control and Option keys, also known as the VO keys, such as Control + Option + Right Arrow. This appears to work to fix the problem, based on my testing. Indeed, it appears that simply pressing Control + Option is enough to fix the problem, without having to issue any VO commands. The trick is to make sure you release the Control and Option keys simultaneously, or release Control before releasing Option. If you release Option first and Control later, you will actually trigger the bug rather than working around it.
You can avoid the problem altogether by not using any VoiceOver commands that involve Control only. This includes using Control to pause or resume speech, using Control + Left or Right Arrow to move by container, and using Control + Up or Down Arrow to move to the top or bottom of the screen. If you are like me and use the Control + arrow keys frequently, you can use a trick I found as follows: Press Control + Arrow, but hold down the Control key after pressing the arrow. Then press Option in addition to Control, and finally release both keys. This will not only keep the bug from happening, it will also prevent VoiceOver speech from pausing right after beginning to speak the new item.
I will note that this only prevents the more common BT keyboard issue introduced in iOS 7.1. There are still a few quirks that show up from time to time, such as the iOS device acting like a modifier key was pressed when it wasn't, or a key repeating itself after you press it, but those issues were also in iOS 7.0 and are not new in 7.1.
I hope this information is found to be useful for some of you. I am glad I learned of the workaround and hope it will making the iOS 7.1 experience better for others as well.