Code Monkey home page Code Monkey logo

xswipe's Introduction

xSwipe

xSwipe is multitouch gesture recognizer. This script make your linux PC able to recognize swipes.

Ubuntu15.04, or later
I released Fusuma, it use libinput driver and suppport pinch zoom .
You should try Fusuma instead of xSwipe if you use Ubuntu15.04, or later. It need not depend on older version synaptics driver, and it works well with libinput driver supported by 15.04 or later as standard.

Usage

Before running the script, you must first do some preparations.

  1. Download xSwipe
  2. Install X11::GUITest
  3. Enable SHMConfig

1. Download xSwipe

Type below code, download xSwipe from github

$ cd ~
$ wget https://github.com/iberianpig/xSwipe/archive/master.zip
$ unzip master.zip

2. Install X11::GUITest

To install libx11-guitest-perl from synaptic package manager Or run the script on the terminal run as

$ sudo apt-get install libx11-guitest-perl

NOTE: If using Ubuntu14.04, or later

Install older version synaptics driver that is compatible with xSwipe.
$ sudo apt-get install -y git build-essential libevdev-dev autoconf automake libmtdev-dev xorg-dev xutils-dev libtool
$ sudo apt-get remove -y xserver-xorg-input-synaptics
$ git clone https://github.com/Chosko/xserver-xorg-input-synaptics.git
$ cd xserver-xorg-input-synaptics
$ ./autogen.sh
$ ./configure --exec_prefix=/usr
$ make
$ sudo make install

3. Enable SHMConfig

Open /etc/X11/xorg.conf.d/50-synaptics.conf with your favorite text editor and edit it to enable SHMConfig

$ sudo gedit /etc/X11/xorg.conf.d/50-synaptics.conf

NOTE:You will need to create the /etc/X11/xorg.conf.d/ directory and create 50-synaptics.conf if it doesn't exist yet. $ sudo mkdir /etc/X11/xorg.conf.d/

/etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass"
Identifier "evdev touchpad catchall"
Driver "synaptics"
MatchDevicePath "/dev/input/event*"
MatchIsTouchpad "on"
Option "Protocol" "event"
Option "SHMConfig" "on"
EndSection

To reflect SHMConfig, restart your session.

That's it for preparation.

Run xSwipe

To run xSwipe, type below code on terminal.

$ perl ~/xSwipe-master/xSwipe.pl

Note:You should run xSwipe.pl in same directory as "eventKey.cfg" .

You can use "swipe" with 3 or 4 fingers, they can call an event. Additionally, some gestures are available.

  • edge-swipe : swipe with 2 fingers from outside edge(need to enable with option).
  • long-press : hold pressure for 0.5 seconds with 3 or 4 fingers.

Option

  • -d RATE : RATE is sensitivity to swipe.Default value is 1. Shorten swipe-length by half (e.g.,$ perl xSwipe.pl -d 0.5)
  • -m INTERVAL : INTERVAL is how often synclient monitor changes to the touchpad state. Default value is 10(ms). Set 50ms as monitoring-span. (e.g.,$ perl xSwipe.pl -m 50)
  • -n : Natural scroll like Macbook, use "/nScroll/eventKey.cfg".
  • -e : Enable edge-swipe

Customize

You can customize the settings for gestues to edit eventKey.cfg. Please check this article, "How to customize gesture".

Bindable gestures

  • 3/4/5 fingers swipe
  • 2/3/4/5 fingers long-press
  • 2/3/4 fingers edge-swipe
    • 2fingers edge-swipe: only swipe-left/right from right/left edge
    • 3fingers edge-swipe: only swipe-down from top egde

Example shortcut keys

  • go back/forward on browser (Alt+Left, Alt+Right)
  • open/close a tab on browser (Ctrl+t/Ctrl+w)
  • move tabs (Ctrl+Tab, Ctrl+Shift+Tab)
  • move workspaces (Alt+Ctrl+Lert, Alt+Ctrl+Right, Alt+Ctrl+Up, Alt+Ctrl+Down)
  • move a window (Alt+F7)
  • open launcher (Alt+F8)
  • open a terminal (Ctrl+Alt+t)
  • close a window (Alt+F4)

Please let me know if you have any questions about this program.

xswipe's People

Contributors

chosko avatar gavinfernandes2012 avatar iberianpig avatar jason-cooke avatar kendallpruitt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xswipe's Issues

I made three finger swipe left/right to simulate alt+tab, not working.

This is my "other" section config for swipe3, modified for right and left:

    swipe3 =>{
        right   =>  "LAL/TAB",       # alt +  tab
        left    =>  "LAL/TAB",       # alt +  tab
        down    =>  "LCT/w",         # ctrl + w
        up      =>  "LCT/t",         # ctrl + t
        press   =>  "LAL/F7",        # alt + F7
    },

But when I test the script with

perl xSwipe.pl

And try out the three finger right/left swipes, I get this:

Smartmatch is experimental at xSwipe.pl line 121.

### init_synclient

### @area_setting: [
###                  '    LeftEdge                = 1767
',
###                  '    RightEdge               = 5397
',
###                  '    TopEdge                 = 1637
',
###                  '    BottomEdge              = 4451
'
###                ]
### $touchpad_size_h: 2814
### $touchpad_size_w: 3630
### $x_min_thredshould: 363
### $y_min_thredshould: '281.4'
### $inner_edge_left: 1888
### $inner_edge_right: 5276
### $inner_edge_top: '1918.4'
### $inner_edge_bottom: '4169.6'

### $session_name: 'ubuntu'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### ne default

### $time - $event_time got: '7.427'

### @event_string: [
###                  'LCT',
###                  'LAL',
###                  'RIG'
###                ]
right 3 finger swipe
### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '0'

### $touch_pad_off: '2'

### $touch_pad_off: '0'

Smartmatch experimental

When executing "perl xSwipe.pl" I get this

Smartmatch is experimental at xSwipe-master/xSwipe.pl line 111.
synclient: invalid option -- 'm'
Usage: synclient [-h] [-l] [-V] [-?] [var1=value1 [var2=value2] ...]
-l List current user settings
-V Print synclient version string and exit
-? Show this help message
var=value Set user parameter 'var' to 'value'.

Edit: Sorry, I guess this is the same issue as in #4, so this can be closed

three finger swipe right

Great job iberianpig, my laptop is dell n4110 with synaptics v7.5 touchpad. Now it runs on ubuntu 12.10 (unity environment), Xswipe can make three finger(up/down/left) work, but can't get swipe to right, and the time of three finger pinch is longer than 1s.
Thanks a lot.

Logs accumulating

xSwipe keeps writing to the syslog:

Feb 12 17:06:35 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:06:38 zed gnome-session[2191]: (gnome-shell:6959): mutter-CRITICAL **: meta_screen_get_monitor_geometry: assertion 'monitor >= 0 && monitor < screen->n_monitor_infos' failed
Feb 12 17:06:39 zed gnome-session[2191]: ### $touch_pad_off: '2'
Feb 12 17:06:40 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:06:57 zed gnome-session[2191]: message repeated 20 times: [ ### $touch_pad_off: '0']
Feb 12 17:06:59 zed gnome-session[2191]: ### $touch_pad_off: '2'
Feb 12 17:07:01 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:07:08 zed gnome-session[2191]: message repeated 9 times: [ ### $touch_pad_off: '0']
Feb 12 17:07:10 zed gnome-session[2191]: (gnome-shell:6959): St-WARNING **: Ignoring length property that isn't a number at line 689, col 24
Feb 12 17:07:10 zed gnome-session[2191]: (gnome-shell:6959): mutter-CRITICAL **: meta_screen_get_monitor_geometry: assertion 'monitor >= 0 && monitor < screen->n_monitor_infos' failed
Feb 12 17:07:10 zed gnome-session[2191]: (gnome-shell:6959): St-WARNING **: Ignoring length property that isn't a number at line 689, col 24
Feb 12 17:07:12 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:07:13 zed gnome-session[2191]: message repeated 3 times: [ ### $touch_pad_off: '0']
Feb 12 17:07:19 zed gnome-session[2191]: ### init_synclient
Feb 12 17:07:20 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:07:21 zed gnome-session[2191]: message repeated 3 times: [ ### $touch_pad_off: '0']
Feb 12 17:07:38 zed gnome-session[2191]: ### init_synclient
Feb 12 17:07:39 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:07:40 zed gnome-session[2191]: message repeated 4 times: [ ### $touch_pad_off: '0']
Feb 12 17:07:43 zed gnome-session[2191]: ### $touch_pad_off: '2'
Feb 12 17:07:48 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:08:05 zed gnome-session[2191]: message repeated 17 times: [ ### $touch_pad_off: '0']
Feb 12 17:08:15 zed gnome-session[2191]: ### init_synclient
Feb 12 17:08:17 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:08:32 zed gnome-session[2191]: ### init_synclient
Feb 12 17:08:33 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:08:34 zed gnome-session[2191]: ### $touch_pad_off: '2'
Feb 12 17:08:41 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:08:42 zed gnome-session[2191]: ### $touch_pad_off: '1'
Feb 12 17:08:44 zed gnome-session[2191]: message repeated 2 times: [ ### $touch_pad_off: '1']
Feb 12 17:08:46 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:08:55 zed gnome-session[2191]: message repeated 5 times: [ ### $touch_pad_off: '0']
Feb 12 17:08:57 zed gnome-session[2191]: ### $touch_pad_off: '2'
Feb 12 17:08:59 zed gnome-session[2191]: ### $touch_pad_off: '0'
Feb 12 17:09:01 zed gnome-session[2191]: message repeated 3 times: [ ### $touch_pad_off: '0']

Can't this be turned off?
It is filling my syslog making important stuff harder to find.

Dell xps 13 with EOS - running without errors but not working

Hey there,

I would love to get this working and tried almost everything i could think of. But still it does not do anything.

I'm using a dell XPS 13 (9343) with Elementary OS Freya

Output on startup:
rob@rob-XPS-13-9343  ~/.xSwipe  perl xSwipe.pl

Smartmatch is experimental at xSwipe.pl line 121.

### init_synclient

### @area_setting: [
###                  '    LeftEdge                = 1583
',
###                  '    RightEdge               = 5359
',
###                  '    TopEdge                 = 1371
',
###                  '    BottomEdge              = 4481
'
###                ]
### $touchpad_size_h: 3110
### $touchpad_size_w: 3776
### $x_min_thredshould: '377.6'
### $y_min_thredshould: 311
### $inner_edge_left: '1708.86666666667'
### $inner_edge_right: '5233.13333333333'
### $inner_edge_top: 1682
### $inner_edge_bottom: 4170

### $session_name: 'pantheon'

/etc/X11/xorg.conf.d/50-synaptics.conf:

#setting for synaptics
Section "InputClass"
Identifier "evdev touchpad catchall"
Driver "synaptics"
MatchDevicePath "/dev/input/event*"
MatchIsTouchpad "on"
Option "Protocol" "event"       
Option "FingerLow" "10"                 
Option "FingerHigh" "40"                
Option "MinSpeed" "0.4"             
Option "MaxSpeed" "2"               
Option "AccelFactor" "0.8"          
Option "EmulateTwoFingerMinW" "8" 
Option "EmulateTwoFingerMinZ" "10"
Option "HorizScrollDelta" "100"
Option "HorizTwoFingerScroll" "1"
Option "VertScrollDelta" "15"
Option "VertTwoFingerScroll" "1"
Option "TapButton1" "1"
Option "TapButton2" "3"
Option "TapButton3" "2"
Option "PalmDetect" "1"
Option "AreaRightEdge" "1020"
Option "AreaTopEdge" "40"
Option "FastTaps" "0"    
Option "SHMConfig" "1"
Option "MaxTapTime" "100"
EndSection

xinput list:

 rob@rob-XPS-13-9343  /etc/X11/xorg.conf.d  xinput list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ DLL0665:01 06CB:76AD UNKNOWN              id=11   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]

I have executed:
sudo apt-get install libmatch-simple-perl

If u need more info please let me know.

[feature_request] Bind Alt+Click

Would be interesting the possibility to bind the Alt+Click mouse to move a window the for example with 3 fingers long press. I read in the guitest page that is possible to point the mouse in the middle of the current window and then launch the Alt+Click event. What do you think?

Error on sudo make command

I get this error when I run sudo make:

me:xserver-xorg-input-synaptics$ make
make  all-recursive
make[1]: Entering directory '/home/me/xserver-xorg-input-synaptics'
Making all in include
make[2]: Entering directory '/home/me/xserver-xorg-input-synaptics/include'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/me/xserver-xorg-input-synaptics/include'
Making all in src
make[2]: Entering directory '/home/me/xserver-xorg-input-synaptics/src'
  CC       synproto.lo
In file included from /usr/include/string.h:630:0,
                 from /usr/include/xorg/os.h:53,
                 from /usr/include/xorg/misc.h:116,
                 from /usr/include/xorg/xf86str.h:37,
                 from /usr/include/xorg/xf86.h:44,
                 from /usr/include/xorg/xf86Xinput.h:54,
                 from synproto.h:36,
                 from synproto.c:24:
/usr/include/xorg/os.h:590:1: error: expected identifier or ‘(’ before ‘__extension__’
 strndup(const char *str, size_t n);
 ^
Makefile:515: recipe for target 'synproto.lo' failed
make[2]: *** [synproto.lo] Error 1
make[2]: Leaving directory '/home/me/xserver-xorg-input-synaptics/src'
Makefile:511: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/me/xserver-xorg-input-synaptics'
Makefile:420: recipe for target 'all' failed
make: *** [all] Error 2

Press event not triggering

First of all, let me congratulate you for this excellent tool, you really made a good job in increasing the usability of Unix systems.

I'm using ElementaryOS 0.3 Freya and most shortcuts are working correctly. However, the "press" event is not firing. I've tried changing it for "long-press", but it doesn't fire this way either.

By the way, I should be tapping or pressing on the touchpad until it clicks? (this question is out of curiosity, since neither is working)

syndaemon is started, which may be unnecessary

I noticed that xSwipe starts syndaemon.
When I kill syndaemon however (to play a game using touchpad). The gestures continue to work.
My question:
Is it really necessary to start syndaemon for xSwipe?

Two finger swipe?

Is it possible to map two finger horizontal swipe? For Alt+left/right for example,

I tried it and it doesn't seem to work.

pantheon not detected

Testing xSwipe in Freya, downgraded synaptics. Get a message reading "Smartmatch is experimental at xSwipe.pl line 111." and gestures use other settings instead of pantheon.

3+ gestures produce characters in terminal

When the terminal (in Gnome) is used und I make a 3+ gesture, characters like A,B,C,D appear in the terminal. Only after this I can make the gesture again and then it does what it is supposed to do.

How to Forever run xSwipe

I've succesfully installed xSwipe and Touchegg in Ubuntu 14.04, I have configured the action I wanted, 3 fingers swipe between workspaces (it is not working perfectly but I think I need some practice), but I have to run xSwipe in a console to use this feature, how can I make this start on boot an run automatically?

Probably outdated perl version

When I run perl xSwipe.pl I get the following error:
GUITest.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xdb80080)
I am running arch linux.
I have guitest installed.

This problem first occured after I updated perl.
I am on perl 5.24 right now.

So the problem is likely related to a higher perl version than the one that is used by this program.

can't install because of mtdev missing

Hello,

I am trying to install Xswipe, but the " ./configure --exec_prefix=/usr" command tells me mtdev is missing even though mtdev-tools package is installed on my computer!
And when i try to uninstall xserver-xorg-input-synaptic, it tells me that there is no such package. Does it mean that my computer is not compatible with Xswipe ? It's a Dell XPS 13 by the way.

Thanks a lot for your precious help

Quick flick pastes clipboard content.

I got 3-finger swipe set up to ALT-left/right and it works fine although still need to play around with the -d parameter.

I noticed however in a terminal if I do a short swipe to left or right (I believe up/down too), it pastes the clipboard content in the terminal. It doesn't paste in regular text areas, only in a terminal (like shift+insert).

Install on Ubuntu 14.04 - Unity

I have seen videos of this working on other machines, really a good job, thanks for this, but, is there a way to install this on Ubuntu 14.04 with Unity? I have been looking for a while on internet and I am not able to install this.

I got this:

Can't locate Smart/Comments.pm in @INC (you may need to install the Smart::Comments module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at /home/user/xSwipe-master/xSwipe.pl line 15.
BEGIN failed--compilation aborted at /home/user/xSwipe-master/xSwipe.pl line 15.

Does two finger scrolling work just like on Macbook?

Hi, I am wondering if when I buy a magic trackpad if it's going to work with two finger scrolling and single finger click, in Eclipse, Browser, gedit.. basically in all applications without having to do anything special about it.
Is that something you use? Or do you just use xSwipe for touchscreens in general?

Tap to click stopped working

Hi,
I've set up your script to start at system start. It works fine until I open an application. The guestures to change the workscreen still work, but the standart ubuntu guestures (tap to click and 2 fingers scroll) stop working.
I use Ubuntu 12.04 on a Dell XPS 13 (Developer Edition).

Your script is awesome by the way ;)

Greetings
Steve

Edit: I just found out, this only occurs if I start your script automaticly with the usersession.

Thinkpad T450s show "Unable to find a synaptics device" when run `perl xSwipe.pl`

My system is Ubuntu 14.04, when I run 'perl xSwipe.pl', it shows like this:

➜  perl xSwipe.pl 
Smartmatch is experimental at xSwipe.pl line 121.
Unable to find a synaptics device.
Unable to find a synaptics device.

### init_synclient
Unable to find a synaptics device.
Unable to find a synaptics device.

### @area_setting: []
### $touchpad_size_h: 0
### $touchpad_size_w: 0
### $x_min_thredshould: 0
### $y_min_thredshould: 0
### $inner_edge_left: '0'
### $inner_edge_right: '0'
### $inner_edge_top: '0'
### $inner_edge_bottom: '0'

### $session_name: 'ubuntu'
Can't access shared memory area. SHMConfig disabled?
Unable to find a synaptics device.

### init

I doubt maybe something wrong with the touchpad driver. When input xinput list and it shows:

⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ PS/2 Synaptics TouchPad                   id=9    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Sleep Button                                id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                           id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=11   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                      id=13   [slave  keyboard (3)]

3 finger swipe up sometimes parsed to edgeSwipeDown

I'm experiencing something a bit weird:

when I use three finger swipe up to view windows sometimes a window closes quickly after the windows shown.
I suspect the script is sending a three finger tap after the swipe up and it causes the window which the pointer is on to close.
Thought it might be fixed by ignoring some out of threshold events by adding options MinW and MinZ for Three(or more) fingers.

thnx.

the instruction of "synclient"

My computer can't run your script because:

$session_name: 'ubuntu'
synclient: invalid option -- 'm'
Usage: synclient [-h] [-l] [-V] [-?] [var1=value1 [var2=value2] ...]
-l List current user settings
-V Print synclient version string and exit
-? Show this help message
var=value Set user parameter 'var' to 'value'.
init

I am sorry but how can i fix it? I am love to use it.

how to autostart xswipe on ubuntu 14.04 upwards?

I added xswipe to autostart via gnome-session-properties, but it doesnt work. Any suggestions?

$ cat home/$USER/.config/autostart/perl.desktop  
[Desktop Entry]
Type=Application
Exec=/home/$USER/.xSwipe/xswip_autostart.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[de_DE]=xSwipe
Name=xSwipe
Comment[de_DE]=Multitouch gestures on X11, Linux
Comment=Multitouch gestures on X11, Linux
$ cat /home/$USER/.xSwipe/xswip_autostart.sh
#!/bin/sh
cd /home/$USER/.xSwipe/
perl /home/$USER/.xSwipe/xSwipe.pl > /dev/null 2>&1 &

3 fingers down does not execute the defined keystrokes

The default 3 finger down should execute ctrl+alt+down to move my workspace down, and while the terminal does in fact show those key strokes:

### @event_string: [
###                  'LCT',
###                  'LAL',
###                  'DOW'
###                ]

Nothing happens. 3 fingers up/left/right all work as expected but down does not.

Running ubuntu 16.04 on an Asus Zenbook ux305L

It just don't workout

I followed all steps with getting an error and it don't work.

Thats my output wenn I start the script.
colin@colin-dellxps13:~$ perl ~/xSwipe-master/xSwipe.pl
Smartmatch is experimental at /home/colin/xSwipe-master/xSwipe.pl line 121.

init_synclient

@area_setting: [

' LeftEdge = 1583

',

' RightEdge = 5359

',

' TopEdge = 1371

',

' BottomEdge = 4481

'

]

$touchpad_size_h: 3110

$touchpad_size_w: 3776

$x_min_thredshould: '377.6'

$y_min_thredshould: 311

$inner_edge_left: '1708.86666666667'

$inner_edge_right: '5233.13333333333'

$inner_edge_top: 1682

$inner_edge_bottom: 4170

$session_name: 'ubuntu'

Please help me.
I have a Dell XPS 13 running Ubuntu 14.04

xSwipe conflicts with xbindkeys

Touchpad gestures working ok when xbindkeys are disabled. After xbindkeys start (I have binded buttons on my mouse) have a weird touchpad behavior. For example: before starting xbindkeys 2-fingers swipe was verical scrolling, after - F5 (refresh firefox tab). Mint 17.1, x64

Natural scroll not working like mac

i followed the procedure as in readme.md in UBUNTU 17.04 .
getting this message "Smartmatch is experimental at /home/ott/xSwipe-master/xSwipe.pl line 119."
Not getting the feature of three finger swipe gesture to change the workspace like mac.
Thank You.

Super + W bug on Ubuntu 14.04

Hello,

First, I would like to thank the developers of this script. It is so good to be able to do what you want with your fingers. I don't even understand why this is not yet included as part of Ubuntu.

Configuration

SUPER + W as shortcut for 3-fingers swipe UP and DOWN on Ubuntu 14.04 (with Unity)

Step to reproduce

Swipe up and down with 3 fingers

Expected result

Spreads all windows in the current workspace swiping UP, and get back to your current window when swiping DOWN (this is SUPER + W behaviour)

Actual result

The result is correct except that after swiping DOWN, ubuntu search is opening and I don't know why

Details

  • If I set an other shortcut for 3 fingers swipe, the bug doesn't appear
  • If I set this shortcut for 4 fingers, this bug appears too
  • If I swipe UP + DOWN or DOWN + UP or DOWN + DOWN or UP + UP, the bug always appear at the second swipe

eventKey.cfg

{
'ubuntu'=>{
    swipe2 =>{
        press   =>  "default",
    },
    swipe3 =>{
        right   =>  "LCT/LSH/TAB",   # ctrl + shift + tab, previous tab
        left    =>  "LCT/TAB",       # ctrl + tab, next tab
        down    =>  "LSK/w",         # super + w, show/hide all windows
        up      =>  "LSK/w",         # super + w, show/hide all windows
        press   =>  "default",
    },
    swipe4=>{
        right   =>  "LCT/LAL/LEF",   # ctrl + alt +  left, previous workspace
        left    =>  "LCT/LAL/RIG",   # ctrl + alt +  right, next workspace
        down    =>  "LSK/s",         # super + s, show/hide workspaces
        up      =>  "LSK/s",         # super + s, show/hide workspaces
        press   =>  "default",       # no choice with Unity
    },
},

Launch

$ perl xSwipe.pl -n
Smartmatch is experimental at xSwipe.pl line 121.

### $ARGV: '-n'

### init_synclient

### @area_setting: [
###                  '    LeftEdge                = 131
',
###                  '    RightEdge               = 3145
',
###                  '    TopEdge                 = 101
',
###                  '    BottomEdge              = 1771
'
###                ]
### $touchpad_size_h: 1670
### $touchpad_size_w: 3014
### $x_min_thredshould: '301.4'
### $y_min_thredshould: 167
### $inner_edge_left: '231.466666666667'
### $inner_edge_right: '3044.53333333333'
### $inner_edge_top: 268
### $inner_edge_bottom: 1604

### $session_name: 'ubuntu'

swipe UP + swipe DOWN

### $touch_pad_off: '0'

### init_synclient

### ne default

### $time - $event_time got: '17.722'

### @event_string: [
###                  'LSK',
###                  'w'
###                ]

### ne default

### $touch_pad_off: '0'

### ne default

### $time - $event_time got: '1.23099999999999'

### @event_string: [
###                  'LSK',
###                  'w'
###                ]

### $touch_pad_off: '0'

If you need additionnal information, feel free to ask.

Is there a reason why this sets ClickFinger3 to 1?

I'm trying to get a 3 finger click to be a middle click, so I set ClickFinger3=2, but everytime I scroll it gets reset back to 1 (which makes sense because of this). Is there a technical reason for this? If so is there a way to get 3 finger click to be a middle click and still have this work properly?

The function getAxis should be improved

Run command "synclient -l " , it shows that (part of the result):
LeftEdge = 1132
RightEdge = 5690
TopEdge = 919
BottomEdge = 4888
This means the synclient believes that my touchpad is 5690-1132=4558 wide, and 4880-919=3961 high.
So the xswipe believe that the ratio of width:height=4558:3961=1.15.
However, I used a ruler to physically measure my touchpad. The ruler shows that my touchpad is actually 8.2cm wide and 4.8cm high. The ratio of width:height is actually 8.2:4.8=1.7.
So the xswipe make a mistake in judging your swipe gesture is vertical or horizontal.
In my example, the xSwipe is more likely to take some horizontal gesture as vertical gestures. So I change the code of getAxis
" if($xDist > $yDist)"
to
" if(1.5*$xDist > $yDist)"
Now, it's much better. Maybe some parameters can be added, such as width, height , to solve this problem.

mapping the DOWN key

In the wiki it is said that the abbreviation for the down arrow key is DOW and this should be put in the eventKey.cfg file.

This did not work for me so I looked around and found that in X11::GUITest version 0.27 this key code is actually DOWN. It is a weird exception but, indeed, changing DOW to DOWN in the event config file made this mapping work again for me.

Perhaps you might want to add this info to the wiki. Thanks!

One-finger cursor move does not work if started from left or right side of touchpad

Configuration of xSwipe seems does not control this behavior. Side-scrolling is disabled in xorg.conf (and AFAIK, it affects only the right side). The width of "dead" start areas is quite large (about 1/5 of whole touchpad width). Additionally I noticed dragging is sometimes self-activated for unknown reason when started move, not double-tapped drag. I use plain X.Org (i.e. no DEs' settings-daemons) on Debian 9.

Doesn't work - Dell Inspirion 5000

Hi!
I have a Dell Inspirion 5000 with Elementary OS Freya. I followed all instructions of installation, but this does not work, when I run perl ~/xSwipe/xSwipe.pl the command show:

Smartmatch is experimental at /home/devswert/xSwipe/xSwipe.pl line 121.

### $ARGV: '-m'

### $polling_interval: 30

### init_synclient

### @area_setting: [
###                  '    LeftEdge                = 1585
',
###                  '    RightEdge               = 5357
',
###                  '    TopEdge                 = 1446
',
###                  '    BottomEdge              = 4408
'
###                ]
### $touchpad_size_h: 2962
### $touchpad_size_w: 3772
### $x_min_thredshould: '377.2'
### $y_min_thredshould: '296.2'
### $inner_edge_left: '1710.73333333333'
### $inner_edge_right: '5231.26666666667'
### $inner_edge_top: '1742.2'
### $inner_edge_bottom: '4111.8'

### $session_name: 'pantheon'

When I test the touchpad it isn't work. I exec xinput list to see my drivers, I can see:

Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ DLL0641:00 06CB:7621 UNKNOWN              id=13   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=15   [slave  pointer  (2)]

I see that I have a synaptics driver, but also have a DLL0641:00 06CB:7621 UNKNOWN driver, this is a Dell's driver, when I disabled this my touchpad dead, and I try enabled SynPS/2 Synaptics TouchPad but the touchpad keep dead.

Why xSwipe doesn't work? Did I do something bad?

PD: Sorry if my english is bad 😛

Unmet dependencies on older version synaptics driver installation @ Ubuntu 14.04.2

The installation of older version of synaptics driver throws an unmet dependencies error as seen below

Bash output

~  sudo apt-get install -y git build-essential libevdev-dev autoconf automake libmtdev-dev xorg-dev xutils-dev libtool -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
autoconf is already the newest version.
automake is already the newest version.
build-essential is already the newest version.
build-essential set to manually installed.
libtool is already the newest version.
git is already the newest version.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 xorg-dev : Depends: libxaw7-dev but it is not going to be installed
            Depends: libxcomposite-dev but it is not going to be installed
            Depends: libxcursor-dev but it is not going to be installed
            Depends: libxdamage-dev but it is not going to be installed
            Depends: libxext-dev but it is not going to be installed
            Depends: libxfixes-dev but it is not going to be installed
            Depends: libxfont-dev but it is not going to be installed
            Depends: libxft-dev but it is not going to be installed
            Depends: libxi-dev but it is not going to be installed
            Depends: libxinerama-dev but it is not going to be installed
            Depends: libxmu-dev but it is not going to be installed
            Depends: libxrandr-dev but it is not going to be installed
            Depends: libxrender-dev but it is not going to be installed
            Depends: libxres-dev but it is not going to be installed
            Depends: libxss-dev but it is not going to be installed
            Depends: libxtst-dev but it is not going to be installed
            Depends: libxv-dev but it is not going to be installed
            Depends: libxvmc-dev but it is not going to be installed
            Depends: xserver-xorg-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

System specs

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:        14.04
Codename:       trusty
-----
processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 37
model name      : Intel(R) Core(TM) i7 CPU       M 620  @ 2.67GHz
stepping        : 2
microcode       : 0xc
cpu MHz         : 1199.000
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 2
cpu cores       : 2
apicid          : 5
initial apicid  : 5
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.