Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I'm suffering from early RSI symptoms and am looking for a way to avoid injury. My physiotherapist has determined that the worst thing I seem to be doing is using my mouse at such a weird angle. The problem for me is, I keep my keyboard positioned such that my left and right forearms are angled in the same amount, i.e., my body is centred roughly with the B key. On my current keyboard, which is not a split, this means the wide Enter key, the arrow keys, and the number pad all jut out to the right before I have space for my mouse. I have a medium-width frame, but even still, this leaves my wrist at a really awkward angle when using the mouse. I'd prefer not to have to push my keyboard out of the way every time I switch between the two, but I do use the num pad occasionally, so I wouldn't want a keyboard without that.
I think it'd be ideal to have about a 30-50 cm space between the left and right halves of the keyboard, so my arms are more perpendicular to my collarbone, and the arrow keys and number pad in the middle, maybe even with the numbers on a 45 degree angle, so I could configure them for use with either hand.
(In case you were wondering, then a touch-screen with a stylus that has a right-click modifier button for mousing, because otherwise the mouse pad would be right where I'd put the right half of the home row, in the most natural position for my right arm while sitting.)
With that much space, you could fit so many custom keys for things that you normally use two-key combos for...or you could detach them completely (save for a wire) and just have, you know, actual desktop showing through.
What's the closest keyboard you've seen to this?
I use a keyboard with the numeric keypad on the left hand side. This allows me to bring my mouse in closer on the right hand side, allowing for a more natural position. I am right handed. You can see the keyboard I use here.
(source: keyboardco.com)
http://www.thehumansolution.com/keyboards.html
I've been looking here at some keyboards (I've got severe Carpal Tunnel). The Kinesis keyboards are nice, but there where a few there with the number pad in the middle.
alt text http://us.st12.yimg.com/us.st.yimg.com/I/thehumansolution_2020_3491616
alt text http://us.st12.yimg.com/us.st.yimg.com/I/thehumansolution_2016_1198996
Just an advice. I was also suffering from the RSI symptoms, up to the shoulders. I've tried MS and Logitech ergonomic keyboard without succes. It was even worth than before because the mouse was more distant than before.
Then I founded the TypeMatrix Keyboard and it reduce my RSI to nearly nothing.
Unfortunately, they are hard to found for non US nor Canada citizens.
(source: typematrix.com)
In line with Joel Coehoorn's suggestion, I find that a trackpoint (aka "nipple") is even more ergonomical than a touchpad. Lenovo's USB Keyboard with UltraNav has both.
My mouse usage is minimal, though, because I focus on using the keyboard for everything. This might not be easy in your particular development environment.
(source: ibm.com)
A few years ago I had wrist problems, too.
What worked for me was changing my posture, how I hold myself, my arms. I move my keyboard and mouse around, I change my position and the position of those two.
Additionally I use keyboard shortcuts a lot to not overuse the mouse.
This way I got rid of my wrist problems without replacing keyboard or mouse.
As a fellow RSI suffer, I hope one of these helps out.
The ErgoMagic and ErgoFlex keyboards are split into 3 sections, and you can position the number pad in the middle.
The ErgoFlex is a flat design:
http://www.safecomputingtips.com/blog/ergonomic-keyboard/ergoflex-keyboard/
http://www.comfortkeyboard.com/keyboards_ergoflex.html
(source: safecomputingtips.com)
The ErgoMagic has adjustable tilts for each section:
http://www.comfortkeyboard.com/keyboards_ergomagic.html
(source: comfortkeyboard.com)
I did try a PCD Maltron keyboard for a while when I was having some problems with referred pain, but I never really got used to it. I'm left handed, so my mouse is quite close to the keyboard. If you're having trouble with your mouse being too far out to the right you could try a small footprint keyboard such as a Happy Hacking Keyboard and a Separate Numeric Pad on the left or somewhere else to get a more clement key layout.
I also learned to use a mouse with both hands - you might also try learning to use a mouse left-handed.
alt text http://www.maltron.com/images/keyboards/maltron-usb-dual-l90-uk-mac-qwerty-gray-1-600.jpg
(source: geekstuff4u.com)
The main problem about keyboards is not the keyboard layout or form factor, the main problem of keyboards is the layout. I had really strong RSI problems, to the point I could barely type (only by when accepting major pain!) for two weeks. I couldn't touch a keyboard for 3 weeks till it finally got better. After that the problems always came back every now and then. I tried different keyboards as well. I have a GoldTouch split keyboard, a Microsoft Natural split one, I have even the TypeMatrix one that gizmo mentioned, but it all helped little.
Then I discovered the Dvorak layout. At first I thought it's a silly idea, but I took that route. It was a hard training and it took me quite a long time, but now it's the only one I keep using, as it's the only one I can type on for ours without any RSI symptoms. At first things seem to have gotten worse, but that's only because a new layout will lead to new finger movements.
Recently I found out about Colemak, another alternative to QWERTY, it seems even more promising than Dvorak; I'm just trying to learn it... and I have a hard time again.
Another thing that helped me much more than replacing the keyboard is replacing the mouse. I'm not using a mouse any longer, I'm using a trackball.
(source: arstechnica.com)
And after I tried plenty of keyboard (I have more than 20 at home, no kidding!) I stayed with the Microsoft Natural 4000 keyboard. It might be huge, but I can type very well on it.
I don't know of any keyboards like that, but what might help is a keyboard with a built-in touchpad (like for a laptop) that you can use instead of your other mouse for some of your mousing: small adjustments, quick taps to click, etc, to avoid having to go out to the mouse.
Related
I am curious about the qwerty keyboard,
why the buttons sorted in this specific way?
Does someone thought to change the layout in order to make pairs of letters to be more close in the keyboard?
In the days of the typewriters, some letters which are often used often jams when they are used frequently. To solve this problem, Christopher Latham Sholes attempted to solve this problem by placing them further away from each other. E. Remington eventually developed this into the QWERTY keyboard. When the computer was invented, most people are already used to the QWERTY keyboard and so it is continued to be used.
I recently broke my finger and can now only type with my right hand. This has seriously impacted my typing speed. Since I write software for a living, this is a serious problem.
I have been doing some research, but haven't found a great solution yet. Here's what I've come up with:
Wacom tablet + hand writing recognition software. Is it possible to write code with hand writing recognition software?
one handed keyboards -- I have only found expensive (> $100) keyboards. These look like they have a steep learning curve.
one handed typing instructions: http://www.aboutonehandtyping.com/manualcompare.html. Does this really work?
What do the one handed coders out there use?
If you're a two-hand touch typist, the answer is a "mirrored" layout.
Mirroring lets you begin touch-typing with one hand almost immediately. Pretty crazy how easy it is. Based on the muscle memory you already have.
If you're typing with your right hand:
Type all right-hand keys normally.
Don't type left hand keys. Instead type the same motion (but mirrored) with your right hand.
So if you want to type:
"D" -> type "K" instead.
"W" -> type "O" instead.
"S" -> type "L" instead.
Same row of keyboard, same finger, same motion. Your muscle memory can already do this... kind of like how you're unable to pat your head and rub your belly at the same time. The wires in your brain are crossing somewhere.
Software to mirror the keyboard as described above:
Hold Spacebar to mirror:
Linux - MirrorBoard
Mac - Mirror-QWERTY
Windows - AutoHotkey version of Half-QWERTY Half-Keyboard
Predictive Text; Automatic Mirroring
Mac - One-Hand Keyboard
Windows - One-Hand Keyboard
Regarding one-handed keyboards, I've tried using a frogpad and found it ok for typing text, but unusable for coding. The symbols require several consecutive key presses and I found it impossible to use shortcuts reliably. It was too easy to hit the wrong key and get it stuck in the wrong mode.
Nobody has mentioned ENTI-key aka Coffee++ Layout yet? It is exactly designed for programming with one hand (left). And unlike qwerty, it is even optimized for speed and ergonomics. I used it some years ago for a short while and I don't know if it still works on newer systems. I think I used it for writing CSS: Typing the words with left, typing all those numbers on the numpad with right.
I can not recommend pen+handwriting. I usually use a tablet PC and handwriting code is terrible. I tried it on Windows 8 and Linux with Cellwriter, and both are not bad programs, but I still switch to onscreen keyboard whenever I can. But maybe the problem is my scratchy writing :)
I also can tell from experience that learning a new layout is not as complicated as it sounds. Especially if the layout is more logical than qwerty. I use Neo Layout since 10 years and getting the hang of it went smoothly, I was able to write a blog article after an evening of training.
"But what if you have to use qwerty on another PC?" This, also, is no problem, really. My simple trick is to never look at the keyboard when using Neo, but glimpse at it when qwerty-ing.
Good luck to anyone who wants to or has to use one hand for typing!
Now, the time to heal a broken finger will be shorter than it takes to adapt to one handed coding, not to mention the time it takes afterwards to get back to two-handed coding
Also, the time it takes to learn the methods is time you could've spend on coding (read: making a living).
Knowing this, we need a quick-fix, short term solution.
First of all, A good IDE, with code completion and similar functionality will help you a lot.
Secondly, use the shortcuts of the IDE, remember, there are Shift, Altand Ctrl keys on both sides of your keyboard.
(you might want to create a cheatsheet for those shortcuts)
In addition to helping you during your time with your injury, learning the shortcuts will also improve your coding speed when you're back up again.
Now, my comments on your proposals:
Don't, simply, Don't, it'll take even more time to fix writos (typos) beacause recognition will be flaky.
That learing curve will slow you down even more.
Won't even comment on that one...
Mirrorboard
A friend of mine broke his wrist snowboarding, and he had reasonable luck using speech recognition software (Nuance Dragon Naturally Speaking). It worked quite well for email and documentation, which would solve a part of your problem.
Another colleague, Nils Klarlund of AT&T, developed a version of emacs hooked into speech recognition. He even had a home-brewed set of foot pedals for doing shift, control, etc. He used this exclusively for years (due to bad carpal tunnel syndrome).
And maybe your feet can take up some of the burden. This is part of a parallel discussion going on in this question.
And off-topic, but extremely interesting, T.V. Raman, who's been blind since the age of 14, wrote a version of emacs that works with keyboard input and audio output. There's a chapter on it in Beautiful Code. I've seen him use it, and it's completely awesome. And of course emacs is a great interface for more than just text editing.
If you anticipate that your left hand will be out of commission for a long while, and if it's worthwhile for you to learn a new layout, then there exist one-handed Dvorak layouts.
There's some information at PC Guide: Single-Handed Dvorak Alphanumeric Layouts.
There also once was software for Qwerty Half Keyboards that used the space bar as an extra shift key that reversed the keyboard.
Good luck with your injury!
We have a developer in the office that lost mobility in his right hand and probably won't gain back full use of it. He has mainly learned to type well with his left hand and kind of fill in for his right hand. Although he lets his right hand kind of peck for things. He has gained enough speed back for it not to affect his day too greatly from what i can tell.
Only thing i can think of that might let you speed up some while typing with one hand and maybe being able to get a key or two with the other hand might be to use an IDE instead of text editor if you already don't, so you can use tab completion. Kind of a lame solution if you don't like IDEs or just don't have that option in your work environment but might help out a bit.
The same thing happened to me (I destroyed my left pinky). At the time, I didn't touch type, so my only use for my pinky was left-control, left-shift, and caps-lock.
This sounds as if it just happened to you. I promise you'll quickly learn to compensate. Remember, it's quality, not speed, that counts most.
Perhaps you should seize the opportunity and read to improve yourself as a programmer. Or spend some time debugging.
The lack of uniformity of the pgup print screen arrows etc is getting on my nerves. I am wondering if any of the laser keyboards would make me a more efficient keyboarder by allowing me to adjust those keys and make fewer mistakes in programs, emails, and administrative tasks.
I think you are stating that you'd like to go from a physical keyboard to a laser keyboard to improve your typing skills. As well, the only laser keyboard I have experience with had an odd layout that completley lacked the "pgup print screen arrows etc" which you complained about being non-standard, as well as having keys squished into a trapezoid.
I believe you will find it impossible to touch type on a laser keyboard. Typing requires tactile feedback to know where your fingers are at all times.
A better solution to your problem is probably to pick a standard keyboard layout and use it everywhere you can. Personally, I use upwards of four different keyboard daily, but they are all almost the same. My pet peeve with keyboards is the location of the \ key which tends to move around.
I like to use vi-style keybindings, so I wouldn't miss the keys outside of the main "block" of keys on a standard 101 keyboard.
I'm not sure what a laser keyboard is, but the Ergodex DX1 lets you move the keys around. Very useful for some things, but I doubt that typing would be one of them.
I believe that if you're planning to use that a lot, if you don't have a "good touch/feeling" keyboard, you will have problems mostly with your hands... Ergonomacy is very important specially if your working lots of hours in front of your computer. Have you imagined what it is like introducing 5000 words in a day without having the smooth and pleasing feature of the keys suspension!? imagine typing 5000 words all day long knocking your fingertips all day long in a wooden table. That's got to hurt!
I've always assumed that before I can use the Dvorak layout I need to purchase a Dvorak keyboard. But I can't find one on Amazon. Is it simply a matter of popping the keys off a Qwerty keyboard and moving them around?
To help you learn your way around the keyboard layout, you can physically rearrange the keys on your Qwerty keyboard. Or you can simply re-label the keys with stickers. I personally learned to type using the Dvorak layout without re-labeling or re-arranging keys, and found that it was not difficult.
Most modern OSes allow you to remap any keyboard to the Dvorak layout.
Windows XP/Vista: you can set
your mappings through Control
Panel->Regional and Language
Options->Languages->Details....
Mac OSX: System Preferences -> International -> Input Menu (thanks jmah)
Ubuntu: System -> Preferences -> Keyboard, Layouts Tab, Add..., Select the Devorak layout of your choice and optionaly set as default. You can then right-click your panel, select "Add to panel" and choose keyboard indicator. You can then switch between layouts. (Thanks Vagnerr)
If you are a touch typer, you will benefit greatly from the Dvorak layout.
The way I taught myself Dvorak as a touch typer was to tape a small copy of the layout to my monitor. Then I practiced typing by looking at the copy instead of the keys.
That was six years ago. I still use stardard Qwerty keyboards, but I haven't looked at what the keys says since I first learned to touch type 20 years ago.
You could go with Das Keyboard Ultimate, which has no letters on the keys. You will become a touch Dvorak typist in no time flat. Or you could wimp out and put labels on the keys.
I learned Dvorak by changing the layout using the OS. I printed out a keyboard layout and taped it below my monitor so I could refer to it without looking down at the keys.
Later, once I learned where the keys were, I printed out stickers and put them on the keys caps.
To this day, I just rely on the OS layout switching to get Dvorak.
I tried to rearrange the letters once, on some keyboards it doesn't work. Since the letters are different in shape based on the row they are in.
Well if you have a fat wallet then an Optimus Keyboard would give you Dvorak(and qwerty and azerty and any combination!)
You can just rearrange your keys on your current keyboard and change the layout.
Here is the key layout:
I'm not seeing the image, so here is the direct link.
If you're going to rearrange the physical keyboard, go for a Model M with removable key caps.
Switchable between qwerty and Dvorak: DvortyBoard
Cheap, but you need the OS to remap the keys: Hooleon
Don't get a dvorak keyboard. Non-touch-typing dvorak is as bad for your wrists, and as slow, as non-touch-typing qwerty. There is absolutely no point. You want to get out of that habit.
Change the layout in your OS and learn not to rely on looking at the keyboard. If anything, pop off the keycaps and put them back in randomly. If you absolutely must buy new hardware, get a Das Keyboard or any other blank keyboard.
I got two of these (one for work and one for home), and I love them:
http://matias.ca/dvorak/
It's also switchable via a button to Qwerty, as a concession to your colleagues who may need to type on it.
My only complaint is a very minor one: after 4 years, some of the labels started to fade or scratch off.
If you're just learning Dvorak, good luck. The best thing I did is switch to it 100% of the time. When I was switching back to Qwerty for speed, all I did was scramble my brain. Dvorak will be slower while you're on the learning curve, but it's well worth it. A lot less stress on the fingers in the long run, and after 12 years, I actually type faster on Dvorak than I ever did on Qwerty.
Best way to practice: open a book or magazine and copy some paragraphs in Dvorak. If you find a tricky paragraph, type it out two or three times until the patterns start to become muscle memory.
Good luck!
You'll have trouble getting the keys to fit (perhaps you could just draw over them) but yeah, you should be able to switch layout within the OS.
I don't know how much you are prepared to invest, but I think the Optimus Maximus keyboard from Art Lebedev Studios would be a good choice, since you can switch keyboard layout quite easily and no need for the key pop-up.
On most PC keyboards the keys have in each row have a different shape. The tops of the keycaps are at a different angle. This provides a slight front-to-back curvature of the top surface of the keys. (You can see this if you peer at the keys from the side).
If you go moving keys between rows, the tops of the keys will not line up... the keyboard will look strange and feel "bumpy" and uneven. Not good for touch typing.
Solutions:
A flat keyboard - a few manufacturers produce keyboards where all the keycaps are the same shape. Apple and Sun keyboards are like this, and I think most Logitech keyboards too... But be careful of the new Apple aluminium keyboard -- it may be harder to remove the keycaps safely.
Also, you are best starting with a US QWERTY keyboard. Other national layouts have some different keys, and you won't be able to get standard Dvorak by re-arranging.
You could try getting a custom keyboard from Unicomp. They offer an IBM buckling spring style keyboard called the "Customizer 104/105" that is available in many different languages, including US-Dvorak if you ask for it. I have purchased a couple of keyboards from this company and the quality is top notch. If you want a new buckling spring keyboard, this is the only company that I am aware of that offers them.
This keyboard is hardwired so you don't have any of the issues that you would have if you switch the keyboard layout in the OS - like your log-in key map being different than your account key map, or problems with remoting into another computer.
Unicomp Keyboards
You can just change the layout in your OS. It actually would be better not to get a Dvorak keyboard so you can learn Dvorak without being dependent on looking at the keys. A great typing tutor to help you learn is Stamina Typing Tutor (just google it), which has an on screen keyboard so you don't have to look at your keys. And when you aren't just practicing you can print out the Dvorak layout from Google images and refer to that as you type. If you really want to get a hardwired keyboard search Matias Dvorak on Amazon. That's the only keyboard I could find on Amazon that was Dvorak, and it has a button to switch between Qwerty and Dvorak. I would not rearrange your keys though since most OS's don't switch to Dvorak until the user logs in.
I'm considering switching to a Dvorak-based keyboard layout, but one optimized for programming (mostly) Java and python (e.g. DDvorak, Programmer Dvorak, etc.). What particular keyboard would be best for such an undertaking? I'd consider either natural or straight keyboards.
Thanks.
I strongly discourage you from learning a layout that has been heavily optomized for any one programming language (or even a class of them..) it's much, much easier to change languages than keylayouts, and you'll have a lot of trouble finding the tweaked layouts on any random computers you need to use.
That said, I've used dvorak for years (something like 7-8 years now) on a Kinesis Contoured keyboard and it works wonderfully. The kinesis is programmable, switches between qwerty/dvorak, and you can remap the keys all you want (so you could try out ddvorak or programmer dvorak pretty easily, without making software changes, if you wanted).
The contoured keyboard also forces you to touch-type more "correctly", since you can't easily reach across the keyboard with the wrong hand.
Typematrix
(source: typematrix.com)
Plain vanilla dvorak is best imho. Yes, it does move 3 or 4 keys such as {}: etc out of the way, but you quickly get used to them in the new position, and after a while it makes no odds at all.
The pay off comes in being able to use any random pc - flick the keyboard layout to standard dvorak (which is on just about all PC's, unlike most obscure programmer layouts), and away you go. If you're used to a non-standard dvorak layout, and are forced to use a normal dvorak layout on a qwerty labeled keyboard, I suspect you're in for a whole ton of backspaces (and curse words).
I've only been using dvorak for a few years, but I can't imagine programming using anything else. (Especially with vim, the dvorak layout seems to end up with lots of the keys in much handier positions =)
oh, and as mentioned above - kinesis contoured keyboard is the way to go if you're considering changing layouts for R.S.I issues.
I think the ErgoDox is probably the best option. You used to have to order the components and build it yourself, but now you can purchase it assembled. Here is what it looks like when completed:
I think the ErgoDox is the best option. Apparently the DataHand also supports Dvorak, but I think it would have a pretty steep learning curve:
The components for the ErgoDox typically run about $250 when all is said and done, although it can definitely be built for less than that. I think the DataHand costs around $800.
Any 'normal' keyboard should be pretty much adequate for dvorak, including simple ergonomic (split in equal halves) keyboards. Some of the more esoteric split-ergonomic keyboards that aren't equally split may cause problems with the way that dvorak weights the finger usage though.
If you're going to learn dvorak, I would personally avoid plain dvorak, as it moves punctuation commonly used in programming, such as parenthesis, brackets, braces, etc too far away from the hands: There are a number of 'programmer dvorak' implementations out there which adjust dvorak for this 'oversight'.
I started this post in reply to Tom's post but it grew slightly long.
I learned to touch type at the same time as switching to the Dvorak layout and found that using a qwerty keyboard helped a lot. It stopped me from being tempted to look down at the keyboard. There's no reason to need the labels if your going to touch type and learning to touch type is more important than changing to dvorak.
Right now I'm using the Programmers Dvorak layout that I've made slight modifications to and find it easier than qwerty was.
I recently found out about the Developer's Dvorak but think it's too different for me to learn while still being able to use normal dvorak. It changes the vowel placement and just about half the other keys.
If you are planning on using a custom keyboard layout that's very far from the norm it's good to have something like Portable Keyboard Layout that you can put in a portable drive to use on any [windows] computer.
Do you use a natural keyboard, or a straight one? Keyboard preference can be intensely personal, but many higher-end keyboards have keys fitted specifically for the location of the key (slant and curvature), meaning for Dvorak you'll need to ignore the labels, move the keys and eliminate that advantage, or go with something like the blank das keyboard
My BROTHER of keyboard land. I think I found the holy grail in terms of programming keyboards. Behold the keyboard that retains the layout within the keyboard. I have a custom Dvorak keyboard layout not particularly for programing, mostly for essay writing. I do program a lot though. That retains programmable macros within its brain. That has 24 function buttons. And that has mechanical switches (if it had cherry blue or buckling it would be perfect, it currently sports alps, which arent bad at all). It is based on the renowned Northgate omnikey.
CVT Avanat Stella
http://www.theregister.co.uk/2005/11/07/avant_keyboard_review/
On the other hand, you could go 150 bucks under with the IBM Workstation, its legendary buckling spring design is a holy grail among typists. And its 24+ function buttons should prove useful. Plus its vintage goodness is something any geek would adore.
Although switching a keyboard format through software is an easy fix, having a keyboard like the Typematrix helps alot. I've been using the Typematrix 2030 for 4 years now and own 2 boards. One is for work and the other is for home use. I can now use any keyboard I want but the typematrix is definitely more comfortable and timely. This keyboard comes with software that will aid you in learning Dvorak if you don’t know how to type yet.