help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dvorak/Svorak in Emacs


From: Johan Andersson
Subject: Re: Dvorak/Svorak in Emacs
Date: Mon, 5 Oct 2009 07:57:06 +0000

Raven, looking at those movement keys, they are almost like Xah Lee's "ergonomic emacs keybindings".

Xah Lee, looking through the dvorak lisp file you provided at your site, I think that I could really dig those bindings, with a few modifications. However, I was thinking about these bindings and the shell. How do you survive (if you use a shell outside of Emacs) that the shell C-a, C-e almost always means beginning and end of line? Of do you change them there aswell?

On Sun, Oct 4, 2009 at 8:05 PM, B. T. Raven <nihil@nihilo.net> wrote:
If your reason for using Svorak is to accomplish both data and command
entry by touch typing, then the default cursor movement key bindings
aren't really feasable. The rest of Emacs default assignments can be
left as is, especially if the modifier keys are remapped using Keytweak
or Xmodmap*. You certainly don't want to mix qwerty and dvorak. The
keyboard should work the same in all apps, either at system level or per
user.

The following works well for cursor movement on Dvorak and the other
voraks and mostly works for Firemacs too with a few collisions among
View, Edit, and Common settings:

;; Single char cursor movement on Dvorak layout
(global-set-key [(meta h)] 'backward-char)
(global-set-key [(meta n)] 'forward-char)
(global-set-key [(meta c)] 'previous-line)
(global-set-key [(meta t)] 'next-line)

;; upcased default bindings for h,n,c,t i.e Alt or Meta Shift
(global-set-key [(meta H)] 'mark-paragraph)
(global-set-key [(meta N)] 'next-buffer)
(global-set-key [(meta C)] 'capitalize-word)
(global-set-key [(meta T)] 'transpose-words)

The following are adlibbed. Make them whatever you want:

;;substitute for stolen metakeychords
(global-set-key [(control n)] 'next-line-mark)
(global-set-key [(control p)] 'center-paragraph)
(global-set-key [(control b)] 'beginning-of-line-mark)
(global-set-key [(control f)] 'find-function-at-point)
(global-set-key [(shift control f)] 'find-variable-at-point)

Although these are global, they are overridden in some contexts like
info, specialized modes, etc. So don't forget "backward, forward, next,
previous" mnemonics. A guru who is also an ergonomics expert should
probably incorporate all this in such a way that it can be made seamless
with the rest of Emacs. Then we could start teaching the 'voraks to the
young kids (exclusively).

On Svorak, (å, ä and ö) seem to be the only significant differences from
Dvorak, at least as far as Emacs is concerned. Since these characters
don't occur in English, I produce them with an input method rather than
by a dedicated key.

* Super, Alt, Ctl, Space, Ctl, Alt, Super, Hyper mod key layout works
well in Emacs for two-handed touch typing on 101-108 key keyboards. You
could also make Caps Lock into left Hyper if you think it's worth the
trouble.


Ed-

p.s. a good way to practice Emacs keyboarding is with keywiz.el but it
will be a humbling experience for all but the most experienced



Johan Andersson wrote:


> Thinking about it. The only thing I don't want to learn again are the
> movement keys. So I guess I could just rebind C-n, C-p, C-f, C-b, M-f
> and M-b.
>
> 2009/10/3 Johan Andersson <johan.rejeep@gmail.com
> <mailto:johan.rejeep@gmail.com>>
>
>     I guess I could try that. But it does seems like a lot of time to
>     get used to that. I mean, learning how to use C-n, C-f, etc...
>     instead of using the arrows took quite some time.
>
>     Lets say I want to keep the bindings at their current positions, how
>     would I go about that? Would I have to remap all bindings? I guess I
>     could check before each command is executed, what the command was.
>     If it was a self-insert-command I would do nothing. Otherwise I
>     would translate the binding to the dvorak layout, and the run the
>     function. This would result in that the regular typing will be the
>     dvorak way, but all other function calls would be mapped against
>     qwerty. I guess no one has such code lying around? ;)
>
>     2009/10/3 Renaud Casenave-Péré <renaud@casenave-pere.fr
>     <mailto:renaud@casenave-pere.fr>>
>
>         Hi,
>
>         I am a happy dvorak user myself and what I did was just use the
>         new keybindings (like C-p becoming C-l)
>         At first, you may think the bindings aren't really usable, but
>         you will get used to it quite easily.
>         Well, you'll have to use two hands to save a file or quit emacs,
>         but if you use dvorak (or svorak), I guess you keep your two
>         hands on the keyboard, so it shouldn't be that much of a problem.
>
>         So I suggest you give a chance to default bindings after
>         switching X to Svorak.
>
>         --
>         Renaud Casenave-Péré
>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]