Author Topic: My one-hand keyboard software. Based on muscle memory, learn in ~5 min.  (Read 15207 times)

0 Members and 1 Guest are viewing this topic.

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
Hey all. I'm a Dvorak typist and trackpoint connoisseur. I've lurked here over the years, nice keyboards. Wanted to show you the new keyboard project I've been working on.

It's based on two-hand touch typing muscle memory, which means if you're already a touch typist you'll be able to type -- fast -- with one hand in minutes.

http://www.onehandkeyboard.org

Mac App Store:
http://itunes.apple.com/us/app/one-hand-keyboard-practice/id501185004?mt=12

How it works: Examine how the keyboard is laid out. The motion you use to type "G" is the same motion you use to type "H". Index finger, home row, towards the center of the keyboard. Same with "E" and "I": middle finger, top row. It's the same motion, but with the other hand. [Geekhack note: Dvorak and Colemak options as well]

Let's say you broke a few fingers on your right hand. You can only use your left hand to type. Using the software, all left-hand characters are typed normally. When you come to a right-hand character, type the left-hand equivalent instead. It's the same motion as the key you should be typing, the only difference is that you're using your good hand instead of the injured one.

Our brains are amazing. Your left hand already has the muscle memory to type right-hand characters. It's kinda like that thing where you can't draw a circle with one hand and a square with the other at the same time. The wires are crossing somewhere.

So, for example to type "this" you would hit the keys "tges". Left-hand characters are typed normally, and for right-hand characters type the left-hand equivalent instead.

So the raw key input "tges" is gibberish, made up of all left-hand keys. My software runs predictive text algorithms as the input is coming in. So it always appears as if you're typing the most likely word, "this".

Who it's for: For everyday typists. Stay productive and code/write while your finger is sprained or your arm is in a cast. Also for recent amputees and other permanent injuries. Or hold a baby in one hand, type with the other. Mouse with one hand, type with the other. Fight off RSI/Carpel Tunnel. Etc.

Try it out! Free trial on the website. It's an unlimited trial, but makes you wait 60 seconds after you type too many words. People here should be pretty good-to-go with only the trial, unless you're using it as your main input method. Windows only for now, let me know if you'd want a Mac version.

Anyway, let me know what you think. Would anyone here use this?
« Last Edit: Mon, 12 March 2012, 23:24:30 by iMav »

Offline Popkeymon

  • Posts: 56
let me guess... yet another "predictive" half-qwerty? or mirror-board?
« Last Edit: Fri, 01 April 2011, 08:19:26 by Popkeymon »

Offline Popkeymon

  • Posts: 56
In my opinion, i think that we all could type with one hand whether your hands injured or not. You don't need to injure you hands in order to type numbers on numpad one handed, right?

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
Quote from: Popkeymon;322649
let me guess... yet another "predictive" half-qwerty? or mirror-board?


Where else have you seen a 'predictive' version? Both Half-Qwerty and XKCD guy's MirrorBoard have the fundamental flaw of having to choose which of the two characters you want to type via a modifier key on each keystroke. This slows things down significantly, and really doesn't facilitate the muscle memory concept that's so central to the techniques. Try out this method out if you've been disappointed by those in the past.

Offline hoggy

  • * Moderator
  • Posts: 1502
  • Location: Isle of Man
It's a really nice idea.  Well done.

Getting rid of the modifier for the other 'set' is a brilliant idea.  Should help reduce problems with the remaining good hand.

I haven't tried it - I type on a qwerty layout remapped to dvorak with autohotkey so I'm assuming (wrongly?) that it won't work for me.  So, I'm wondering -

Can I setup my own dictionary?  I'm a programmer so words like "intCount" are frequent enough but not English - could Limber cope?

I remapped my caps lock as a backspace and I love it to bits - is it possible to switch the trigger to something else (say ctrl+alt+8)?

PopKeymon (hi!) seems to like one handed modifications - I'll be interested to see what he thinks.
GH Ergonomic Guide (in progress)
http://geekhack.org/index.php?topic=54680.0

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
Hey, thanks.

Why do you use Dvorak via AutoHotkey rather than an official OS layout? One of the things I love about Dvorak vs. Colemak, etc., is that you can always easily convert any computer you come to. Just curious.

I'm not sure how the software will react to that... my guess is that it and AHK do their work at the same 'level' of the input stream so it will mess things up. However if AHK hits it first, and then passes it to One-Hand Keyboard, it should work fine. Give it a try and let me know!

The 'Caps-Lock being used as backspace' thing is an issue that I've thought would pop up, especially with Colemak which does that by default. No option for a different trigger yet, but it's in the pipeline. You could probably find a way to hack it with AutoHotkey.

Yep you can add words to the dictionary. It actually also has support for 'no space' word breaks, so if "int" and "count" are both in the dictionary it should correctly find "IntCount" as well. I wrote that bit especially for easy entry of method names :) The bigger programming issue at the moment is there's no support for easy one-hand bracket/parenthesis input. That's one of the next things I'll be working on.
« Last Edit: Wed, 25 May 2011, 15:45:50 by pkamb »

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
Popkeymon, have you tried the AHK scripts for half-qwerty? What's your one-hand typing method of choice?

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
Currently adding Spanish keyboard support. Any votes for what my next features should be?

Offline almasy

  • Posts: 17
Why wouldn't you just set a modifier to activate the mirror keys?

Offline hoggy

  • * Moderator
  • Posts: 1502
  • Location: Isle of Man
Quote from: almasy;352796
Why wouldn't you just set a modifier to activate the mirror keys?
Almasy - Using the modifier keys tends to interfere with the process going on in the brain that pkamb is trying to tap in on.  Also the strain on the remaining hand to press (or hold a modifier) for roughly half of all typing must be a serious problem.

pkamb - Could I suggest some sort of menu system for longer words/phrases?  For example, if the user is a programmer then could type var# to display a menu of common variable names to choose from.
GH Ergonomic Guide (in progress)
http://geekhack.org/index.php?topic=54680.0

Offline hyperlinked

  • Posts: 924
I haven't tried this out yet because I'm primarily a Mac user, but I'll download it to one of my PCs later and give it a go. This sounds really promising and I agree that taking out the need to press the modifier key makes it much easier and healthier to use on a regular basis.

I like how you use the suggestion "Don't think too hard" in your usage tips on your website. It's all muscle memory and gets totally screwed up when you override your reflexes.

It's actually not that hard to learn to write backwards in cursive handwriting if you don't think too hard about it. I spent one hour teaching myself how to do that almost 20 years ago and I can still do it to this day.
-

Topre: Realforce 103U Cherry: Filco Majestouch 104 (Brown), Ione Scorpius M10 (Blue)
Buckling Spring: IBM Model M1391401 ALPS: Apple Extended Keyboard II (Cream), ABS M1 (Fukka/Black), MicroConnectors Flavored USB (Black)
Domes: Matias Optimizer, Kensington ComfortType, Microsoft Internet Keyboard
Scissors: Apple Full Sized Aluminum
Pointy Stuff: Razer Imperator, Razer Copperhead, DT225 Trackball, Apple Magic Mouse, Logitech MX1000, Apple Mighty Mouse
Systems: MacPro, MacBook Pro, ASUS eeePC netbook, Dell D600 laptop, a small cluster of Linux Web servers
Displays: Apple Cinema Display 30", Apple Cinema Display 23"
Ergo Devices: Zody Chair, Nightingale CXO, Somaform, Theraball, 3M AKT180LE Keyboard Tray

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
Had a chance to try it on your PC yet?

"Don't think too hard" really is the key! You can get into the "flow" really easily if you just go for it, but if you start thinking about it you'll mess up.

Offline hyperlinked

  • Posts: 924
Ok, I got a chance to try it out and I like the concept, but I think the program still needs some more work. I typed my first sentence with total ease. I didn't think and it came out almost as I expected.

I say almost because there was one typo. I assumed it was a mistake I had made until I realized that the predictive typing algorithims were sometimes miscorrecting my intended text and not correcting my actual typos at times.

It also barely works for editing. This is the same issue that some lesser speech recognition software apps suffer from. They work relatively well when they have a string of unbroken input, but once you start going back to edit, it gets really confused and the errors multiply.

When I had to start scrutinizing every word to make sure that I hadn't made a typo or the program hadn't messed up, then it became impossible to not think too hard. It's a nice idea, but because the output is hard to predict, I wouldn't be able to use it.

Another issue is that if you launch the program after it's already been launched, it gets added to your toolbar again and again. I used this on WinXP.
« Last Edit: Sun, 03 July 2011, 16:54:41 by hyperlinked »
-

Topre: Realforce 103U Cherry: Filco Majestouch 104 (Brown), Ione Scorpius M10 (Blue)
Buckling Spring: IBM Model M1391401 ALPS: Apple Extended Keyboard II (Cream), ABS M1 (Fukka/Black), MicroConnectors Flavored USB (Black)
Domes: Matias Optimizer, Kensington ComfortType, Microsoft Internet Keyboard
Scissors: Apple Full Sized Aluminum
Pointy Stuff: Razer Imperator, Razer Copperhead, DT225 Trackball, Apple Magic Mouse, Logitech MX1000, Apple Mighty Mouse
Systems: MacPro, MacBook Pro, ASUS eeePC netbook, Dell D600 laptop, a small cluster of Linux Web servers
Displays: Apple Cinema Display 30", Apple Cinema Display 23"
Ergo Devices: Zody Chair, Nightingale CXO, Somaform, Theraball, 3M AKT180LE Keyboard Tray

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
Awesome, thanks for trying it out.

Quote from: hyperlinked;372655
Ok, I got a chance to try it out and I like the concept, but I think the program still needs some more work. I typed my first sentence with total ease. I didn't think and it came out almost as I expected.

I say almost because there was one typo. I assumed it was a mistake I had made until I realized that the predictive typing algorithims were sometimes miscorrecting my intended text and not correcting my actual typos at times.


What was the typo word? Two possibilities:

1. Some words have the same finger movements as other words: will/well, till/tell, etc.

2. Some words aren't in the included dictionary. I do my best to intelligently guess likely words by way of letter frequency, but the correct word might be hidden behind other words.

In both cases:
--If your word doesn't come up at first, press tab a few times to see if it's an alternate choice.


Quote
It also barely works for editing. This is the same issue that some lesser speech recognition software apps suffer from. They work relatively well when they have a string of unbroken input, but once you start going back to edit, it gets really confused and the errors multiply.


Yep, currently not that great at returning to edit words. After you press space all the prediction information is lost. In a future version I'll be adding the ability to "read" all the letters to the left of the cursor. That will improve editing old words immensely. I recommend double-clicking to highlight the word then typing the new one, being sure to press Tab if the correct word doesn't appear.

Quote
When I had to start scrutinizing every word to make sure that I hadn't made a typo or the program hadn't messed up, then it became impossible to not think too hard. It's a nice idea, but because the output is hard to predict, I wouldn't be able to use it.


The "word collisions" issue is the biggest one here. For example, I type in Dvorak. Using One Hand Keyboard in Dvorak, "in" and "do" share the same characters. I've quickly remembered that to get "do" I have to press "d-o-tab", otherwise I'll end up with "in". I believe that anyone using this as a primary layout will begin to memorize those words that share characters, and plan accordingly. Unfortunately it will be hard to work around this issue... some words just share hand movements. I'll share a list of those one the website soon.

Quote
Another issue is that if you launch the program after it's already been launched, it gets added to your toolbar again and again. I used this on WinXP.


Do you mean launching it after closing the first instance? Or opening multiple running instances? If you're talking about the icon sticking around after closing the app, that's kind of a long-standing bug for a lot of system tray apps. The system tray doesn't refresh very often, so any apps that have been closed via the task manager (etc.) have icons that stay in the system tray until the next refresh. If you hover over the icons they'll immediately disappear.

If you're talking about just being able to run multiple instances... yeah, I should fix that. Only allow one to be running at a time.

Offline theferenc

  • Posts: 1327
For reference, this is pretty close to how pinyin IMEs work. You may want to pop up a little box, with the possible words numbered. Assuming there are any choices, of course.

In Mandarin, many characters have the same pinyin, even more when you take into consideration that you don't type tones at the keyboard. So any time you type a character's pinyin and hit space, it uses the most likely character. If you type the pinyin and don't immediately hit space though, you're given a list of all the characters that use that pinyin, and you can select the one that you want.

It sounds obtuse and annoying, but it's actually amazingly quick -- at least for native speakers it is. It still takes me forever, but my Chinese isn't great.
HHKB Pro 2 -- Custom UNIX layout Unicomp Customizer 101 -- IBM Model M 1391401 (modded to UNIX layout) -- IBM 1397000 (also UNIX layout) -- SSK in UNIX layout -- Model F 122 key in UNIX layout (Soarer USB "native")
 
CST L-TracX trackball -- Kensington Expert Mouse trackball

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
Thanks, that's actually really helpful. I didn't know Pinyin worked that way, it's a great analogy to use when trying to explain how my input method works.

A pop-up box showing all possible choices has always been in the planned feature set, I just need to spend some time on it. I just checked out the Windows Pinyin input method, and I really like being able to type the number to select the associated word. Something like that will be coming soon to One Hand Keyboard.

Offline theferenc

  • Posts: 1327
Awesome, that should make it pretty slick.
HHKB Pro 2 -- Custom UNIX layout Unicomp Customizer 101 -- IBM Model M 1391401 (modded to UNIX layout) -- IBM 1397000 (also UNIX layout) -- SSK in UNIX layout -- Model F 122 key in UNIX layout (Soarer USB "native")
 
CST L-TracX trackball -- Kensington Expert Mouse trackball

Offline Titmouse

  • Posts: 63
Lol, don't feel bad. Typing characters in pinyin takes me forever too. I learn Wubi a long time ago. It's fast, but I've forgotten all of it. There are other input applications that are based on pinyin, but provide much better suggestions for the characters based on the context. Google Pinyin looks good, but I've never got around to try it.
"Surprise! We threw away your old ugly keyboard and got you a brand new ergonomic keyboard from Microsoft!"  -- Findecanor

Offline theferenc

  • Posts: 1327
Yeah, no one I know who is actually Chinese uses the built in MS pinyin IME. They all have their personal favorite input method, be it alternative pinyin IMEs or a Wubi variants. It's amazing watching them type, though. Most type almost as fast as they speak, which as you probably know is definitely saying something.
HHKB Pro 2 -- Custom UNIX layout Unicomp Customizer 101 -- IBM Model M 1391401 (modded to UNIX layout) -- IBM 1397000 (also UNIX layout) -- SSK in UNIX layout -- Model F 122 key in UNIX layout (Soarer USB "native")
 
CST L-TracX trackball -- Kensington Expert Mouse trackball

Offline lenakira

  • Posts: 27
Limber, my one-hand keyboard software. Based on muscle memory, learn in ~5 min.
« Reply #19 on: Wed, 28 December 2011, 17:57:53 »
Chinese roxx

Offline Icarium

  • Posts: 251
  • I AM A MONKEY!
Limber, my one-hand keyboard software. Based on muscle memory, learn in ~5 min.
« Reply #20 on: Tue, 17 January 2012, 14:25:57 »
hm...has anybody tried combining the mirror idea with a foot switch?
I had a sig once but it's gone. It used to display an icon of a Kinesis. Just imagine that.

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
I decided to make a Mac app of the simple mirroring concept.

This app doesn't have predictive text matching like One-Hand Keyboard. Just manual mirroring by holding spacebar

Mirror-QWERTY:
http://itunes.apple.com/us/app/mirror-qwerty/id496021762?mt=12

That means one-handed typing software is now available for Windows (the autohotkey script), Linux (MirrorBoard by the XKCD guy), and Mac (Mirror-QWERTY and One-Hand Keyboard). Good times.

Offline sordna

  • Posts: 2248
Interesting idea pkamb, must come up with an xmodmap script to try it (linux user here), unless you ore anyone here have one already.
Kinesis Contoured Advantage & Advantage2 LF with Cherry MX Red switches / Extra keys mod / O-ring dampening mod / Dvorak layout. ErgoDox with buzzer and LED mod.
Also: Kinesis Advantage Classic, Kinesis Advantage2, Data911 TG3, Fingerworks Touchstream LP, IBM SSK (Buckling spring), Goldtouch GTU-0077 keyboard

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
I got an email that someone wrote: "come up with an xmodmap script to try it (linux user here), unless you or anyone here have one already."

But it's not here now. Deleted?

Anyway, the guy who makes XKCD made a version  a few years ago for Linux: MirrorBoard.

In the comments of that blog post I also found a MirrorBoard GitHub project. Haven't tried it.

Offline sordna

  • Posts: 2248
Yeah I deleted it because I decided to do the script (for Dvorak on the symmetric Kinesis Advantage keyboard) and post it. Symmetric keyboards seem to work great with this concept.
Kinesis Contoured Advantage & Advantage2 LF with Cherry MX Red switches / Extra keys mod / O-ring dampening mod / Dvorak layout. ErgoDox with buzzer and LED mod.
Also: Kinesis Advantage Classic, Kinesis Advantage2, Data911 TG3, Fingerworks Touchstream LP, IBM SSK (Buckling spring), Goldtouch GTU-0077 keyboard

Offline pkamb

  • Thread Starter
  • Posts: 28
    • http://www.staylimber.com/
Quote from: sordna;544733
Yeah I deleted it because I decided to do the script (for Dvorak on the symmetric Kinesis Advantage keyboard) and post it. Symmetric keyboards seem to work great with this concept.


Oh ok cool, looking forward to seeing it!

I'm actually a Dvorak typist too so the Mac and PC versions I've posted all have Dvorak options.