In this guide, we will show how to use inexpensive Bluetooth Keyboards and related devices to make iOS Switch Control interfaces. This video shows you how to do it and the guide blow shows everything you want to know!
What is iOS Switch Control?
Apple’s Switch Control for all iOS is a powerful AT interface on some of the most ubiquitous devices in the world: iPhones and iPads. It provides a scanning interface using one more switches and will work in most if not all iOS Apps. While not perfect, it does provide access to almost every feature in iOS for those users that rely on switches or have limited mobility.
One challenge with Switch Control is getting a switch that can work with it. You can’t plug in a physical AT Switch and the documentation is unclear just how the switches communicate. AT Vendors sell “Switch Control Compatible” switches, and they are solid and high-quality… but they are expensive and can’t be customized. You can also find some Switch Control interface that allow you to plug in traditional AT Switches and use them on iOS: here are a few examples:
All of these are good options and if you can get approval for them under Medicaid/CMS, that’s fine. But if not, or if you want to make a custom iOS Switch, you can make them out of Bluetooth Keyboards!
One thing that is not documented (anywhere we could find) is that iOS Switch Control will respond to a standard Bluetooth HID Keyboard. That means that ANY Bluetooth keyboard that can pair with a iPhone/iPad can be used as a switch. In fact, they are multi-switch devices with a separate switch available for every key on the keyboard.
HID is the Human Interface Device standard and was originally developed for USB. It basically is the standard for all keyboards made today-whether they’re USB or wireless. That includes “traditional” keyboard, Numeric Keypads and Maker components that can emulate a keyboard (like many Arduino-compatible boards).
Here’s some examples of Bluetooth Keyboards that will work for this type of project and that we’ve shown in the video:
Because iOS Switch Control supports HID Devices as switches, we can have an inexpensive and flexible way to bridge the gap between our users and their iPad or iPhone.
Bluetooth Keyboards under Switch Control
There are two steps to making a Bluetooth Keyboard act like a Switch Control device. First, you must connect it as a normal Bluetooth Keyboard, then you will configure its keys as switches in Switch Control.
Connecting the Keyboard
To connect a keyboard to your iOS device:
- On your iOS device, open the Settings app and tap on “Bluetooth”.
- Ensure that Bluetooth is enabled and scroll down to the bottom where it will say “Devices” and have a rotating wheel.
- Activate the “Pairing” function on your keyboard. This will differ by device, but will generally involve pressing or holding a button marked with a Bluetooth Symbol or blue marking.
- Your device should be added to the list of devices and say “Connected”
Configuring Switch Control
With the keyboard connected, you can now configure as many switches as you have keys on the keyboard. Here’s how you can setup two keys to works as “next” and “select” for two-switch scanning (you might want to watch the video as well):
- Under Settings, select “General” and then “Accessibility”
- Select “Switch Control” to access the detailed Switch Control settings.
- Under “Switches” tap on “Add New Switch”
- For “Source” choose “External”… Bluetooth Keyboards are external to the device. Other options like tapping the screen or using the camera are Internal to the device
- When asked to “Activate your external switch”, tap the key you want to assign.
- Choose the action you want to assign to this key – for the first button we chose “Move to Next Item” to make it our “Next” switch
- Repeat steps 3-6 to add a second switch. On the second switch, choose “Select Item” instead of “Move to Next Item”. (You might experiment with other options like “Tap” if your user can control more than 2 switches)
- Once your switches are setup, return to the main Switch Control screen and enable Switch Control. Your switches are now active.
Note that there are many options under Switch Control. One that you might setup right away is “Scanning Style”. For one-switch use, leave it as “Automatic”. For two-switches, “Manual” is a better choice.
More Creative Keyboards
If you’re a Maker, there are many ways you can take this knowledge and create solutions for AT Users! Here are just a few:
Bluefruit EZ-Key Interface
The Adafruit Bluefruit EZ-Key ($20) is a simple circuit board that does exactly what we want: it sends Bluetooth keystrokes when told to. By default, it sends 12 keys (1,2,3…a,s,d,w,etc.) when its pins are connected to ground. That means that if you connect a switch between “Pin 0” and “Ground” it will send the keystroke “1”. Once paired with an iOS device, this gives you a very easy way to create a custom interface. (If there is demand for a writeup of this, please tell us in the Facebook Group.)
Adafruit Bluefruit Feather
For more control over your switch interface, you might consider the Bluefruit Feather, also from Adafruit. This is a complete microcontroller that not only sends keystrokes, but can let you do so under controlled conditions. Consider the following ideas:
- You could add “Debounce” or “Repeat Avoidance” logic to help with double-tapping
- You can setup “Macro” switches that send multiple keystrokes (switch activations) in order to help navigate to common areas of the iOS interface
- You can trigger the keystroke off of a more complicated switch like the EMG Sensor shown in the video.
Extra Credit Ideas
If you’re a power-Maker and want to run with this, here are some ideas that we haven’t tried but think would be awesome!
- Send keystrokes when a sound is heard using a Raspberry Pi!
- Use a PIR Motion Detector ($10) or Break-Beam Sensor ($2) as a trigger
- Use a Pixy Vision Sensor ($70) to create Blink/Wink interface for iOS.
Share what you Make with this!
We LOVE to see our friends around the world make solutions using our Guides! Please share what you’ve done with this tool and we’ll be proud to share your story.