Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ergonomic based emacs keyboard shortcut set

68 views
Skip to first unread message

Xah

unread,
Apr 30, 2008, 10:47:46 PM4/30/08
to
Mid last year, i spend about 3 months desiging a keyboard shortcuts
set for emacs based on ergonomic principles, with my 18+ years of
experiences using qwerty and dovrak keyboard layout and various
software based keymappings, macros, on different OSes.

The result is here:

A Ergonomic Keyboard Shortcut Layout For Emacs
http://xahlee.org/emacs/ergonomic_emacs_keybinding.html

I've been using this keybinding for over a year now, and am very happy
with it. I've been using emacs since 1998, on a daily basis, and have
started to code elisp few hours a week since 2005. Of all emacs tricks
and tips for enhancing productivity i've learned or adopted over the
past decade, may it be a extra mode, learning a new emacs command, a
new shortcut, a new emacs customization, or anything, i think i'd say
that this ergonomic keybinding ranks first on my list.

For those of you emacs developers, may I suggest that you give this
shortcut a try for at least 2 weeks. I think you may like it. (for a
stronger expression, I think any emacs user if forced to use this
shortcut set for 1 month, 95% will never go back.)

Feedback appreciated. Thanks. (in particular, i'm looking for more
emacs keyboard shortcut usage data. Pls see: http://xahlee.org/emacs/command-frequency.html
)

Xah
x...@xahlee.org
http://xahlee.org/


harven

unread,
May 1, 2008, 10:59:48 AM5/1/08
to
Pretty impressive.
Do you have the frequency of the C-x prefix ?
I use it pretty often, just wondering what's his rating.

I definitively want to try your layout. Two remarks though.
C-h = delete-backward-char is mandatory for me.
Too many applications use it that way. And the h key is
a perfect spot on the Dvorak keyboard.
Also, C-t, M-t and M-c on a Dvorak keyboard definitely deserve
better shortcuts than the default ones.
I am currently using C-t as the C-x prefix and M-t as
M-x.

Xah

unread,
May 1, 2008, 8:40:58 PM5/1/08
to
On May 1, 7:59 am, harven <har...@free.fr> wrote:
> Do you have the frequency of the C-x prefix ?
> I use it pretty often, just wondering what's his rating.

The answer i found was that, the way of emacs keybinding
infrastructure, prefix keys don't correspond to any command.

Umm.. actually, it can be counted by summing up the count of all
commands with that prefix key.

Thanks for this idea. I'll add this to the frequency report.

> I definitively want to try your layout. Two remarks though.
> C-h = delete-backward-char is mandatory for me.
> Too many applications use it that way. And the h key is
> a perfect spot on the Dvorak keyboard.

Yeah. I agree.
This shortcut set doesn't do any C-«key» remapping, so it's still
there.

> Also, C-t, M-t and M-c on a Dvorak keyboard definitely deserve
> better shortcuts than the default ones.
> I am currently using C-t as the C-x prefix and M-t as
> M-x.

Good choices. I have C-t for C-x too. For M-x, i have it at M-a. The M-
t is reserved for parts of the arrows on homerow set.

Xah
x...@xahlee.org
http://xahlee.org/

boskom

unread,
May 2, 2008, 8:47:09 PM5/2/08
to
On May 2, 2:40 am, Xah <xah...@gmail.com> wrote:
> On May 1, 7:59 am, harven <har...@free.fr> wrote:
>
> > Do you have the frequency of the C-x prefix ?
> > I use it pretty often, just wondering what's his rating.
>
> The answer i found was that, the way of emacs keybinding
> infrastructure, prefix keys don't correspond to any command.
>
> Umm.. actually, it can be counted by summing up the count of all
> commands with that prefix key.
>
> Thanks for this idea. I'll add this to the frequency report.
>
> > I definitively want to try your layout. Two remarks though.
> > C-h = delete-backward-char is mandatory for me.
> > Too many applications use it that way. And the h key is
> > a perfect spot on the Dvorakkeyboard.
>
> Yeah. I agree.
> This shortcut set doesn't do any C-«key» remapping, so it's still
> there.
>
> > Also, C-t, M-t and M-c on a Dvorakkeyboarddefinitely deserve

> > better shortcuts than the default ones.
> > I am currently using C-t as the C-x prefix and M-t as
> > M-x.
>
> Good choices. I have C-t for C-x too. For M-x, i have it at M-a. The M-
> t is reserved for parts of the arrows on homerow set.
>
> Xah
> x...@xahlee.org
> ∑http://xahlee.org/
>
> ☄

I have used your ergonomic_keybinding_querty.el a bit. It is
interesting, it looks like it is the right way to go. Solution is
elegant and does not interfere with or disable common shortcuts. There
are two small issues I encountered: The first is that if CUA is
enabled in emacs 22 moving around with page up/down (M-Shift-i and M-
Shift-k) sets mark and starts selecting a region. The other issue is
that on Windows pressing righ-alt + right-shift sometimes changes
Windows keyboard layout.

The main issue for me still remains position of Control keys, but this
needs to be addressed by a keyboard manufacturer.

Thanks,

Xah

unread,
May 3, 2008, 7:29:58 AM5/3/08
to
On May 2, 5:47 pm, boskom <bosk...@gmail.com> wrote:
> I have used your ergonomic_keybinding_querty.el a bit. It is
> interesting, it looks like it is the right way to go. Solution is
> elegant and does not interfere with or disable common shortcuts. There
> are two small issues I encountered: The first is that if CUA is
> enabled in emacs 22 moving around with page up/down (M-Shift-i and M-
> Shift-k) sets mark and starts selecting a region. The other issue is
> that on Windows pressing righ-alt + right-shift sometimes changes
> Windows keyboard layout.
>
> The main issue for me still remains position of Control keys, but this
> needs to be addressed by a keyboard manufacturer.

Thank you very much for the comment.

«The first is that if CUA is enabled in emacs 22 moving around with


page up/down (M-Shift-i and M- Shift-k) sets mark and starts selecting

a region»

I don't have cua on normally but am able to duplicate the problem.

I think the reason the homerow key page up/down bindings started to do
highlighting is because cua mode uses the shift key to select region.
That is, when the shift key is down, any of the cursor moving action
will also do selection, on purpose. (e.g. shift + arrow, or Shift +
PageUp)

So, if i define
(global-set-key (kbd "M-I") 'scroll-down)
but cua mode seems to alias scroll-down to cua-scroll-down, and since
(kbd "M-I") means meta+shift+i with the shift down, it also does
selection.

... i thought a bit about this situation... i'm thinking at the moment
it's probably best to leave things as is. It's somewhat compatible
with cua mode's idea of shift down always do selection. Secondly, the
ergo shortcut and the cua mode are rather competing schemes. Their
primary purpose is to remap shortcut keys for habit and or efficiency.
In particular, the ergo set has its own copy/cut/paste/undo set. So,
when ergo is on, there's not much reason to also have cua on. All
things considered, they seems to work together ok too.

Any thoughts on this follow up?

«The other issue is that on Windows pressing righ-alt + right-shift
sometimes changes Windows keyboard layout.»

Good point. If i recall correctly, those can be disabled or changed to
other combination in Windows control panel. It doesn't seems this
should change the ergo shortcut set... since these kind of issues are
unavoinable, namely that there's no kb shortcut set that's fully
compatible or consistant in all OSes. If nothing else, i'll add a note
on the webpage to tip Windows users of the fact.

---------------

some more thoughts... i think that CUA mode itself is kinda a hack in
few aspects. (1) it adds complexity to emacs user interface since the
C-x and C-c now has dual purpose. (2) it adds complexity to emacs
coding... because it needs to maintain the dual purpose of C-x and C-c
keys, but also it needs to detect the shift down as selection, which
isn't the normal way emacs treat keyboard shortcuts. I'm not sure how
cua mode implement this shiftdown-selection but am guessing it's a
hack so far.

the more i think about this, the more i think that emacs should have
completely ditched its C-c and C-x when cua is introduced (i.e. when
it is obvious that zxcv is becoming the modern standard for undo/cut/
copy/paste for good) oh well...

Xah
x...@xahlee.org
http://xahlee.org/


0 new messages