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.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.