The new touch gestures activated for the same actions as configured for
mouse pointer actions. This has disadvantages as the only configured
default screen edge action cannot be triggered (corner) on touch. On the
other hand setting a default touch gesture would be rather annoying with
pointer as a default.
So overall it makes sense to split the actions and have dedicated pointer
and dedicated touch actions.
This change introduces the first part of it and splits the handling in
general. We now have:
Activates for pointer and touch:
- client (auto-hiding panels)
Activates for pointer only:
- the configured action
- virtual desktop switching
- callbacks
Activates for touch only:
- the new touch action
The touch actions are implemented similar to the pointer actions which
slight improvements in the code which will be backported to the pointer
actions.
Introducing callbacks will be the next step. I plan to do it a little bit
different by using QActions as that's what KWin internally uses for
everything except screen edges.