Provided by: ginn_0.2.6-0ubuntu6_amd64 bug


       ginn - Gesture to Keypress / Mouse Button injector


       ginn [<specific configuration file>]


       ginn is a program to test support gestures in legacy applications without the need to
       rewrite them.  This support is made by injecting keypresses or mouse buttons after
       matching rules from wishes.xml file.

       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

       Sample wishes file:

             <wish gesture="Drag" fingers="2">
               <action name="action5" when="update">
                 <trigger prop="delta y" min="20" max="80"/>
             <application name="inkscape">
               <wish gesture="Pinch" fingers="2">
                 <action name="action1" when="update">
                   <trigger prop="radius delta" min="-200" max="-40"/>

       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 choice should be written inside the when in the action line.
               <action name="action1" when="update">

       The Open Input Framework gesture stack provide gesture updates which can be very small to
       reach the desired interval specified in the trigger.  To provide more flexibility a
       gesture accumulation is performed by default to the successive property values' updates
       for a desired gesture until it reaches the min-max intervall or the gesture finish, then,
       the accumlation buffer is reinitialized.  If you want to disable this feature you can
       specify it explicitly:
               <trigger prop="delta x" min="-80" max="-40" accumulate="false"/>

       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


       /etc/ginn/wishes.xml User customized wishes file.

       /usr/share/ginn/wishes.xml Basic ginn wishes file installed for reference.




       Mohamed Ikbel Boulabiar <>


       Copyright 2010-2011 by Canonical, Ltd.