all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Xah Lee <xahlee@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: line-move-visual
Date: Tue, 15 Jun 2010 15:45:58 -0700 (PDT)	[thread overview]
Message-ID: <c1636cc0-4ab3-4bfd-b0d0-6b80bc23a4f6@g1g2000pro.googlegroups.com> (raw)
In-Reply-To: 4C17FE36.30102@thadlabs.com

On Jun 15, 3:27 pm, Thad Floryan <t...@thadlabs.com> wrote:
> On 6/15/2010 1:42 AM, Uday S Reddy wrote:
>
> > On 6/15/2010 7:54 AM, Pascal J. Bourguignon wrote:
>
> >> Well, C-f C-n is all you need.  I mean, keep C-f pressed until the
> >> cursor reaches the column you want, you don't even need to count
> >> 76.  And keep C-n pressed until the cursor reaches the line you want.
>
> > Except that pressing control-key for that long with your pinky is a
> > health risk!
> > [...]
>
> That's why remapping the [Caps Lock] to be a [Ctrl] is very useful.
>

swapping Caps Lock with Ctrl is not good.

• Why You Should Not Swap Caps Lock With Control
  http://xahlee.org/emacs/swap_CapsLock_Ctrl.html

plain text version follows:
------------------------------------------------------------------------

Why You Should Not Swap Caps Lock With Control

Xah Lee, 2008-07-10

Swapping the Caps Lock key with the Control key is one of the bad
advice in keyboarding. It's one of the myth that perpetuate bad
practice. It does damage to your finger's health. Here are the reasons
why:

    * On a typical PC keyboard of today, the Caps Lock is the most
difficult modifier key to press, and is pressed by the weakest finger
pinky. The Control key can be easily pressed with palm.
    * It makes the left pinky do 2 pinkies's work. (try to pick out
your right Shift key and type for a week and see how you feel)
    * It forces the left hand to strain into spider legs positions.
Or, it forces your right hand to flies about wildly if the letter key
is near the middle of the keyboard (example: CapsLock+T, CapsLock+G,
CapsLock+B).
    * It renders many Ctrl+‹key› spots void, since now with only one
pinky many otherwise good Ctrl+‹key› spots are hard to use.
    * The left hand now constantly shift from home position.

The above assumes that you do TOUCH TYPE. If you do not touch type,
you really need to learn that first before you can talk about hand
health.

The above also assumes that you are using a full sized keyboard, not
the keyboard on laptops. If you are stuck with a laptop computer keys,
then you need to get a full PC keyboard first. Prolonged typing on
laptop sized computer is sure way to damage your hands.

--------------------------------------------------
Good Tips

    * If you use the Ctrl key much more frequently than Alt, then do
swap them. Because, Alt is much easy to press, with the thumb. (See:
How To Swap Caps Lock, Alt, Control Keys On Windows, How to Swap
Modifier Keys on OS X)
    * Buy a keyboard with Control on both sides of keyboard.
    * Buy a keyboard such that the modifier keys are placed
symmetrically with respect to F and J keys. (That is, the distance
between Left Control to F should be the same as right Control to J.)
    * Press modifier keys using both hands, in the same way of using
Shift key in touch typing. If the letter is on the left side, use the
Ctrl key on the right side, and vice versa.
    * On most full sized PC keyboard, it's very easy to use palm or
semi-fist to press Control key. Do this and save the Pinky.


--------------------------------------------------
Why You Should Not Swap Caps Lock With Control

Among tech geeking circles, it's widely recommended like a dogma, to
swap Caps Lock and Ctrl keys. However, remapping Control to Caps Lock
seriously violates some basic ergonomic principles.

In touch typing, modifiers comes in pairs, such as Shift. The accepted
ergonomic way to press them is using one hand to press the modifier
and the other to press the letter key.

You can see how it is otherwise by disabling one of the Shift key.
With just one modifier, you are heavily handicapped. As a example, try
this exercise:

TYPE THIS SENTENCE WITH ONLY THE LEFT SHIFT KEY AND WITHOUT USING CAPS
LOCK.

Quickly, you'll see the pain.

Similar is with other modifier keys such as Alt and Ctrl. The reason
they are not noticed only because they are seldom used. However, in
emacs, it is heavily used. So, by mapping Ctrl to the Caps Lock key,
you put a severe handicap by putting all work into the left pinky, and
restrict the number of keys you can comfortably use with Ctrl.

The reason that many tech geekers still recommend it is because the
Ctrl key is traditionally on the corner of keyboard and rather
difficult to press. Also, many keyboards does not have right Ctrl. So,
in a sense, Caps Lock as Ctrl is a improvement. It is especially a
good solution on laptop's keyboards.

There are 2 ways to remedy the problem of pressing of Ctrl.

One is to buy a good keyboard that has big Alt and Ctrl keys, and on
both sides of the keyboard, and symmetrically placed with respect to
your thumbs when hands in home position. (some keyboards, such as
Apple keyboard, has the right side modifiers far to the right,
rendering them unusable for touch typing) Microsoft's ergonomic
keyboard are very good with respect to this, and also vast majority of
generic PC keyboards.

The other way is to learn to type the corner Ctrl by pressing down
your palm or semi fist, instead of poking it with your pinky. This can
be comfortably done on most PC keyboards. (See: photo of generic PC
keyboard)

To see which is better, you can type this sentence and press Ctrl for
every letter. (do it outside of emacs) You can quickly find out which
way is better for you.

The above assumes you touch type. If you don't, some tips may not
apply, and you really should learn touch typing first.

--------------------------------------------------
Anecdotes vs Ergonomics

Joel wrote: «... do not use two fingers on the same hand at the same
time, except in emergencies. ...».

YSK wrote: «Seriously? I do this all the time. Some of my favorite
(non-emacs) shortcuts include stuff like C-M-S-e, all done with my
left hand. Is that bad?».

--------------------------------
One Modifier Key

Yes and no. In general, if you just have one modifier key and one
letter key, the proper touch typing guidline is to use one hand on the
modifier and the other on the letter. Choose the modifier on the other
side of the letter key.

You can test this out.

Try to type this whole sentence in captical letters (but without using
Caps Lock).

First, try it using just the left Shift key. Then try it using the
touch type guidline as above. You'll see how using single hand creates
pain. Similarly, you can try the above with the Control key as
modifier.

--------------------------------
Multiple Modifier Keys

When you have multiple modifier, it gets a bit more complex and the
rule applies less. Ultimately, there are several factors involved. For
example, the keyboard hardware is not well designed due to historical
reasons. (See: Keyboard Hardware Design Flaws) Secondly, many
keyboards such as Apple's that has the right hand side's modifier far
to the right, making them less usable for touch type. Lastly, the
principles of ergonomics presumes you are doing the task repeatitively
for a prolonged time. Else it doesn't apply. For example, for vast
majority of computer users (say 95%), they only type maybe for 1 hour
per day, and there's not much activity of continued typing more than 5
min. Lots of professional programers don't even touch type; partly
because heavy duty data-entry is not really part of programing.

And when it comes to Control key, or multiple modifiers, they are not
used that much often, so whichever works for you is ok. However, this
does not mean it's completely a personal issue without any scientific
criterion on what is better. For example, of all the styles and
anecdotes you hear about how you should press modifier, you can easily
test them out and find the better one, by say, force yourself to
continuously operate it for 10 min using one way, then do the same
test with another way. You'll quickly see which one is more tiring and
which is faster with less effort.

  Xah
∑ http://xahlee.org/

  parent reply	other threads:[~2010-06-15 22:45 UTC|newest]

Thread overview: 174+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <alpine.OSX.2.00.1006031053170.77397@hsinghsing.panda.com>
     [not found] ` <hu925r$1b$1@north.jnrs.ja.net>
     [not found]   ` <alpine.OSX.2.00.1006031431510.77397@hsinghsing.panda.com>
2010-06-04  7:59     ` line-move-visual Uday S Reddy
     [not found]       ` <87pr07qjio.fsf@thinkpad.tsdh.de>
2010-06-04 11:24         ` line-move-visual Uday S Reddy
2010-06-04 12:49           ` line-move-visual Tassilo Horn
2010-06-09 19:51             ` line-move-visual Joseph Brenner
2010-06-09 20:22               ` line-move-visual Brendan Halpin
2010-06-10  1:23               ` line-move-visual Stefan Monnier
     [not found]         ` <hualdf$eln$1@north.jnrs.ja.net>
2010-06-04 13:00           ` line-move-visual Tassilo Horn
2010-06-04 14:51             ` line-move-visual Stefan Monnier
2010-06-04 20:53               ` line-move-visual Tassilo Horn
2010-06-09 19:42               ` proposed keyboard-macro to record to elisp (was Re: line-move-visual) Joseph Brenner
2010-06-09 22:42                 ` LanX
     [not found]             ` <871vcmhq79.fsf@wivenhoe.ul.ie>
     [not found]               ` <hub2ss$is4$1@north.jnrs.ja.net>
2010-06-04 14:45                 ` line-move-visual Brendan Halpin
2010-06-04 17:49               ` line-move-visual Xah Lee
2010-06-04 18:18                 ` line-move-visual Mark Crispin
2010-06-04 19:19                   ` line-move-visual Xah Lee
     [not found]                     ` <alpine.OSX.2.00.1006041829210.77397@hsinghsing.panda.com>
     [not found]                       ` <089883ee-0a63-4cb4-a0ec-d2fe4e71cc03@y18g2000prn.googlegroups.com>
2010-06-06  9:53                         ` line-move-visual Uday S Reddy
2010-06-06  9:39                           ` line-move-visual David Kastrup
     [not found]                             ` <hug5rv$6d2$1@north.jnrs.ja.net>
2010-06-06 15:21                               ` line-move-visual Tassilo Horn
2010-06-07  8:19                                 ` line-move-visual Uday S Reddy
     [not found]                                   ` <m2fx0z46wj.fsf@gmail.com>
2010-06-07 16:20                                     ` line-move-visual Stefan Monnier
2010-06-06 15:43                               ` line-move-visual Alain Ketterlin
     [not found]                                 ` <87wrucccl3.fsf_-_@marauder.physik.uni-ulm.de>
2010-06-07  6:18                                   ` Wrong use of format=flowed antidote Uday S Reddy
2010-06-07 21:30                                 ` line-move-visual Joost Kremers
2010-06-06 18:17                               ` line-move-visual Mark Crispin
     [not found]                                 ` <4C0C466E.3000803@thadlabs.com>
2010-06-07  2:53                                   ` line-move-visual Mark Crispin
2010-06-07  8:46                               ` line-move-visual Tim X
2010-06-07 16:23                                 ` line-move-visual Stefan Monnier
2010-06-09 20:23                                   ` line-move-visual Joseph Brenner
2010-06-07  8:39                             ` line-move-visual Tim X
2010-06-10 10:12                               ` line-move-visual Uday S Reddy
2010-06-10 13:43                                 ` line-move-visual Stefan Monnier
2010-06-10 15:17                                   ` line-move-visual Uday S Reddy
2010-06-10 19:53                                     ` line-move-visual Stefan Monnier
2010-06-10 15:44                                   ` line-move-visual despen
2010-06-10 22:02                                   ` line-move-visual Tassilo Horn
2010-06-10 23:56                                     ` line-move-visual Uday S Reddy
2010-06-10 22:48                                   ` line-move-visual Evans Winner
     [not found]                                     ` <slrni2ja96.6pq.nospam-abuse@powdermilk.math.berkeley.edu>
2010-06-29 11:09                                       ` HOWTO: Cowtow to old farts Xah Lee
2010-06-10 16:57                                 ` line-move-visual Mark Crispin
2010-06-10 18:38                                   ` line-move-visual Uday S Reddy
2010-06-11 23:56                                     ` line-move-visual Mark Crispin
2010-06-12  0:17                                       ` line-move-visual Wojciech Meyer
2010-06-13 17:23                                         ` line-move-visual Mark Crispin
2010-06-13 20:56                                           ` line-move-visual Alan Mackenzie
2010-06-14  0:42                                             ` line-move-visual Jim Diamond
2010-06-14 10:49                                             ` line-move-visual Uday S Reddy
2010-06-14 17:16                                               ` line-move-visual Alan Mackenzie
2010-06-14 17:34                                                 ` line-move-visual Uday S Reddy
2010-06-15  9:26                                               ` line-move-visual Tim X
2010-06-15 13:49                                                 ` line-move-visual Stefan Monnier
     [not found]                                                   ` <87sk4n3ocs.fsf@rapttech.com.au>
2010-06-16 14:43                                                     ` line-move-visual Stefan Monnier
     [not found]                                             ` <m2k4q18od5.fsf@softwarematters.org>
     [not found]                                               ` <jwvaaqxbcca.fsf-monnier+gnu.emacs.help@gnu.org>
2010-06-15  6:54                                                 ` line-move-visual Pascal J. Bourguignon
2010-06-15  8:42                                                   ` line-move-visual Uday S Reddy
2010-06-15  9:30                                                     ` line-move-visual David Kastrup
2010-06-15  9:38                                                     ` line-move-visual Tim X
2010-06-15 13:45                                                     ` line-move-visual Stefan Monnier
2010-06-15 13:57                                                       ` line-move-visual David Kastrup
     [not found]                                                         ` <jwvbpbb6oyk.fsf-monnier+gnu.emacs.help@gnu.org>
2010-06-16 18:04                                                           ` line-move-visual David Kastrup
     [not found]                                                       ` <hv8gvf$98o$1@north.jnrs.ja.net>
     [not found]                                                         ` <hv8iog$313e$1@colin2.muc.de>
2010-06-15 19:37                                                           ` line-move-visual Leo
     [not found]                                                             ` <871vc8dpga.fsf@imladris.arda>
2010-06-16 12:37                                                               ` Emacs language Leo
2010-06-17  8:00                                                                 ` Teemu Likonen
2010-06-15 21:04                                                           ` line-move-visual Uday S Reddy
2010-06-16 15:33                                                             ` line-move-visual Alan Mackenzie
2010-06-17  8:51                                                               ` line-move-visual Uday S Reddy
2010-06-16 14:33                                                         ` line-move-visual Stefan Monnier
     [not found]                                                           ` <db13ae67-9d9a-4556-9a7c-8f86de63011f@b4g2000pra.googlegroups.com>
2010-07-19 22:41                                                             ` minor mode on/off/toggle with t/nil question Stefan Monnier
2010-06-15 16:51                                                     ` line-move-visual Alan Mackenzie
2010-06-16 12:43                                                       ` line-move-visual David Kastrup
2010-06-15 19:17                                                     ` line-move-visual Xah Lee
2010-06-16 14:49                                                       ` espresso-mode (was: line-move-visual) Stefan Monnier
     [not found]                                                     ` <4C17FE36.30102@thadlabs.com>
2010-06-15 22:45                                                       ` Xah Lee [this message]
2010-06-15 23:31                                                         ` line-move-visual Thad Floryan
2010-06-16  3:30                                                           ` line-move-visual Evans Winner
2010-06-16 16:14                                                             ` line-move-visual Xah Lee
2010-06-16 23:23                                                           ` line-move-visual Chris F.A. Johnson
     [not found]                                                           ` <b1e84c4a-e74e-4ace-9b0f-a00b370eb61d@q39g2000prh.googlegroups.com>
2010-06-16 23:45                                                             ` Keyboard Hardware's Influence on Keyboard Shortcut Design Xah Lee
2010-06-16 14:52                                                         ` line-move-visual Stefan Monnier
     [not found]                                                           ` <87r5k6sqg2.fsf@unm.edu>
2010-06-17  2:25                                                             ` line-move-visual Stefan Monnier
2010-06-17  3:51                                                               ` line-move-visual Chris F.A. Johnson
2010-06-17  9:03                                                             ` line-move-visual Uday S Reddy
2010-06-20 18:42                                                               ` line-move-visual B. T. Raven
2010-06-20 17:08                                                 ` line-move-visual B. T. Raven
2010-06-12  4:18                                       ` line-move-visual Tim X
2010-06-12  4:37                                         ` line-move-visual Evans Winner
2010-06-12  8:30                                           ` line-move-visual David Kastrup
2010-06-12  8:40                                             ` line-move-visual Evans Winner
2010-06-12  9:30                                             ` line-move-visual Uday S Reddy
2010-06-12 12:30                                               ` line-move-visual Tim X
2010-06-12 20:09                                           ` line-move-visual Joseph Brenner
2010-06-13  1:41                                             ` line-move-visual Tim X
2010-06-13 10:22                                               ` line-move-visual Uday S Reddy
2010-06-13 10:51                                                 ` line-move-visual David Kastrup
2010-06-13 11:32                                                   ` line-move-visual Uday S Reddy
2010-06-14  0:46                                                 ` line-move-visual Tim X
     [not found]                                                   ` <hv4nkd$quq$1@north.jnrs.ja.net>
2010-06-15  9:20                                                     ` line-move-visual Tim X
2010-06-15 11:29                                                       ` line-move-visual Uday S Reddy
2010-06-16  9:29                                                         ` line-move-visual Tim X
2010-06-14  4:48                                                 ` line-move-visual Tim X
     [not found]                                                 ` <m2iq5nw4pj.fsf@gmail.com>
     [not found]                                                   ` <hv2htd$4li$1@north.jnrs.ja.net>
     [not found]                                                     ` <m239wravxb.fsf@gmail.com>
2010-06-16  2:11                                                       ` line-move-visual Joseph Brenner
2010-06-16  6:46                                                         ` line-move-visual Helmut Eller
2010-06-13 10:36                                             ` line-move-visual David Kastrup
2010-06-16  2:19                                               ` line-move-visual Joseph Brenner
     [not found]                                         ` <huvsd5$8pm$1@north.jnrs.ja.net>
2010-06-12 12:25                                           ` line-move-visual Tim X
2010-06-12 20:17                                             ` line-move-visual Joseph Brenner
2010-06-10 19:57                                   ` line-move-visual Stefan Monnier
2010-06-13 12:46                                     ` line-move-visual Uday S Reddy
2010-06-09 21:38                             ` line-move-visual Joseph Brenner
     [not found]                               ` <slrni10ga0.t64.Jim.Diamond@jdiamond-nb.acadiau.ca>
2010-06-10 16:15                                 ` line-move-visual Mark Crispin
2010-06-04 17:52       ` line-move-visual Mark Crispin
2010-06-04 18:28         ` line-move-visual David Kastrup
     [not found]           ` <alpine.OSX.2.00.1006041808540.77397@hsinghsing.panda.com>
     [not found]             ` <878w6truxc.fsf@lola.goethe.zz>
2010-06-06  2:25               ` line-move-visual Mark Crispin
     [not found]               ` <87typc9dt8.fsf@kzsu.stanford.edu>
     [not found]                 ` <alpine.OSX.2.00.1006091815150.93771@hsinghsing.panda.com>
2010-06-10  7:12                   ` line-move-visual David Kastrup
2010-06-04 21:16         ` line-move-visual Stefan Monnier
2010-06-05  1:29           ` line-move-visual Mark Crispin
2010-06-04 13:20     ` line-move-visual sable
2009-07-09 18:12 line-move-visual Johan Myréen
2009-07-10  4:26 ` line-move-visual Bastien
2009-07-10  4:43   ` line-move-visual Miles Bader
2009-07-10  5:48     ` line-move-visual Bastien
2009-07-10  6:14       ` line-move-visual Kenichi Handa
2009-07-10  6:58         ` line-move-visual Bastien
2009-07-10  8:13           ` line-move-visual Alfred M. Szmidt
2009-07-10 10:10             ` line-move-visual Bastien
2009-07-10  8:43           ` line-move-visual Scot Becker
2009-07-10  8:57             ` line-move-visual Eli Zaretskii
2009-07-10  9:04               ` line-move-visual Lennart Borgman
2009-07-10 10:32                 ` line-move-visual Bastien
2009-07-10  9:08               ` line-move-visual Scot Becker
2009-07-10  9:13               ` line-move-visual joakim
2009-07-10  9:22                 ` line-move-visual Scot Becker
2009-07-10 16:11                   ` line-move-visual Drew Adams
2009-07-10 16:22                     ` line-move-visual Lennart Borgman
2009-07-10 17:20                       ` line-move-visual Drew Adams
2009-07-10 17:40                         ` line-move-visual Drew Adams
2009-07-10  9:52                 ` line-move-visual Miles Bader
2009-07-10 16:11                   ` line-move-visual Drew Adams
2009-07-10 11:35               ` line-move-visual Stephen J. Turnbull
2009-07-10 13:38                 ` line-move-visual Eli Zaretskii
2009-07-10 16:11                   ` line-move-visual Drew Adams
2009-07-10 18:01                     ` line-move-visual Eli Zaretskii
2009-07-10 18:16                       ` line-move-visual Drew Adams
2009-07-11 19:34                   ` line-move-visual Juri Linkov
2009-07-10 13:56                 ` line-move-visual Lennart Borgman
2009-07-10 15:07                   ` line-move-visual Scot Becker
2009-07-10 20:29                     ` line-move-visual Lennart Borgman
2009-07-10 15:43               ` line-move-visual Alfred M. Szmidt
2009-07-10 15:56             ` line-move-visual Sean O'Rourke
2009-07-10  9:14           ` line-move-visual Tassilo Horn
2009-07-10  9:56             ` line-move-visual Miles Bader
2009-07-10 10:22               ` line-move-visual Scot Becker
2009-07-10 16:11                 ` line-move-visual Drew Adams
2009-07-10 10:36               ` line-move-visual Ulrich Mueller
2009-07-10 10:56                 ` line-move-visual Eli Zaretskii
2009-07-10 11:07                   ` line-move-visual Christian Faulhammer
2009-07-10 11:29                   ` line-move-visual Ulrich Mueller
2009-07-10 18:15                     ` line-move-visual Bastien
2009-07-10 20:40     ` line-move-visual Richard Stallman
2009-07-11  1:58       ` line-move-visual Stephen J. Turnbull
2009-07-11  2:29         ` line-move-visual Miles Bader
2009-07-11  2:44           ` line-move-visual Bastien
2009-07-11 18:30             ` line-move-visual Richard Stallman
2009-07-10  6:12   ` line-move-visual Stephen J. Turnbull
2009-07-10 21:19     ` line-move-visual Johan Myréen
2009-07-10 22:14       ` line-move-visual Scot Becker
2009-07-11  1:34       ` line-move-visual Miles Bader
2009-07-11  2:46       ` line-move-visual Bastien
2009-07-11  5:25         ` line-move-visual Miles Bader
2009-07-11  5:49           ` line-move-visual Kenichi Handa
2009-07-11  6:13             ` line-move-visual Miles Bader
2009-07-11  9:22           ` line-move-visual Bastien
2009-07-10  4:35 ` line-move-visual Miles Bader
2009-07-10 13:31 ` line-move-visual Chong Yidong
2009-07-11  6:42 ` line-move-visual Andrey Paramonov
2009-07-11  7:21   ` line-move-visual Teemu Likonen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c1636cc0-4ab3-4bfd-b0d0-6b80bc23a4f6@g1g2000pro.googlegroups.com \
    --to=xahlee@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.