April 2024 | ||||||
Mo | Tu | We | Th | Fr | Sa | Su |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 |
You can define the matching rules by expressing wishes. Each wish contains the name of the gesture, number of fingers, the matching rules. The keypress to inject is defined by key tag, and the mouse button by button, you can add also up to 4 modifiers keys like Control_L.
= <ginn> = <global> = <wish gesture=``Drag'' fingers=``2''> = <action name=``action5'' when=``update''> = <trigger prop=``delta y'' min=``20'' max=``80''/> = <key>Down</key> = </action> = </wish> = </global> = <applications> = <application name=``inkscape''> = <wish gesture=``Pinch'' fingers=``2''> = <action name=``action1'' when=``update''> = <trigger prop=``radius delta'' min=``-200'' max=``-40''/> = <key>KP_Subtract</key> = </action> = </wish> = </application> = </applications> = </ginn>
Gesture type can be : Drag, Pinch, Rotate or Tap The time of injection can be selected by using update to inject when the gesture is received or finish to inject when the gesture is finished.
The attributes used in trigger can be obtained by running geistest, you can also refer to the list below. You can use more than one trigger, but you need to use them in the same order as they appear in the list below.
Sub-list of general attributes ``device id'' = 13 ``timestamp'' = 180598198 ``root window id'' = 254 ``event window id'' = 159825921 ``child window id'' = 159825921 ``focus x'' = 0.000000 ``focus y'' = 0.000000 ``gesture name'' = ``Drag'' ``touches'' = 1
Sub-list of attributes used with Drag gesture ``delta x'' = -8.933333 ``delta y'' = 22.000000 ``velocity x'' = -0.638095 ``velocity y'' = 1.571429 ``position x'' = 634.533386 ``position y'' = 482.777771
Sub-list of attributes used with Rotate gesture ``angle delta'' = -0.358113 ``angular velocity'' = -0.029843 ``angle'' = -1.159999
Sub-list of attributes used with Pinch gesture ``radius delta'' = -44.935688 ``radial velocity'' = -3.209692 ``radius'' = 180.466690
Sub-list of attributes used with Tap gesture ``tap time'' = 74.000000 ``position x'' = 740.933350 ``position y'' = 469.333344
Last attribues in the general list ``boundingbox x1'' = 634.533386 ``boundingbox y1'' = 482.777771 ``boundingbox x2'' = 634.533386 ``boundingbox y2'' = 482.777771 ``touch 0 id'' = 1079.000000 ``touch 0 x'' = 634.533386 ``touch 0 y'' = 482.777771
The names of keys list can be obtained after removing the XK_ prefix from /usr/include/X11/keysymdef.h file
The mouse buttons are written with their corresponding number 1 Left Button 2 Middle Button 3 Right Button 4 Wheel Up 5 Wheel Down 6 Horizontal Wheel Left 7 Horizontal Wheel Right 8 ``Back'' in browsers
/usr/share/ginn/wishes.xml Basic ginn wishes file installed for reference.