Hi all!
I believe I've recently fallen victim to the infamous 'Emacs pinky' sickness (see http://en.wikipedia.org/wiki/Emacs#Emacs_Pinky)... :(
I made several changes to my working environment in hope to remedy the situation, such as swaping ctl and alt. I also am trying to learn to press control keys with one hand and the other combo key with the other thus using both controls and alt keys. I'll go check today if I can find an ergonomic keyboard too.
Does anyone have some other ideas/tips for improving the situation? Using vi is my last resort option as I am really familiar with emacs and love it alot...
Thanks!
David
PS: I am pasting here the changes I made in hope they might get usefull to others that may want to avoid this problem...
~/.swapCtlAlt.xmodmap keycode 37 = Alt_L Meta_L keycode 64 = Control_L keycode 108 = Control_R keycode 105 = Alt_R Meta_R clear Control clear Mod1 add Control = Control_L Control_R add Mod1 = Alt_L Alt_R
~/.bashrc xmodmap .swapCtlAlt.xmodmap
~/.emacs: (global-set-key (kbd "1") (lambda () (interactive) (insert ?!))) (global-set-key (kbd "2") (lambda () (interactive) (insert ?@))) (global-set-key (kbd "3") (lambda () (interactive) (insert ?#))) (global-set-key (kbd "4") (lambda () (interactive) (insert ?$))) (global-set-key (kbd "5") (lambda () (interactive) (insert ?%))) (global-set-key (kbd "6") (lambda () (interactive) (insert ?^))) (global-set-key (kbd "7") (lambda () (interactive) (insert ?&))) (global-set-key (kbd "8") (lambda () (interactive) (insert ?*))) (global-set-key (kbd "9") (lambda () (interactive) (insert ?())) (global-set-key (kbd "0") (lambda () (interactive) (insert ?))))
(global-set-key (kbd "!") (lambda () (interactive) (insert ?1))) (global-set-key (kbd "@") (lambda () (interactive) (insert ?2))) (global-set-key (kbd "#") (lambda () (interactive) (insert ?3))) (global-set-key (kbd "$") (lambda () (interactive) (insert ?4))) (global-set-key (kbd "%") (lambda () (interactive) (insert ?5))) (global-set-key (kbd "^") (lambda () (interactive) (insert ?6))) (global-set-key (kbd "&") (lambda () (interactive) (insert ?7))) (global-set-key (kbd "*") (lambda () (interactive) (insert ?8))) (global-set-key [?(] (lambda () (interactive) (insert ?9))) (global-set-key [?)] (lambda () (interactive) (insert ?0)))
~/.../paredit.el (progn (setq paredit-commands `( "Basic Insertion Commands" ("9" paredit-open-round ("(a b |c d)" "(a b (|) c d)") ("(foo "bar |baz" quux)" "(foo "bar (|baz" quux)")) ("0" paredit-close-round ("(a b |c )" "(a b c)|") ("; Hello,| world!" "; Hello,)| world!")) ... "Depth-Changing Commands" ("M-9" paredit-wrap-round ("(foo |bar baz)" "(foo (|bar) baz)")) ... "Barfage & Slurpage" (("C-0" "C-<right>") paredit-forward-slurp-sexp ("(foo (bar |baz) quux zot)" "(foo (bar |baz quux) zot)") ("(a b ((c| d)) e f)" "(a b ((c| d) e) f)")) )) nil)
Afficher les réponses par date
2009/9/25 David St-Hilaire sthilaid@iro.umontreal.ca:
other thus using both controls and alt keys. I'll go check today if I can find an ergonomic keyboard too.
If you're serious about going down the ergo keyboard route the Kinesis Advantage http://www.kinesis-ergo.com/contoured.htm is *the* way to go for Emacs. It puts all the control keys under your thumbs and the dished shape and soft "bottom" to the touch are more than worth the price of admission. I went from pain so bad I could barely type (much less drive my car or pick up my kids) to pretty good shape and there is no doubt in my mind that the keyboard was a big part of it.
Yes, I'm a fan. It's totally worth the time it takes to re-train your typing. And everyone else will be intimidated away from your workstation as a side-benefit :)
david rush
David Rush wrote:
2009/9/25 David St-Hilaire sthilaid@iro.umontreal.ca:
other thus using both controls and alt keys. I'll go check today if I can find an ergonomic keyboard too.
If you're serious about going down the ergo keyboard route the Kinesis Advantage http://www.kinesis-ergo.com/contoured.htm is *the* way to go for Emacs. It puts all the control keys under your thumbs and the dished shape and soft "bottom" to the touch are more than worth the price of admission. I went from pain so bad I could barely type (much less drive my car or pick up my kids) to pretty good shape and there is no doubt in my mind that the keyboard was a big part of it.
Yes, I'm a fan. It's totally worth the time it takes to re-train your typing. And everyone else will be intimidated away from your workstation as a side-benefit :)
david rush
Hi:
Try "Das Keyboard" which has mechanical keys by Cherry. Stress is not minimized by layout but by eliminating the rubber mat which underlays the vast majority of keyboards. I have two of these keyboards, one has no letters.
=Bob=
David St-Hilaire sthilaid@iro.umontreal.ca writes:
I believe I've recently fallen victim to the infamous 'Emacs pinky' sickness (see http://en.wikipedia.org/wiki/Emacs#Emacs_Pinky)... :(
I made several changes to my working environment in hope to remedy the situation, such as swaping ctl and alt. I also am trying to learn to press control keys with one hand and the other combo key with the other thus using both controls and alt keys. I'll go check today if I can find an ergonomic keyboard too.
Does anyone have some other ideas/tips for improving the situation? Using vi is my last resort option as I am really familiar with emacs and love it alot...
I actually broke my left pinky once snowboarding, and afterwards really wished I had broken a leg instead. It was the least productive few weeks of programming I've ever had.
viper-mode helps, as does using both controls and sometimes just hunting and pecking with both index fingers, but I never found a really satisfying solution.
David,
Just set caps lock a control key. You'll be much happier, plus caps is much bigger key, easier to press and is placed on a prime real estate on the keyboard(home row). If you are a dvorak user then having caps lock be a control key is even more beneficial. You could easily edit this in your .xmodmap file (I believe that the keycode was 42 or 48) double check that.
I'm also immune the emacs pinky :) coz' when I was little I cut the muscles of my left pinky so deep (it was an accident) that I was never able to bend the 5th distal interphalangeal join on my left hand(the pinky) and that works out great when using emacs.
All the best, Pavel P.S. I'm not suggesting you cut the muscles on your left pinky btw.
On Fri, Sep 25, 2009 at 7:48 AM, Alex Shinn alexshinn@gmail.com wrote:
David St-Hilaire sthilaid@iro.umontreal.ca writes:
I believe I've recently fallen victim to the infamous 'Emacs pinky' sickness (see http://en.wikipedia.org/wiki/Emacs#Emacs_Pinky)... :(
I made several changes to my working environment in hope to remedy the situation, such as swaping ctl and alt. I also am trying to learn to press control keys with one hand and the other combo key with the other thus using both controls and alt keys. I'll go check today if I can find an ergonomic keyboard too.
Does anyone have some other ideas/tips for improving the situation? Using vi is my last resort option as I am really familiar with emacs and love it alot...
I actually broke my left pinky once snowboarding, and afterwards really wished I had broken a leg instead. It was the least productive few weeks of programming I've ever had.
viper-mode helps, as does using both controls and sometimes just hunting and pecking with both index fingers, but I never found a really satisfying solution.
-- Alex _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
As a long time user of vim, I gave emacs a good month trial and quickly experienced the fatigue you spoke of, with little to no improvement in my productivity. Vi has a bad rep when it comes to editing lisp style code, but modern vi clones (especially vim) have come a long way. Viper is nice, but it doesn't have all the features of something like vim.
Anyways, I'm by no means trying to start an editor war, but I think a close look at vim is at least worth it if you are suffering from escape-meta-alt-control-shift fatigue. Some good links on editing lisp and/or scheme can be found with google, but here are some anyways:
http://cybertiggyr.com/15-vim/
http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/
http://www.vim.org/scripts/script.php?script_id=2219
Anyways, as you can see, coding scheme in vim doesn't have to be the nightmare many people think it is.
On Fri, Sep 25, 2009 at 10:06 AM, David St-Hilaire sthilaid@iro.umontreal.ca wrote:
Hi all!
I believe I've recently fallen victim to the infamous 'Emacs pinky' sickness (see http://en.wikipedia.org/wiki/Emacs#Emacs_Pinky)... :(
I made several changes to my working environment in hope to remedy the situation, such as swaping ctl and alt. I also am trying to learn to press control keys with one hand and the other combo key with the other thus using both controls and alt keys. I'll go check today if I can find an ergonomic keyboard too.
Does anyone have some other ideas/tips for improving the situation? Using vi is my last resort option as I am really familiar with emacs and love it alot...
Thanks!
David
PS: I am pasting here the changes I made in hope they might get usefull to others that may want to avoid this problem...
~/.swapCtlAlt.xmodmap keycode 37 = Alt_L Meta_L keycode 64 = Control_L keycode 108 = Control_R keycode 105 = Alt_R Meta_R clear Control clear Mod1 add Control = Control_L Control_R add Mod1 = Alt_L Alt_R
~/.bashrc xmodmap .swapCtlAlt.xmodmap
~/.emacs: (global-set-key (kbd "1") (lambda () (interactive) (insert ?!))) (global-set-key (kbd "2") (lambda () (interactive) (insert ?@))) (global-set-key (kbd "3") (lambda () (interactive) (insert ?#))) (global-set-key (kbd "4") (lambda () (interactive) (insert ?$))) (global-set-key (kbd "5") (lambda () (interactive) (insert ?%))) (global-set-key (kbd "6") (lambda () (interactive) (insert ?^))) (global-set-key (kbd "7") (lambda () (interactive) (insert ?&))) (global-set-key (kbd "8") (lambda () (interactive) (insert ?*))) (global-set-key (kbd "9") (lambda () (interactive) (insert ?())) (global-set-key (kbd "0") (lambda () (interactive) (insert ?))))
(global-set-key (kbd "!") (lambda () (interactive) (insert ?1))) (global-set-key (kbd "@") (lambda () (interactive) (insert ?2))) (global-set-key (kbd "#") (lambda () (interactive) (insert ?3))) (global-set-key (kbd "$") (lambda () (interactive) (insert ?4))) (global-set-key (kbd "%") (lambda () (interactive) (insert ?5))) (global-set-key (kbd "^") (lambda () (interactive) (insert ?6))) (global-set-key (kbd "&") (lambda () (interactive) (insert ?7))) (global-set-key (kbd "*") (lambda () (interactive) (insert ?8))) (global-set-key [?(] (lambda () (interactive) (insert ?9))) (global-set-key [?)] (lambda () (interactive) (insert ?0)))
~/.../paredit.el (progn (setq paredit-commands `( "Basic Insertion Commands" ("9" paredit-open-round ("(a b |c d)" "(a b (|) c d)") ("(foo "bar |baz" quux)" "(foo "bar (|baz" quux)")) ("0" paredit-close-round ("(a b |c )" "(a b c)|") ("; Hello,| world!" "; Hello,)| world!")) ... "Depth-Changing Commands" ("M-9" paredit-wrap-round ("(foo |bar baz)" "(foo (|bar) baz)")) ... "Barfage & Slurpage" (("C-0" "C-<right>") paredit-forward-slurp-sexp ("(foo (bar |baz) quux zot)" "(foo (bar |baz quux) zot)") ("(a b ((c| d)) e f)" "(a b ((c| d) e) f)")) )) nil) _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
heresy!!!
I'm joking. VI is a useful tool too.
On Fri, Sep 25, 2009 at 8:29 AM, Isaac Freeman memotype@gmail.com wrote:
As a long time user of vim, I gave emacs a good month trial and quickly experienced the fatigue you spoke of, with little to no improvement in my productivity. Vi has a bad rep when it comes to editing lisp style code, but modern vi clones (especially vim) have come a long way. Viper is nice, but it doesn't have all the features of something like vim.
Anyways, I'm by no means trying to start an editor war, but I think a close look at vim is at least worth it if you are suffering from escape-meta-alt-control-shift fatigue. Some good links on editing lisp and/or scheme can be found with google, but here are some anyways:
http://cybertiggyr.com/15-vim/
http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/
http://www.vim.org/scripts/script.php?script_id=2219
Anyways, as you can see, coding scheme in vim doesn't have to be the nightmare many people think it is.
On Fri, Sep 25, 2009 at 10:06 AM, David St-Hilaire sthilaid@iro.umontreal.ca wrote:
Hi all!
I believe I've recently fallen victim to the infamous 'Emacs pinky' sickness (see http://en.wikipedia.org/wiki/Emacs#Emacs_Pinky)... :(
I made several changes to my working environment in hope to remedy the situation, such as swaping ctl and alt. I also am trying to learn to press control keys with one hand and the other combo key with the other thus using both controls and alt keys. I'll go check today if I can find an ergonomic keyboard too.
Does anyone have some other ideas/tips for improving the situation? Using vi is my last resort option as I am really familiar with emacs and love it alot...
Thanks!
David
PS: I am pasting here the changes I made in hope they might get usefull to others that may want to avoid this problem...
~/.swapCtlAlt.xmodmap keycode 37 = Alt_L Meta_L keycode 64 = Control_L keycode 108 = Control_R keycode 105 = Alt_R Meta_R clear Control clear Mod1 add Control = Control_L Control_R add Mod1 = Alt_L Alt_R
~/.bashrc xmodmap .swapCtlAlt.xmodmap
~/.emacs: (global-set-key (kbd "1") (lambda () (interactive) (insert ?!))) (global-set-key (kbd "2") (lambda () (interactive) (insert ?@))) (global-set-key (kbd "3") (lambda () (interactive) (insert ?#))) (global-set-key (kbd "4") (lambda () (interactive) (insert ?$))) (global-set-key (kbd "5") (lambda () (interactive) (insert ?%))) (global-set-key (kbd "6") (lambda () (interactive) (insert ?^))) (global-set-key (kbd "7") (lambda () (interactive) (insert ?&))) (global-set-key (kbd "8") (lambda () (interactive) (insert ?*))) (global-set-key (kbd "9") (lambda () (interactive) (insert ?())) (global-set-key (kbd "0") (lambda () (interactive) (insert ?))))
(global-set-key (kbd "!") (lambda () (interactive) (insert ?1))) (global-set-key (kbd "@") (lambda () (interactive) (insert ?2))) (global-set-key (kbd "#") (lambda () (interactive) (insert ?3))) (global-set-key (kbd "$") (lambda () (interactive) (insert ?4))) (global-set-key (kbd "%") (lambda () (interactive) (insert ?5))) (global-set-key (kbd "^") (lambda () (interactive) (insert ?6))) (global-set-key (kbd "&") (lambda () (interactive) (insert ?7))) (global-set-key (kbd "*") (lambda () (interactive) (insert ?8))) (global-set-key [?(] (lambda () (interactive) (insert ?9))) (global-set-key [?)] (lambda () (interactive) (insert ?0)))
~/.../paredit.el (progn (setq paredit-commands `( "Basic Insertion Commands" ("9" paredit-open-round ("(a b |c d)" "(a b (|) c d)") ("(foo "bar |baz" quux)" "(foo "bar (|baz" quux)")) ("0" paredit-close-round ("(a b |c )" "(a b c)|") ("; Hello,| world!" "; Hello,)| world!")) ... "Depth-Changing Commands" ("M-9" paredit-wrap-round ("(foo |bar baz)" "(foo (|bar) baz)")) ... "Barfage & Slurpage" (("C-0" "C-<right>") paredit-forward-slurp-sexp ("(foo (bar |baz) quux zot)" "(foo (bar |baz quux) zot)") ("(a b ((c| d)) e f)" "(a b ((c| d) e) f)")) )) nil) _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
-- Isaac Freeman memotype (at) gmail.com
"The diversity of mankind is a basic postulate of our knowledge of human beings. But if mankind is diverse and individuated, then how can anyone propose equality as an ideal? Every year, scholars hold Conferences on Equality and call for greater equality, and no one challenges the basic tenet. But what justification can equality find in the nature of man? If each individual is unique, how else can he be made 'equal' to others than by destroying most of what is human in him and reducing human society to the mindless uniformity of the ant heap?" --Murray N. Rothbard _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
I noticed I was adding stress to it by over using the scroll wheel on the mouse. I switched to using a stylus as the primary control device and that helped quite a bit.
On Fri, Sep 25, 2009 at 7:06 AM, David St-Hilaire sthilaid@iro.umontreal.ca wrote:
Hi all!
I believe I've recently fallen victim to the infamous 'Emacs pinky' sickness (see http://en.wikipedia.org/wiki/Emacs#Emacs_Pinky)... :(
I made several changes to my working environment in hope to remedy the situation, such as swaping ctl and alt. I also am trying to learn to press control keys with one hand and the other combo key with the other thus using both controls and alt keys. I'll go check today if I can find an ergonomic keyboard too.
Does anyone have some other ideas/tips for improving the situation? Using vi is my last resort option as I am really familiar with emacs and love it alot...
Thanks!
David
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
At 09:06 AM 9/25/2009, David St-Hilaire wrote:
Hi all!
I believe I've recently fallen victim to the infamous 'Emacs pinky' sickness (see http://en.wikipedia.org/wiki/Emacs#Emacs_Pinky)... :(
:-( indeed. I started having problems in 1993 myself, although they're mostly related to mousing. For that, I position my mouse so that I don't move my right arm up or down, and for the last few years I've been using a Goldtouch keyboard which splits and tents (I only use the former) but most importantly for me has only one column of keys beyond the normal end of BS, |, Enter, etc. so that it minimizes how much my arm has to travel.
It's basically a laptop layout and for you, it might help in that it has the arrow keys tucked right under Enter and to the right of Shift and right Ctrl. If you can train yourself to use your left ring finger or pinky to hit those then you can stop doing C-P/N/B/F and change how you do M-B/F. I think I've at least half switched to using the arrow keys for that.
I made several changes to my working environment in hope to remedy the situation, such as swaping ctl and alt.
I used to do that for years and it's a BIG win; it's certainly how the original AI Lab and LispM keyboards were laid out (I stopped because I was in industry and had to use other people's keyboards sufficiently often for a few minutes that it was just too confusing).
On the other hand, the LispM and Knight/AI Lab keyboards had rubout in the position caps lock is currently in, so while very conveniently on the home row compared to the high right exile of backspace it sure exercised your left pinky.
Here's what it looked like, this was the keyboard that I believe the original TECO Emacs was designed for (or was it designed for Emacs???):
http://world.std.com/~jdostale/kbd/Knight.html
In this closeup:
http://world.std.com/~jdostale/kbd/Knight1.jpeg
Note how Meta is to the outside, and how both the Ctrl and Meta keys are far away from the space bar, which really changes the way your pinkies use them.
These also has Hall effect switches (VERY nice feel) and were quite high, like 3-4 inches instead of the current ISO? very short requirement that for a long time made it hard to put good switches in a keyboard.
I also am trying to learn to press control keys with one hand and the other combo key with the other thus using both controls and alt keys. I'll go check today if I can find an ergonomic keyboard too.
If you don't want to totally retrain yourself a keyboard like the Goldtouch is a good option. It's got very nice key switches, say 2/3 as good as the Knight's Hall effect switches.
Does anyone have some other ideas/tips for improving the situation?
This may not work as well for others since I played the violin when younger and really trained up the dexterity of my left hand, but ... I just checked, and I note that I've unconsciously trained myself to do the following for the various bucky bits (hmmm, I should also note that my touch typing is totally self-taught, starting from hunt and peck):
Left ring finger for Shift.
Left pinky for Ctrl ... but I curl it so that the tip almost touches my palm and the front of it hits the key, from the area just forward of the last joint to the middle of the segment just before the nail starts. That drastically changes the way you use it such that I suspect Emacs pinky won't be a problem (I've never noticed it). For me, hitting C-B is a bit of a stretch plus a little strain, though.
And I use my left thumb to hit Alt. That requires quite a bit of rotation of my left arm around the point hitting the Alt key to hit the T/G/B column, and some for R/F/V, but that doesn't seem to cause damage.
Using vi is my last resort option as I am really familiar with emacs and love it alot...
Indeed, I've used Emacs since 1980 and won't use anything else. Here's the general book on RSI that I highly recommend; you might have some posture issues that are aggravating this plus it's advice on how to deal with damage as it occurs and after is invaluable:
Dr. Pascarelli's Complete Guide to Repetitive Strain Injury
by Emil Pascarelli M.D.
ISBN-10: 0-471-38843-2
Amazon.ca:
http://www.amazon.ca/Pascarellis-Complete-Repetitive-Strain-Injury/dp/047138...
Amazon.com:
http://www.amazon.com/Pascarellis-Complete-Repetitive-Strain-Injury/dp/04713...
My only other piece of advice is to listen to your body. As the above book emphasizes ("Learn from your pain, pay attention to your pain, and you should eventually conquer it."), once you start hurting, doing more is just going to pile on damage.
Don't end up like Bernie Greenberg, who permanently wrecked his wrists in 1-2 weeks when he started playing the piano after years of no force required instruments like the harpsichord; from Wikipedia:
The word piano is a shortened form of the word pianoforte, which is seldom used except in formal language and derived from the original Italian name for the instrument, clavicembalo [or gravicembalo] col piano e forte (literally harpsichord with calm and strong). This refers to the instrument's responsiveness to keyboard touch, which allows the pianist to produce notes at different dynamic levels by controlling the speed with which the hammers hit the strings.
You must use your *arms* to do this, but he did it without formal piano training and I guess didn't pay attention to the signals his body must have been sending him (plus he had perhaps accumulated a lot of damage up to that point).
Symbolics had to hire typist for him.... He's the most extreme case I know of, but I watched other names you've heard of seriously damage themselves in the '80s. I strongly advise you and everyone reading this to take this issue with upmost seriousness.
One of my best friends has run the MIT EECS undergraduate program for the last three decades and she reports that about 25 years ago for 5 years MIT undergraduates had a lot of RSI problems, but I guess awareness developed so that it's now pretty rare. But she did talk to a student about 3 years ago about a mandatory career change, since that student wasn't going to ever be able to use a keyboard (heavily) again....
Thanks!
You're welcome and I wish you luck.
- Harold