Morse code dates back to the early 1830’s, and has been used in assistive technology since at least the 1970’s to support typing using one or two switches. As switch access methods go, it has the potential to be quite fast– one study measured a Morse code typing speed of 12.4 words/minute for a person with a C2 spinal cord injury, using a sip/puff switch for the dots and dashes. Fast forward to 2019, and Morse code is having a bit of a moment. One question that comes up frequently is whether you can use Morse code to type with switches on an iPad — Yes, you can! Read on to learn how.
This post mainly covers the basics of setting up and using Morse code to type. This will get you started. Just be aware that there are some additional steps needed to fully integrate Morse code typing with accessing the rest of the iPad. If there’s enough interest, I’ll cover that in a second post.
Overview
Here’s our end goal with our Morse code setup: it should allow us to use 2 external switches with an iPad, so that we can use one switch to enter a dot, and the other switch to enter a dash. By combining switch activations, we can combine dots and dashes to enter letters and words. (Note that it’s also possible to use only one switch, but we’ll keep to the two-switch case for this post.)
OK, what’s our basic approach to setting this up? This is not like some other accessibility setups where we just download an app, or turn on a setting, and away we go. We’re going to combine several apps and settings to get to our end goal.
First, we’ll use the Morse code keyboard that is provided with Google’s Gboard app. The keyboard looks like this:
You tap the dot and dash keys on the Morse keyboard to enter text. So dot-dot-dot will come out as ‘S’, for example.
This gives us the basic Morse code decoding ability. But in our scenario, the iPad user has physical difficulty tapping on the iPad display, so this Morse keyboard won’t help as-is. We need a way to “tap” the dot key and the dash key using external switches that are easy for the user to activate.
So, next, we’ll set up iOS Switch Control so that the external switches can be used instead of physically tapping the onscreen keyboard. This relies on the Custom Gesture option within Switch Control Recipes. Once we create the recipe (we’ll show you how below), the switches will perform Morse code typing whenever Switch Control is on, and our recipe is active.
Some prerequisites
There are a few moving parts to set up before we get into the details of creating the recipe. Some of you may be regular Switch Control users, in which case you’ve done most of this already. If you’re new to this stuff, please let me know if you have questions about how to do any of these steps.
- Download and set up the Gboard app to display the Morse code keyboard.
- Set up the Accessibility Shortcut to turn Switch Control on and off (optional, but recommended). This lets you triple-click the Home button to exit Switch Control any time if you get stuck while experimenting.
- Connect your switch interface and configure two switch sources. Luis Perez’s post on recipes gives some tips for doing this.
- Get familiar with Switch Control and its Recipe feature if you aren’t already.
Create the recipe
We need to create a recipe within Switch Control that will let our switches “tap” on Gboard’s Morse keyboard. The video below takes you through the process from start to finish.
Here’s the basic idea of how the recipe works. Let’s call it “2sw Morse.” It uses two switches: we assign Switch 1 to “tap” on the dot key, and Switch 2 to “tap” on the dash key. We create each switch assignment using the Custom Gesture action. For example, for Switch 1 (the dot switch), we record a physical tap where the dot key is on the keyboard. Then when we hit Switch 1, it will perform the exact physical tap that we recorded. Pretty cool!
Test and use the recipe
So far, we’ve successfully created a 2sw Morse recipe, but it won’t do anything unless Switch Control is on, and the recipe is active. We’d better test it to make sure it works (fingers crossed!).
To test the recipe, the easiest way is to set it to launch automatically when Switch Control turns on. Use the Launch Recipe setting as shown below:
Then, make sure your 2 switches are connected. Open up a typing app like Notes and tap the text area to get the Morse keyboard to show on the screen. Do triple-click Home to turn on Switch Control. Once Switch Control is on, your switches should act like dots and dashes. Hit the dot switch, and wait a second. An E should appear in your text. Hit the dash switch, and wait a second. That should give you a T.
This video shows Morse typing in action:
Try it! And please do let me know if you have any questions or problems.
Getting going with Morse code
If everything has gone well, you’ve now got a way to type on your iPad using Morse code and 2 external switches. To really make this useful, you need to go a bit further to really learn the code and adjust the settings to support comfortable and fast typing. Google has developed something called the Morse Typing Trainer that may help with the learning part. And the Gadget Hacks post gives a really nice description of the Gboard Morse settings; these can really make a difference, especially the character timeout.
How long does it take to learn Morse code anyway? I’m no expert on this, but in the Levine study I mentioned earlier, it took people about 2-3 practice sessions/week over 2 months to use the code with 90% accuracy without a cheatsheet. So it does take some time, but not all that bad.
Putting it all together
While the 2sw Morse recipe is active, the switches will perform Morse code typing. When we exit the recipe, the switches revert to their normal actions of stepping through and selecting items on the iPad display.
So, typically we’ll need a way to turn the 2sw Morse recipe on, when we want to type, and turn it off when we’re done typing. It would be great if iOS could do that for us, when it shows/hides the keyboard. But it can’t, at least I haven’t figured out how to get it to do that yet. There are a couple of different approaches to getting in and out of recipes within Switch Control, but that gets a bit beyond the scope of this post. I may cover that in a future post.
Thanks to Jason Beck from the Adaptive Design Association for his help with figuring this stuff out, and to Darren Gabbert for prompting me to think about it.
Do you think you or someone you know would benefit from using Morse code to type?
Let me know if I can help in any way!
I think this is wonderful. It should be offered in school as other language as should sign language.
Thanks, Jane! Interesting idea — after reading your comment, I found this link (http://www.arrl.org/helping-kids-discover-morse-code) about helping kids learn Morse code. It’s from an amateur radio society (not from an assistive technology perspective), but some of the resources seem applicable.
Totally cool. Thanks for digging into this and showing the details of how to make it happen.
Thanks, Paul! If nothing else, it’s a pretty simple and inexpensive way to demo Morse code and let people try it for themselves.
Heidi: Thanks for posting this. Morse code is a much-neglected resource for augmentative communication and now that there’s a free app available, it’s easy for people to try it and see if it works for them.
Two points: The Gboard Morse keyboard does not have a 1-switch option. We asked them if they could add it, but apparently it’s a major change to the code so they balked. I bet if the AT community really embraces Morse, we could get them to do it.
For Android users, setting up the switches in Morse code is quite a bit less complicated than for iPad. Getting the Morse to work seamlessly with switch access navigation, however, is just as complex. Right now, a DIY hardware solution (https://experiments.withgoogle.com/morse-switch) is our best option.
Thanks for your note, Susan. Regarding 1-switch Morse on iOS, you actually can do it via Recipes and Custom Gestures. The key is that Switch Control allows you to define a Custom Gesture for a “regular” switch press as well as for a “long” press. So in the 2-switch Morse case that I described above, you have 1 custom gesture for 1 switch (dot), and 1 custom gesture for the other switch (dash). In the 1-switch case, you’d have the dot custom gesture for regular press on Switch 1, and the dash custom gesture for the long press on Switch 1. Same gestures, but they are assigned slightly differently to switch actions. So it works like “classic” Morse code, where a short press is dot, and a longer press is dash. So in iOS, at least, you have the option to do either 2-switch or 1-switch Morse. Pretty cool!
A couple years ago I tried Morse code access with a young man. I had always heard it can be a decent access method for switch users. And that is was used frequently in Canada successfully. I worked with the young man for awhile but then his family moved so I never completed my training and don’t know whether he kept going with it or not. Initially I felt like he was doing quite well with it but he was definitely still learning the input method. This is a nice article and tutorial to help clinicians learn how to use it with an iPad. Nice job!
Thanks for sharing your experience, Jill!