[PATCH 00/18] Synaptics patches

Peter Hutterer peter.hutterer at who-t.net
Wed Oct 13 21:45:34 PDT 2010


On Wed, Oct 13, 2010 at 08:40:33AM +0200, Takashi Iwai wrote:
> > you send key events from gestures, yet the driver has no way of knowing when
> > the keymap is updated. so if you do so much as a group change, your ctrl+w
> > close gesture will suddenly mark everything (french azerty vs. us qwerty).
> > so each time you even do so much as change layouts, you'd have to reload the
> > property. which means you have to have a daemon in place that monitors the
> > current group, etc.
> 
> Hm, can't it be hooked and detected in the driver routine...?
> 
> I find sending key events more usable in the current situation.
> Of course, we can create a new set of buttons for gesture actions, but
> it'll take ages until apps accept new button events.  OTOH, keys are
> already defined, and applicable as is.  That is, sending keys was the
> only option to make things work at this moment.

We could add the routines to the input API to be notified for keyboard
configuration updates but note that most keyboard handling is done in the
client. Things like modifier state interpretation isn't always as it would
seem and it gets iffy when you're sending key events that don't actually
correspond to what you think they might be.

For example: some apps claim that they support zoom on Ctrl+. Except that
some apps will also take Ctrl=, because + is on the same key (on some
layouts). But then you have to be careful again, because accidentally
sending Ctrl= from the driver may have a different side-effect.

The right way is not to have an intermediate but to hook the gesture up to
the action in the client. i.e. go from "pinch means zoom in this app", not
"zoom can be triggered by this shortcut, so let's make pinch generate this
shortcut".

I think any hacky solution may work now but it'll delay and complicate the
long-term introduction of a proper gesture framework.

Cheers,
  Peter

> > you have a gesture detection engine that's incompatible with every other one
> > in the system. so what's pinch for the synaptics driver is different to the
> > wacom driver's pinch, etc.
> > 
> > also, there's some inconsistency in the wording: you mix up pinch and zoom
> > in the first patch. just because pinch _can_ mean zoom doesn't mean
> > it always is. especially the way it's configured, you can set up pinch to do
> > a ctrl+ and ctrl-. except that that won't work in some apps, because they
> > (depending on kbd layout) need ctrl, shift, +, or other's don't zoom on that
> > shortcut at all. It's a mess already, no need to increase it and confuse it
> > further.
> 
> Hm, a mess over a mess.  I hate it, too.



More information about the xorg-devel mailing list