Ask HN: Options for One-Handed Typing

95 points by Townley ↗ HN
A relative of mine recently suffered a serious injury to their dominant (right) arm, which will have a long recovery period (likely several months). Ideally finger movement will be restored sooner, but even if so it might not be comfortable to keep the injured arm in an ergonomic typing position.

So I wanted to prepare some options for one-handed typing that they can review. At first glance, it looks like solutions fall into one of three categories:

- Trainings on how to effectively use a keyboard with one hand

- Keyboard remappings on existing hardware to use alternative key layouts that favor the keys on the left side

- Specialty keyboards that are intended to be used with one hand. Some of these seem promising but also shockingly expensive.

Any thoughts on what solutions you've seen work / you might pursue in a similar situation?

98 comments

[ 3.7 ms ] story [ 156 ms ] thread
Have you considered voice dictation and control? There are good commercial solutions and even some free ones (like https://talonvoice.com/ - edit: not open source but has lots of community plugins). I used it for a while when I was recovering from hand problems. I was surprised how easy it was to learn. It helped a lot for tasks like navigating windows, writing emails etc. There are even voice coding applications now (https://www.cursorless.org/).
I intermittently use a Twiddler (older version). The learning curve is initially steep but fine with practice. It's not cheap but it's not that expensive, and it works for mousing as well: https://www.tekgear.com/twiddler-4-wrap.html
I've also used an early version of the twiddler. It is a very nice keyboard with mouse integration. It seems they have upgraded the product.

https://www.mytwiddler.com/

Thirded on Twiddler. I didn't use it myself, but I worked with some people who were very productive with it. One was even said to have written their dissertation laying down, with a Twiddler and a HUD.

Separate from that, when I've temporarily injured one hand/arm or the other, typing on a QWERTY keyboard wasn't that slow for me. Especially if I typed all-lowercase. Though my normal typing style has two hands moving around the keyboard a bit; I don't know whether traditional home-row typists would fine one-handed more difficult.

(Just be careful when Web searching about this topic at work, since it's bumping into an old euphemism joke on Reddit.)

I'll second the steep learning curve for the twiddler. I never got up to a typing speed on it that was not horribly, frustratingly, slow. But, I only needed it for a couple months.

Like OP's relative, I also could not use my dominant arm, nor have my arm in a position that would allow typing one handed on a regular keyboard. The twiddler was the only commercially available option that I was able to find that would allow me to type in this state. So, another recommendation of twiddler, but with the caveat that the original had several warts, and while they appear to be redesigned, they may still suffer from some of them.

The velcro strap to hold it to the hand, combined with the shape of the keyboard, allowed it to shift position while typing making it harder to use. Photos of the current models show they have a different shape now. Maybe this is less of a problem now? They are also wireless now, so there isn't a wire constantly pulling it out of position whenever you move.

The keyboard markings rubbed off completely after only a few weeks of use on my OG twiddler. Hopefully they have worked that manufacturing issue out for the current models.

Any specifics on the kind of typing they need?

If it’s human text (as opposed to code), one handed swipe style typing on a smartphone can get really fluid, and it’s relatively easy to get for someone who is a touch typer. I’d check on ways to use that as computer input if needed.

My first thought would be to have them look into voice dictation instead of relying only on one hand. That would be much faster than typing
This will depend a bit on the person but for me when I injured my right arm I found that my touch typing muscle memory worked surprisingly well with a toggle key to flip the left side of my keyboard to become a mirrored version of the right side. Each finger was still hitting the same key like it would if I was using my right hand to hit the key but on my left hand. This was fairly easy to accomplish on a QMK firmware keyboard (I was also already typing on a split keyboard so that might be part of the reason it was fairly easy to adjust). See https://docs.qmk.fm/features/swap_hands#swap-hands-action
Yes, I was just going to make this suggestion. If it's a temporary problem, you probably don't want a solution that requires extensive retraining to use. A mirrored keyboard takes advantage of existing brain wiring.

autohotkey layout: https://github.com/hanmindev/mirrorboard

xkb layout: https://blog.xkcd.com/2007/08/14/mirrorboard-a-one-handed-ke...

In a quick experiment, I found that utterly baffling. On zero practice, it was much faster for me to type with just my left hand. (Though it requires me to keep looking at the keyboard, because I'm leaving the home position.)
I am low key thinking about trying this without any disability, as a way of always keeping the right hand on the mouse.
Foot pedal maybe? Or maybe a dedicated mouse button.
I like the idea. Don't you love those words like "creed" or "scare" that can be typed with one hand!
Does your usual computer activity require a lot of mouse work? Ten years ago I went down this path when my coworker caught me adding bindings to my mouse buttons. He sat me down at his machine and showed me vim wasn't just an old fart text editor and that the bindings can be used in other editors.

Ofc if you're not doing text based work this wouldn't apply.

I stopped using a mouse when I moved from desktop to laptop computer because I found the touchpad is so much more convenient for keeping my hand near the keyboard. However, doing this for over 20 years means I'm now very stuck in my habit of needing touchpads with real buttons. All my attempts to get used to the awful buttonless modern touchpads have been an absolute nightmare so far :-(
Doesn't a touch-screen make it easy? When I use my laptop I seldomly use the mouse nowadays. I scroll or tap/move the cursor with my finder on the screen, and I 'fine tune' the location with the arrows.
I had the same experience, my typing speed with two hands is 90-120 but with one hand i can still get 50-70. The hard part is punctuation but with AI these days you could try just prompting and let the AI deal with syntax for you.
That's a fast speed. I practice to get to 60 then said well, that's good enough!
Right, you could run your text through an LLM that adds punctuation and then fix up the result manually. Would probably save time + fatigue
I have this set up using kmonad[1], and the following config. Many punctation marks are obviously missing, but I'm sure they could be added with a little thought. The mirrored layout is toggled by holding the space key.

    (defalias
      lhs (tap-next-release spc (layer-toggle ytrewq)))
    
    (deflayer ytrewq
      _    _    _    _    _    _    _    _    _    _    _    _    _    _    _    _
           bspc 0    9    8    7    6    _    _    _    _    _    _    _    _    _
           _    p    o    i    u    y    _    _    _    _    _    _    _         _
           ret  ;    l    k    j    h    _    _    _    _    _    _    _    _    _
           lsft /    .    ,    m    n    _    _    _    _    _    _         _    _
      _    _    _    _              _              _    _              _    _    _)

1. https://github.com/kmonad/kmonad
kmonad:

    written in Haskell
    config in Lisp
Best of both worlds!
It's also apparently cross-platform. Great project!
on a phone: swipe / glide typing only requires 1 finger. good enough for general text.
First of all, condolences to your friend and cool of you to look into this.

Back in the day I switched to Dvorak and came across the "one handed Dvorak layout. This may be what you are referring to. I haven't tried it much but those layouts could be a temporary solution. I found Qwerty to be a lot easier to type one handed straight up because Dvorak tries to alternate hands between keys.

I recently discovered Talon, an open source app for voice control of basically everything on a machine that requires no typing at all. I saw some people are using it even if they can use their hands, as a power tool. It appears to be fully Python scriptable and also gives you some nice speech to text abilities too.

It allows you to specify a bunch of keywords for typing symbols and it looks like some people can do full coding quite quickly.

Perhaps this injury could be an opportunity to try something like this and become more powerful than before?

Best of luck and recovery to your friend.

https://talonvoice.com/

Talon is not open source as far as I know. It's freeware with Patreon early access and support. The community plugins cover a wide range of applications and are easy to modify. I also found their Slack good for discussing accessibility options like gaze tracking. It looks like development has slowed significantly but the developer recently rewrote the core in Rust.
I had a family member who broke a finger on their prominent hand and used the left-handed Dvorak layout while it healed, getting up to about 40 WPM:

https://en.wikipedia.org/wiki/Dvorak_keyboard_layout#One-han...

Dvorak left and right have the distinction of being available out of the box on most successful operating systems.

Advice from when I learned Dvorak: post a picture of the keyboard layout at monitor height (I put it on my background) so you can figure out where the characters are without looking down.

https://news.ycombinator.com/item?id=38400368

DonHopkins on Nov 24, 2023 | parent | context | favorite | on: AI is currently just glorified compression

I love David MacKay's brilliant work on the Dasher text input system, which draws deeply from his work on information theory -- imagine Dasher integrated with an IDE and code search and Copilot and language model!

"Writing is navigating in the library of all possible books." -David MacKay

We just allocate more shelf space to the more probable letters.

Why isn't Dasher built into every operating system and mobile phone?

https://en.wikipedia.org/wiki/Dasher_(software)

https://dasher.acecentre.net/about/

https://news.ycombinator.com/item?id=17105728

DonHopkins on May 18, 2018 | parent | context | favorite | on: Pie Menus: A 30-Year Retrospective: Take a Look an...

Dasher is fantastic, because it's based on rock solid information theory, designed by the late David MacKay. Here is the seminal Google Tech Talk about it:

https://www.youtube.com/watch?v=wpOxbesRNBc

Here is a demo of using Dasher by an engineer at Google, Ada Majorek, who has ALS and uses Dasher and a Headmouse to program:

https://www.youtube.com/watch?v=LvHQ83pMLQQ

Another one of her demonstrating Dasher:

Ada Majorek Introduction - CSUN Dasher

https://www.youtube.com/watch?v=SvsSrClBwPM

Here’s a more recent presentation about it, that tells all about the latest open source release of Dasher 5:

Dasher - CSUN 2016 - Ada Majorek and Raquel Romano

https://www.youtube.com/watch?v=qFlkM_e-sDg

Here's the github repo:

Dasher Version 4.11

https://github.com/GNOME/dasher

>Dasher is a zooming predictive text entry system, designed for situations where keyboard input is impractical (for instance, accessibility or PDAs). It is usable with highly limited amounts of physical input while still allowing high rates of text entry.

Ada referred me to this mind bending prototype:

D@sher Prototype - An adaptive, hierarchical radial menu.

https://www.youtube.com/watch?v=5oSfEM8XpH4

>( http://www.inference.org.uk/dasher ) - a really neat way to "dive" through a menu hierarchy/, or through recursively nested options (to build words, letter by letter, swiftly). D@sher takes Dasher, and gives it a twist, making slightly better use of screen revenue.

>It also "learns" your typical useage, making more frequently selected options larger than sibling options. This makes it faster to use, each time you use it.

>More information here: http://beznesstime.blogspot.com and here: https://forums.tigsource.com/index.php?topic=960

Dasher is even a viable way to input text in VR, just by pointing your head, without a special input device!

Text Input with Oculus...

Excuse me, maybe I am not getting it, why is this downvoted?

I came here to suggest Dasher to OP also.

Because it's a lengthy stream of barely-parsable copy-paste diarrhea when a simple "Dasher might be a great option! I don't have time to summarize why I think it would be great, but here are some links to previous HN threads where it's been discussed <link> <link> <link>, and it comes recommended by <Firstname McLastname>, a <JobTitle> at <Company> - here's a couple 45-minute Youtubes to not-watch <link> <link>" would do much better.
You're proving exactly why I posted what I did. Nobody else has the time to watch a couple of 45 minute videos (several hours actually), so I took the time to do that myself (several more videos about Dasher than those, in fact), and summarize them for you.

I've had email discussions about Dasher with people I mentioned like Ada Majorek (Google), also David Ward (Inference, who worked with the late David MacKay), Tom Doellstorff (UC Irvine), Donna Z. Davis (University of Oregon), and I've read several papers about it, and also the open source code on github, to understand how it works. So I took the time to summarize the points in the videos, the email discussions I've had, the papers I read, and source code I reviewed.

https://www.inference.org.uk/djw30/

There are many interesting points and ideas I've tried to gather together and summarize, and I think Dasher is an important, underrated, not widely known piece of work, that can deeply improve many people's lives, which more people should know about.

Not just people with a wide range of disabilities, but fully abled people without free time on their hands who frequently need to input lots of text quickly. That's why accessibility, diversity, equity, and inclusion are so important: they help everyone.

Dasher a wonderful open source project to contribute to, and a solid foundation that needs to be brought up-to-date and re-implement it in terms of modern LLMs, AI assisted IDEs like Cursor, mobile, and VR/AR user interfaces.

I don't have time to do all of that myself, but I hope to save other people time and effort by writing about it, and I hope to inspire students, researchers, software developers, hackers, and therapists who do have the time, interest, friends, loved ones, patients, and customers who could benefit from it.

I'm sorry to hear about your disabilities of poor reading comprehension and trouble parsing text, and I'm envious that you have so much free time and nothing better to do, that you can take time to complain about your impatience with and intolerance of my writing. But it would have been easier, more efficient, and less stressful for you to simply ignore things you're not interested in rather than unconstructively whining with off-topic posts that benefit nobody. Obviously you don't appreciate how lucky you are to be able to type such a useless post so easily. I'm not even asking you to be empathic, or give a shit about anyone but yourself: if you're lucky enough to live long enough, you'll need accessibility tools like Dasher too.

If you'd like to redeem yourself by writing a more useful constructive response to my post, then go right ahead, read my previous posts, watch all the videos, read all the papers and source code yourself, have some email discussions with other people using and working on Dasher, and then try to write a better summary, because your abstract summary above has absolutely no useful information, and isn't relevant to the discussion -- just a waste of your time and everyone else's.

Or you could even take the trivial effort to paste my write-up into ChatGPT and post a summary, but that would be much lower quality and less enlightening than actually watching the videos and reading the articles and source code I cited yourself, but still better and more interesting than your current bitter off-topic "contribution" to the discussion.

If it makes you feel better, I've written every word of this post personally just for you, MyPasswordSucks. No copying or pasting whatsoever (except the email at the end, with updated links to archive.org since my web site is offline, and I reformatted the transcript of Ada's video). Are you satisfied? Is that the attention you crave? Are my syntax and semantics comprehensible to you now? In return, what do you have to contribute to this discussion yourself, besides ...

Even though the parent comment is useless and off-topic, I am vouching and unflagging it, so my response is visible. Please give MyPasswordSucks a chance to respond and attempt to redeem himself by trying to post something useful and interesting instead of whining. (Although I don't expect he's capable of doing that, so I feel sorry for him, but he deserves a chance to try to do better, or prove he can't by not responding.)

̀However aaron695's sister comment is so comically wrong and off base that it's not worth vouching for, since it adds nothing to the discussion, and only goes to show what kind of a horrible person they are. It's amusing just how wrong they are, but insulting and offensive to most people, so please set showdead=true if you want to see it. We all know very well by now how Team MAGA sees empathy as a weakness, and has a sick fetish with mocking and abusing people with disabilities.

Trump mocks reporter with disability:

https://www.youtube.com/watch?v=PX9reO3QnUA

>Donald Trump is under fire again, this time for mocking a New York Times reporter that suffers from a chronic condition. CNN's John Berman reports

Here's a low-effort ChatGPT generated TL;DR summary, to satisfy MyPasswordSucks who had trouble reading my other post:

Here’s the straight-up rundown of the Dasher thread:

DonHopkins jumped in to rave about Dasher—calling it a miracle for people who can’t type. He dropped links to videos, papers, GitHub, and even shared his personal emails with Ada Majorek, who uses Dasher because ALS stole her voice and hands. He made it clear he’d dug deep—watched hours of videos, pored over source code, talked to experts. He went all in to explain why Dasher deserves more love: it’s based on solid info theory, it learns your patterns, it’s openly extensible, and it works across languages and platforms—even VR.

Someone named novosel chimed in asking why Don’s comment was downvoted, saying Dasher really is worth knowing. But then MyPasswordSucks blasted it as “barely-parsable copy-paste diarrhea” and declared Dasher awful, claiming the whole thing was off-topic. He sneered at Don’s effort, calling it useless. aaron695 piled on, arguing Dasher isn’t the answer for someone with a short-term injury and criticizing Don’s wall of text even more harshly.

DonHopkins didn’t back down. He defended his post, pointed out how much final work he put in—no copying or pasting. He reminded people Ada had replied personally, highlighting how essential Dasher is for her. He got indignant about people whining instead of appreciating the depth of his write-up. In short, DonHopkins delivered a massive, heartfelt case for Dasher. Critics flamed him for style and focus. The result: a messy, heated debate between someone who’s poured years into accessibility work and anonymous commenters who can’t be bothered to look beyond a giant block of text.

I agree, Dasher is a beautiful piece of software design.

I am ok with the long-form reply. We are all sentient, one can scan for the information or insights that are valuable to him/her. On the other hand, I dislike when information is withheld from me.

I was researching different input methods, and stumbled upon Dasher. What I like the most is:

  - the fact that I can write with one hand (like with a fountain pen, remember those?)

  - right edge of the interface is literally The Library of Babel of J. L. Borges
What's magnificent about Dasher is that it works with so many modalities, like eye tracking, suck tube, pressing a single button and waiting, etc. It's able to extract the maximum number of bits of text per minute from the minimum amount of bits of input per minute, harnessing every input device to its fullest potential.

It also seamlessly supports multiple languages, it can be pre-trained on examples of what you write so it adapts to your vocabulary and gives your favorite words more shelf space on the Library of Babel, and you can include symbols and control functions too. You could even have an "emoji" branch where you spell out the :smile: codes, constrained to just the defined codes so it's easier to select them (and see the growing emojis as you get near to spelling them out all the way), incrementally learning your favorites and making them easier to pick.

It drives me nuts how we blindly accept these ancient, kludgy input methods -- QWERTY is the biggest offender, but let’s not forget those shitty swipe keyboards that think gliding your thumb over letters is somehow “intuitive,” or the garbled cell-phone autocomplete systems that keep mangling your sentences until they’re barely recognizable, then texting embarrassing obscenities to your mom.

Dasher is in a league of its own. Instead of shoving you into a historically fixed grid of scrambled letters, or forcing you to hunt and peck through a list of predicted but unpredictable words, Dasher treats writing as a continuous journey through a probability landscape! You don’t tap tiny squares or hope the AI guesses what you meant, you literally “dive” into the next letter or word that’s statistically most likely. Maximum text output for minimum physical effort, without any of the guesswork or awkward ergonomics baked into hunt-n-pecking QWERTY, slippery swipe tricks, or psychotic autocomplete engines.

This was ... about 20 years ago, and I don't even remember why I wanted to do this, but I found some software that let me remap the keyboard somehow - so I picked a key (probably caps lock?) that would "mirror" the standard QWERTY layout.

F would become J; S would become L, etc.

I was able to have a fairly decent input speed.

I wish I remembered why I did this. I think I had some tedious task that I couldn't figure out how to automate, that required me to have one hand on the mouse[1] most of the time, and swapping between keyboard and mouse all the time got tedious enough that I invested the time.

[1] Yes, the mouse. :)

edit: Ah, someone already made the same suggestion elsewhere here! I'm glad it's a popular choice.

I am very interested in keyboard and built some like dactyl manuform. I watched this one on youtube and was impressed: https://www.youtube.com/watch?v=rNU5rRbhzTU

Also if you go down the youtube rabbit hole you will find many interesting 1 hand layouts.

I've used Talon for voice and AutoHotKey for mapping the caps lock key as a mouse click. But beware, suddenly using the non dominant side much more to compensate can cause issues. I probably needed some proactive physical therapy or strengthening on the non injured side.
One-handed typer here – well, one hand and one finger, and it’s been like this for all my life. Your friend may want to consider text macro tools such as Keyboard Maestro for macOS. There are many others, but KM will also launch apps and do other magic for me just by typing two or three letters. Create a list of frequently used words or segments, define a generic expansion key (in my case #) that doesn’t require a modifier. I have more than 1000 of these macros, and it really helps with all those long words in my native German. Dictation may also help, although I find that it leads my thoughts in different directions when I see words appear on the screen as I speak.
My dad has the same situation, one arm and one finger on said arm - the beefiest pinky you've ever seen.

He does most of his typing these days with voice-to-text on his Android phone, and he's pretty adept with it. Otherwise he gets by pretty well with a standard Apple keyboard. He's not winning any speed awards but he does alright.

When I broke my collarbone on my dominant arm I learned Dvorak left-handed layout a QMK keyboard. I configured some layers to make all the symbols needed for programming easy to access, and hold-space-for-shift. I learned the layout using Epistory, a typing game. There’s several similar games now that look helpful. It was slower but workable.
Co-incidentally, saw this video on Microsoft's VSCode Youtube channel yesterday - the Engineer in question was born without a right hand and shows her workflow with accessibility tools: https://www.youtube.com/watch?v=pUPqKm5wVhw

Hope this helps your relative. Good luck.

Your friend might also consider No Handed Typing i.e. speech based typing. The tools for this have really progressed in recent times. I have a friend who codes full time without using his hands. He uses https://talonvoice.com/ but I'm sure there are other tools as well.
Specialty keyboards like the TiPY are indeed very expensive, here in the EU it's a thousand (!) Euros:

https://tipykeyboard.com/en/produkt/tipy-keyboard-black-en

However, if your relative is employed and needs to type for the job, then there's a good chance the employer will pay for it if it means they can work more efficiently during these months. Another option, which however is much less likely to succeed and will probably take much longer, is to try to get this through health insurance.

I once needed to seriously investigate a setup for one-handed typing. My conclusion at the time was that after a learning period, one-hand typing on a regular keyboard was just as productive as using a special keyboard, and had the advantage of not needing special facilities. I think the only special feature needed was the addition of a "sticky" key facility.
I had a surgery once upon a time on my non-dominant arm which left me in a one-handed typing state for a couple of months. I simply used one hand on a full size keyboard. My typing speed went through the floor, but it was doable. I doubt I would invest the time, effort, and expense to learn dedicated hardware if I had to go through it again. I definitely would explore those options if I had permanent loss of the hand, though.
Perhaps I missed it, but I’m amazed I didn’t see any mention of Maltron here:

https://www.maltron.com/store/p19/Maltron_Single_Hand_Keyboa...

They’re expensive, and the other options mentioned may be better, but I feel like they should be included for completeness’ sake at the very least.

That was my first thought. If you have an injury like this the Maltron's are built for disability.
Maltron is OG in the ergo keyboard space as well. Believe they inspired Kinesis, as I think Maltron may have been the first to use the well design.
I know someone who uses a Twiddler full-time, and I used mine for about a month when I broke my dominant hand about a decade ago. Works very well if your hand is the right size for it.

I have a tap strap, but I use it mostly as a remote control for my TV, not as a primary input device. It probably works, but I'm not good enough with it to have the kind of error rate I'd really like.

Android has a Morse input method which would be entirely suitable for one-handed text input and there are certainly solutions for using an android phone as a keyboard, but I don't know how it'd handle things like arrow keys.

Its been a while since this happened but I laid my motorcycle down, ended up fracturing my wrist. Honestly, if you aren't used to one handed typing its not worth the time to train to get good at it(I'm assuming they're right hand dominant) its all just muscle memory. If they can pick it up quickly go for it, keyboard bindings, or something like predictive text assistance, or even vim-like remappings are an interesting idea.

IMO - if possible just peck-type(like an old lady who is learning to use a keyboard) or use text to speech/AI & editing where possible - like in emails. They shouldn't be using the left arm/hand much right after surgery anyway. If they're programming definitely not as easy but still doable.