Some of my thoughts on input for wayland
alzinovyev at gmail.com
Fri Jan 28 19:31:35 PST 2011
On Sat, Jan 29, 2011 at 03:16:51AM +0100, Enrico Weigelt wrote:
> * Marty Jack <martyj19 at comcast.net> schrieb:
> > Something equivalent to passive grabs so that a process can
> > own a particular action like Volume Up and be assured that
> > there aren't five different processes all trying to control
> > the volume.
> You're talking about things like those special keys (or key
> combinations) found on certain keyboard ? Well, they IMHO should
> be either handled completely outside the display system and
> *maybe* passed into it by an separate agent. I, personally,
> wouldn't want any GUI application to somehow catch those
> keystrokes, instead configure explicitly who will get them.
> > I continue to hope that there is a path for the "legacy KeySym"
> > encodings to be replaced by their Unicode equivalents along
> > with some encoding of the function key space.
> Quite simple: map the whole key actions to a larger event codespace.
> They could be even represented as text strings in the protocol. (eg.
> pressing the capital A could trigger some "KEYPRESS-A" event, an Ä
> umlaut would have "KEYPRESS-AE", etc). These lowlevel input events
> are then mapped by the compositor to the appropriate applications,
> dependent on current focus, etc.
Unicode keysyms would not solve all layout problems. There'll always
be the CJK languages which require more complex handling (already
done in Qt/GTK+). Toolkits' input modules could already handle input
conversion to any language (at least uim+m17n (for all european
layouts)+any CJK modules) without any support from X (or wayland).
I think that all input can be split into "control" (things like
hotkeys/keybindings (including text navigation), (maybe) can be passed
to separate agent, separate agent (hypothetically) can e.g. map some
hotkeys to mouse/multitouch gestures if user don't have/like keyboard),
and "text" (any layout things can be handled with toolkits' IM support).
It should make things easier for developers and will make some nice
side-effects (like working vim-style keybindings in any layout without
extra effort for both developers and end-users).
IMHO it's better than "unicode keysyms".
More information about the wayland-devel