Re: gnome key-binding standard



Paul> I suggest that a per-user key binding database be maintained.
Paul> Applications, rather than checking for "F3" for instance, would
Paul> check for KeyBinding("search again"), etc.

I like this idea quite a bit.  I definitely think we should do it.

One problem I have with Tk-based applications is that, while they let
the user easily modify the colors and such (through the options
database), they don't provide the same kind of configurability for key
bindings (short of hacking the code).

This is one thing that Xt got right.

Ideally I could use some nice GUI to set up key bindings on a global
basis.  The changes would be "hot", too -- automatically propagated to
all running apps.

Paul> As a user, I could make Ctrl-L be the "search again" since
Paul> that's what I prefer (from age-old brainwashing).
Paul> (Interestingly, we have MANY different search again bindings in
Paul> widespread use: ^L from wordstar (borland, etc.); F3 from M$;
Paul> Ctrl-G from Navigator and Norton stuff, 'n' from vi, etc.)

One (hopefully minor) problem with the whole idea is that it assumes
that the difference between various key binding styles is simply the
key->action mapping -- and not fundamental differences in the actions
themselves.

This assumption is false.  For instance, vi doesn't have any notion
like Emacs' incremental search.  And Emacs doesn't have a vi-style
search function bound by default.

Also, some differences are deeper: vi is modal whereas Emacs is
(mostly) not.  Emacs has multi-key bindings, whereas vi seems to be
(it's been years since I used it) single-key only.  Some styles (the
Mac) delete the selection when you type; in Emacs this is configurable
(I turn it off).

Probably these differences can be worked around without enormous
effort.  libreadline manages it by providing both Emacs-style and
vi-style actions, and letting the particular keymap in use choose the
appropriate one.  Maybe this approach can be generalized as needed.


I think the default keybindings should be neither Emacs nor vi.  Both
of these seem overly obscure.  Instead I think we should adopt "Motif"
style bindings.  These are relatively simple bindings, reminiscent of
Windows.

Tom



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