Key binding hierarchy


On Thu, 12 Feb 2009 14:54:24 +0100, Vegard Vesterheim wrote:
> I have been pondering a bit on the subject on global vs. local
> keyboard bindings, and I have come to realize that there are quite a
> few levels to consider. Basic functionality like 'keyboard
> navigation' takes place on several layers. One way to subdivide this
> hierarchy is this:
>  - Virtual Consoles (Alt-Fn in Linux)
>  - Virtual desktops within a Console (window manager)
>  - Windows within a virtual desktop (window manager)
>  - Windows within windows (firefox tabs, terminals tabs, emacs frames)
>  - Menues within a tab/window
>  - Menu entries within a menu
>  - Tabs within a window/form (GtkNotebook)
>  - Fields within a form (X11, gtk, HTML forms, HREFs in webpage)
>  - Values within a field (radiobuttons)
>  - Characters within a Field (possibly multi-line/fullscreen, emacs)

Your classification is valuable and worth keeping. Thanks.

At the same time, there's no 'solution by clear-cut boundaries'.
You seem to beware that levels intertwine, and it's one of the reasons.
Others I noticed are:
* Each software arbitrarily defines its own bindings. Some of them,
  say Microsoft's Win/Office, are so influential, but their ways are
  too often really bad. Not or hardly configurable, awkward for
  fingers, etc.
* Each platform has its own key design. Some softwares are
  cross-platform, so their key spec has to support them all. I
  remember some doc of emacs, X11 or firefox says "If you think it is
  too complicated, then you're right." But the fact is it can't be helped.

> Personally I have developed muscle-memory for most emacs
> keybindings, so I keep trying to reuse those in other
> applications. The extreme flexibility and extensibility in sawfish
> is one of the reasons I am still using it.

My situation & solution are close to yours. We love sawfish.

> I would like to see a clever suggestion on how to handle keyboard
> navigation across these levels.

Find guru(s) on the web. You can do it, if you're lucky. ;)
How about this? (Mainly on emacs):

> I guess we need more modifiers on our keyboards...


Teika (Teika kazura)

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