Menu

Tree [fc3b2a] master /
 History

HTTPS access


File Date Author Commit
 .settings 2013-08-31 Lucas Augusto Deters Lucas Augusto Deters [d06c16] Added eclipse metadata to git.
 debian 2016-08-01 Lucas Augusto Deters Lucas Augusto Deters [54bbd2] Added changelog
 src 2016-08-08 Lucas Augusto Deters Lucas Augusto Deters [fc3b2a] Fixed copyright
 .cproject 2016-08-04 Lucas Augusto Deters Lucas Augusto Deters [ee9843] Cosmetic changes
 .project 2013-08-31 Lucas Augusto Deters Lucas Augusto Deters [d06c16] Added eclipse metadata to git.
 AUTHORS 2013-08-18 Lucas Augusto Deters Lucas Augusto Deters [ff6dcf] Initial commit
 COPYING 2013-08-18 Lucas Augusto Deters Lucas Augusto Deters [ff6dcf] Initial commit
 ChangeLog 2013-08-18 Lucas Augusto Deters Lucas Augusto Deters [ff6dcf] Initial commit
 INSTALL 2013-08-18 Lucas Augusto Deters Lucas Augusto Deters [ff6dcf] Initial commit
 Makefile.am 2015-06-17 Lucas Augusto Deters Lucas Augusto Deters [a05dda] Added support to xinput2
 NEWS 2013-08-18 Lucas Augusto Deters Lucas Augusto Deters [ff6dcf] Initial commit
 README.md 2016-08-02 Lucas Augusto Deters Lucas Augusto Deters [e90f30] readme
 autogen.sh 2014-10-16 Lucas Augusto Deters Lucas Augusto Deters [0c3073] Added autogen.sh script.
 configure.ac 2016-08-04 Lucas Augusto Deters Lucas Augusto Deters [ee9843] Cosmetic changes
 mygestures.xml 2016-08-01 Lucas Augusto Deters Lucas Augusto Deters [7c0f54] Fixing things... :)

Read Me

MyGestures - mouse gestures for linux

Mouse gestures - "draw" commands using your mouse/touchscreen/touchpad.
Now with multitouch gestures on synaptics touchpads (experimental).

Installing from source:

sudo apt install autoconf libtool libx11-dev pkg-config libxrender-dev libxtst-dev libxml2-dev
cd mygestures/
sh autogen.sh
make
sudo make install

Usage:

mygestures                       # use default button on default device 
mygestures -l                    # list device names  
mygestures -d 'elan touchscreen' # mygestures running against a touchscreen device.
mygestures -d 'synaptics'        # experimental synaptics multitouch mode (3 finger gestures).

Configuration:

Gestures configuration is done on "~/.config/mygestures/mygestures.xml".

This file contains movements, contexts and gestures.

Movement: a name assigned to a composition of elementar strokes: (U, D, R, L, 1, 3, 7, 9).

<movement name="UpRight" value="UR" />
<movement name="U" value="DRU" />
<movement name="V" value="39" />
<movement name="C" value="U?LDRU?" />

Context: used to filter applications

<context name="Terminal windows" windowclass=".*(Term|term).*" windowtitle=".*">
   <!-- some gestures here -->
</context>

<context name="All applications" windowclass=".*" windowtitle=".*">
   <!-- some gestures here -->
</context>

Gesture: Will use a movement to trigger some actions

<gesture name="Run gedit" movement="G">
  <do action="exec" value="gedit" />
</gesture>

<gesture name="Copy (Ctrl+C)" movement="C">
  <do action="keypress" value="Control_L+C" />
</gesture>

Supported actions:

Window management

<do action="maximize" /> <!-- put focused window to the maximized state -->
<do action="restore" /> <!-- restore window from maximized state -->
<do action="iconify" /> <!-- iconify window -->
<do action="toggle-maximized" /> <!-- toggle focused window from/to the maximized state -->
<do action="raise" /> <!-- raise current window -->
<do action="lower" /> <!-- lower current window -->

Program operation

<do action="kill" /> <!-- kill the program with the active window -->
<do action="exec" value="gedit" /> <!-- execute command -->

KeyPress

Key names can be found on /usr/include/X11/keysymdef.h

<do action="keypress" value="Alt_L+Left" /> <!-- send key sequence -->

Gestures are created inside contexts, so you can filter what applications will have any gesture.