fusuma 1.9.0 → 2.0.0.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93c6c3c71411a7eebb99751019f6644162214db4f26905bb5d3b1bd7eb6da917
4
- data.tar.gz: ce95d881ac734359d79dba87fc25dfc72a43ef7f4e50ed23b0ca0478883f405c
3
+ metadata.gz: bd6d9f73a5476aed954644b4d5f7caa9627779139bc84e301fa2ae67fbb1d71f
4
+ data.tar.gz: e893683da4aa5f235481ec32bf45a6a2386bc6b64989f36617b6806c538602b3
5
5
  SHA512:
6
- metadata.gz: 85b9bccb20dd58f97407d7d0955e9fbf378cc1c23f7ccb502f8ae48920faefacbf2dfd2b2fa374de3fbb237d68f0c92207a83e391e0aaab7783853270a98328b
7
- data.tar.gz: 2a7cb2e707712d4c4a78e40e641137bb906adf8dbe21d2105cc7c293255f3e5a838f658fc85377a8c12de80f74211443a4bc513cbd4608dc9c611fe9929a9e5e
6
+ metadata.gz: 55b7d3393e283bc459b865d293839d6aa2286db4ece74b14d9b50c05726f4d5bfb32609b79541ad816b0ebdebb687b948f03f53fdd1e4d070bf470af56360c84
7
+ data.tar.gz: f9d5b36287ccd132687497f8f527fc1ef90b0dc818feccf2f9cc6db0b76371a30832467df2d8aa0fca8ee3c5804551da8470b34784c185da73dc08ae507034de
@@ -0,0 +1,9 @@
1
+ Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
2
+
3
+ - [ ] Make sure to open an issue as a [bug/issue](https://github.com/iberianpig/fusuma/issues) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea.
4
+
5
+ - [ ] Follow the instructions in [CONTRIBUTING](https://github.com/iberianpig/fusuma/blob/master/CONTRIBUTING.md). Most importantly, ensure the tests and linter pass by running `bundle exec rspec` and `bundle exec rubocop`.
6
+
7
+ - [ ] Update code documentation if necessary.
8
+
9
+ closes: #<issue_number_goes_here>
@@ -1,5 +1,8 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
+ AllCops:
4
+ TargetRubyVersion: '2.3'
5
+
3
6
  Metrics/ModuleLength:
4
7
  Exclude:
5
8
  - "**/*_spec.rb"
@@ -14,3 +17,24 @@ Layout/LineLength:
14
17
  Exclude:
15
18
  - "fusuma.gemspec"
16
19
  - "**/*_spec.rb"
20
+
21
+ # For rubocop < 1.0.0
22
+ Style/HashEachMethods:
23
+ Enabled: true
24
+
25
+ # For rubocop < 1.0.0
26
+ Style/HashTransformKeys:
27
+ Enabled: true
28
+
29
+ # For rubocop < 1.0.0
30
+ Style/HashTransformValues:
31
+ Enabled: true
32
+
33
+ # For compatible ruby 2.3
34
+ Style/RedundantBegin:
35
+ Enabled: false
36
+
37
+ Lint/RaiseException:
38
+ Enabled: true
39
+ Lint/StructNewOverride:
40
+ Enabled: true
@@ -1,5 +1,65 @@
1
1
  # Changelog
2
2
 
3
+ ## [v1.11.0](https://github.com/iberianpig/fusuma/tree/v1.11.0) (2020-07-25)
4
+
5
+ [Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.10.2...v1.11.0)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - Feature/yaml check [\#193](https://github.com/iberianpig/fusuma/pull/193) ([iberianpig](https://github.com/iberianpig))
10
+
11
+ ## [v1.10.2](https://github.com/iberianpig/fusuma/tree/v1.10.2) (2020-07-23)
12
+
13
+ [Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.10.1...v1.10.2)
14
+
15
+ **Closed issues:**
16
+
17
+ - Gestures from libinput are not recognised [\#192](https://github.com/iberianpig/fusuma/issues/192)
18
+ - Vertical 4 finger swipe and rotation not recognised [\#189](https://github.com/iberianpig/fusuma/issues/189)
19
+ - Pinch in gesture not recognized in Popos 20.04 \(Ubuntu 20.04\) [\#184](https://github.com/iberianpig/fusuma/issues/184)
20
+ - Fusuma crashes while switching between workspaces on KDE Plasma [\#181](https://github.com/iberianpig/fusuma/issues/181)
21
+ - Window Prev/Next moves desktop environment when no active window [\#178](https://github.com/iberianpig/fusuma/issues/178)
22
+ - Add ydotool to docs. [\#177](https://github.com/iberianpig/fusuma/issues/177)
23
+ - Can't use alternative .config.yml [\#176](https://github.com/iberianpig/fusuma/issues/176)
24
+ - Fusuma stops working sometimes [\#175](https://github.com/iberianpig/fusuma/issues/175)
25
+ - Pinch \(2, in\) does not work. [\#174](https://github.com/iberianpig/fusuma/issues/174)
26
+
27
+ **Merged pull requests:**
28
+
29
+ - 177. Add ydootool to docs. [\#179](https://github.com/iberianpig/fusuma/pull/179) ([mattdemarillac](https://github.com/mattdemarillac))
30
+
31
+ ## [v1.10.1](https://github.com/iberianpig/fusuma/tree/v1.10.1) (2020-05-15)
32
+
33
+ [Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.10.0...v1.10.1)
34
+
35
+ **Closed issues:**
36
+
37
+ - Some gestures are not always recognized [\#172](https://github.com/iberianpig/fusuma/issues/172)
38
+ - Unable to reprogram Pinch [\#171](https://github.com/iberianpig/fusuma/issues/171)
39
+
40
+ ## [v1.10.0](https://github.com/iberianpig/fusuma/tree/v1.10.0) (2020-05-04)
41
+
42
+ [Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.9.0...v1.10.0)
43
+
44
+ **Closed issues:**
45
+
46
+ - Each action took about 2 secs to react [\#167](https://github.com/iberianpig/fusuma/issues/167)
47
+ - ruby2.7 [\#164](https://github.com/iberianpig/fusuma/issues/164)
48
+ - Zoom-in not really usable on Vivaldi [\#159](https://github.com/iberianpig/fusuma/issues/159)
49
+ - Reversed directions with no alternatives [\#133](https://github.com/iberianpig/fusuma/issues/133)
50
+
51
+ **Merged pull requests:**
52
+
53
+ - Implement timeout event [\#169](https://github.com/iberianpig/fusuma/pull/169) ([iberianpig](https://github.com/iberianpig))
54
+
55
+ ## [v1.9.0](https://github.com/iberianpig/fusuma/tree/v1.9.0) (2020-03-30)
56
+
57
+ [Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.8.0...v1.9.0)
58
+
59
+ **Closed issues:**
60
+
61
+ - Touchpad is filtered in listed devices [\#156](https://github.com/iberianpig/fusuma/issues/156)
62
+
3
63
  ## [v1.8.0](https://github.com/iberianpig/fusuma/tree/v1.8.0) (2020-03-28)
4
64
 
5
65
  [Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.7.0...v1.8.0)
@@ -152,7 +212,6 @@
152
212
 
153
213
  - Interval and threshold specific for a trigger [\#92](https://github.com/iberianpig/fusuma/pull/92) ([irq](https://github.com/irq))
154
214
  - Fix spelling: Elementary to elementary [\#90](https://github.com/iberianpig/fusuma/pull/90) ([ryonakano](https://github.com/ryonakano))
155
- - Assigning commands [\#73](https://github.com/iberianpig/fusuma/pull/73) ([iberianpig](https://github.com/iberianpig))
156
215
 
157
216
  ## [v0.9.2](https://github.com/iberianpig/fusuma/tree/v0.9.2) (2018-07-19)
158
217
 
@@ -241,6 +300,7 @@
241
300
 
242
301
  **Merged pull requests:**
243
302
 
303
+ - Assigning commands [\#73](https://github.com/iberianpig/fusuma/pull/73) ([iberianpig](https://github.com/iberianpig))
244
304
  - Update rake requirement to ~\> 12.3 [\#72](https://github.com/iberianpig/fusuma/pull/72) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
245
305
 
246
306
  ## [v0.3.5](https://github.com/iberianpig/fusuma/tree/v0.3.5) (2018-01-01)
@@ -284,6 +344,10 @@
284
344
  - parse\_finger\_directions: undefined method `tr' for nil:NilClass \(NoMethodError\) [\#29](https://github.com/iberianpig/fusuma/issues/29)
285
345
  - Error after upgrading to libinput 1.6.0 [\#26](https://github.com/iberianpig/fusuma/issues/26)
286
346
 
347
+ **Merged pull requests:**
348
+
349
+ - Added interval options to config. [\#36](https://github.com/iberianpig/fusuma/pull/36) ([joshuatshaffer](https://github.com/joshuatshaffer))
350
+
287
351
  ## [v0.2.7](https://github.com/iberianpig/fusuma/tree/v0.2.7) (2017-02-04)
288
352
 
289
353
  [Full Changelog](https://github.com/iberianpig/fusuma/compare/v0.2.6...v0.2.7)
@@ -294,7 +358,6 @@
294
358
 
295
359
  **Merged pull requests:**
296
360
 
297
- - Added interval options to config. [\#36](https://github.com/iberianpig/fusuma/pull/36) ([joshuatshaffer](https://github.com/joshuatshaffer))
298
361
  - update parser [\#30](https://github.com/iberianpig/fusuma/pull/30) ([iberianpig](https://github.com/iberianpig))
299
362
 
300
363
  ## [v0.2.6](https://github.com/iberianpig/fusuma/tree/v0.2.6) (2017-01-22)
@@ -0,0 +1,72 @@
1
+ # Contributing to Fusuma
2
+
3
+ 1. Fork the repo, develop and test your code changes.
4
+ 2. Send a pull request.
5
+
6
+ ## Setup
7
+
8
+ In order to use the Fusuma console and run the project's tests,
9
+ there is a small amount of setup:
10
+
11
+ 1. Install Ruby. Fusuma requires Ruby 2.3+. You may choose to
12
+ manage your Ruby and gem installations with [RVM](https://rvm.io/),
13
+ [rbenv](https://github.com/rbenv/rbenv), or
14
+ [chruby](https://github.com/postmodern/chruby).
15
+
16
+ 2. Install [Bundler](http://bundler.io/).
17
+
18
+ ```sh
19
+ $ gem install bundler
20
+ ```
21
+
22
+ 3. Install the top-level project dependencies.
23
+
24
+ ```sh
25
+ $ bundle install
26
+ ```
27
+
28
+ ## Fusuma Tests
29
+
30
+ Tests are very important part of Fusuma. All contributions
31
+ should include tests that ensure the contributed code behaves as expected.
32
+
33
+ To run tests:
34
+
35
+ ``` sh
36
+ $ bundle exec rspec
37
+ ```
38
+
39
+ ### Fusuma Document
40
+
41
+ The project uses [YARD](https://github.com/lsegal/yard) for generating documentation.
42
+
43
+ If you're not sure about YARD, please refer to [YARD cheatsheet](https://gist.github.com/phansch/db18a595d2f5f1ef16646af72fe1fb0e).
44
+
45
+ To run the Fusuma documentation tests:
46
+
47
+ ``` sh
48
+ $ bundle exec yard --fail-on-warning
49
+ ```
50
+
51
+ To check Fusuma documents with running local server:
52
+
53
+ ```
54
+ $ bundle exec yard server
55
+ ```
56
+ Then open (http://localhost:8808/)
57
+
58
+ ## Coding Style
59
+
60
+ Please follow the established coding style in the library.
61
+ The style is is largely based on [The Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide).
62
+
63
+ You can check your code against these rules by running Rubocop like so:
64
+
65
+ ```sh
66
+ $ bundle exec rubocop
67
+ ```
68
+
69
+ ## Code of Conduct
70
+
71
+ Please note that this project is released with a Contributor Code of Conduct. By
72
+ participating in this project you agree to abide by its terms.
data/Gemfile CHANGED
@@ -4,3 +4,15 @@ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in fusuma.gemspec
6
6
  gemspec
7
+
8
+ gem 'bundler'
9
+ gem 'coveralls'
10
+ gem 'github_changelog_generator', '~> 1.14'
11
+ gem 'pry-byebug', '~> 3.4'
12
+ gem 'pry-doc'
13
+ gem 'pry-inline'
14
+ gem 'rake', '~> 13.0'
15
+ gem 'reek'
16
+ gem 'rspec', '~> 3.0'
17
+ gem 'rubocop', '0.81'
18
+ gem 'yard'
data/README.md CHANGED
@@ -7,18 +7,32 @@ This gem makes your linux able to recognize swipes or pinchs and assign commands
7
7
 
8
8
  襖(Fusuma) means sliding door used to partition off rooms in a Japanese house.
9
9
 
10
+ ## Features
11
+
12
+ - Easy installation with RubyGems
13
+ - Defining Gestures and Actions in YAML
14
+ - Sensitivity setting (threshold, interval) for gesture recognition
15
+ - Automatic device addition for reconnecting external touchpads
16
+ - Extension of gesture recognition by [plugin system](https://github.com/iberianpig/fusuma/#fusuma-plugins)
17
+
10
18
  ## Installation
11
19
 
12
20
  ### 1. Grant permission to read the touchpad device
21
+
13
22
  **IMPORTANT**: You **MUST** be a member of the **INPUT** group to read touchpad by Fusuma.
14
23
 
15
24
  ```bash
16
25
  $ sudo gpasswd -a $USER input
17
26
  ```
18
27
 
19
- Then, You **MUST** **REBOOT** to assign this group.
28
+ Then, You apply the change with no logout or reboot.
29
+
30
+ ```bash
31
+ $ newgrp input
32
+ ```
20
33
 
21
34
  ### 2. Install libinput-tools
35
+
22
36
  You need `libinput` release 1.0 or later.
23
37
 
24
38
  ```bash
@@ -26,6 +40,7 @@ $ sudo apt-get install libinput-tools
26
40
  ```
27
41
 
28
42
  ### 3. Install Ruby
43
+
29
44
  Fusuma runs in Ruby, so you must install it first.
30
45
 
31
46
  ```bash
@@ -41,6 +56,7 @@ $ sudo gem install fusuma
41
56
  ### 5. Install xdotool (optional)
42
57
 
43
58
  For sending shortcuts:
59
+
44
60
  ```bash
45
61
  $ sudo apt-get install xdotool
46
62
  ```
@@ -49,7 +65,6 @@ $ sudo apt-get install xdotool
49
65
 
50
66
  Ensure the touchpad events are being sent to the GNOME desktop by running the following command:
51
67
 
52
-
53
68
  ```bash
54
69
  $ gsettings set org.gnome.desktop.peripherals.touchpad send-events enabled
55
70
  ```
@@ -76,12 +91,25 @@ $ mkdir -p ~/.config/fusuma # create config directory
76
91
  $ nano ~/.config/fusuma/config.yml # edit config file.
77
92
  ```
78
93
 
94
+
95
+ ### Available gestures
96
+
97
+ * `swipe:`
98
+ * support `3:`, `4:` fingers
99
+ * support `left:`, `right:`, `up:`, `down:` directions
100
+ * `pinch:`
101
+ * support `2:`, `3:`, `4:` fingers
102
+ * support `in:`, `out:` directions
103
+ * `rotate:`
104
+ * support `2:`, `3:`, `4:` fingers
105
+ * support `clockwise:`,`counterclockwise:` directions
106
+
79
107
  ### About YAML Basic Syntax
80
- * Comments in YAML begins with the (#) character.
81
- * Comments must be separated from other tokens by whitespaces.
82
- * Indentation of whitespace is used to denote structure.
83
- * Tabs are not included as indentation for YAML files.
84
108
 
109
+ - Comments in YAML begins with the `#` character.
110
+ - Comments must be separated from other tokens by whitespaces.
111
+ - Indentation of whitespace is used to denote structure.
112
+ - Tabs are not included as indentation for YAML files.
85
113
 
86
114
  ### Example: Gesture Mapping for Ubuntu
87
115
 
@@ -89,46 +117,48 @@ https://github.com/iberianpig/fusuma/wiki/Ubuntu
89
117
 
90
118
  ```yaml
91
119
  swipe:
92
- 3:
93
- left:
94
- command: 'xdotool key alt+Right'
95
- right:
96
- command: 'xdotool key alt+Left'
97
- up:
98
- command: 'xdotool key super'
99
- down:
100
- command: 'xdotool key super'
120
+ 3:
121
+ left:
122
+ command: "xdotool key alt+Right" # History forward
123
+ right:
124
+ command: "xdotool key alt+Left" # History back
125
+ up:
126
+ command: "xdotool key super" # Activity
127
+ down:
128
+ command: "xdotool key super" # Activity
101
129
  4:
102
- left:
103
- command: 'xdotool key ctrl+alt+Down'
104
- right:
105
- command: 'xdotool key ctrl+alt+Up'
106
- up:
107
- command: 'xdotool key ctrl+alt+Down'
108
- down:
109
- command: 'xdotool key ctrl+alt+Up'
130
+ left:
131
+ command: "xdotool key ctrl+alt+Down" # Switch to next workspace
132
+ right:
133
+ command: "xdotool key ctrl+alt+Up" # Switch to previous workspace
134
+ up:
135
+ command: "xdotool key ctrl+alt+Down" # Switch to next workspace
136
+ down:
137
+ command: "xdotool key ctrl+alt+Up" # Switch to previous workspace
110
138
  pinch:
111
139
  in:
112
- command: 'xdotool keydown ctrl click 4 keyup ctrl'
140
+ command: "xdotool keydown ctrl click 4 keyup ctrl" # Zoom in
113
141
  out:
114
- command: 'xdotool keydown ctrl click 5 keyup ctrl'
142
+ command: "xdotool keydown ctrl click 5 keyup ctrl" # Zoom out
115
143
  ```
116
144
 
117
145
  ### More Example of config.yml
118
- The following wiki pages can be edited by everyone.
119
146
 
120
- * [Ubuntu](https://github.com/iberianpig/fusuma/wiki/Ubuntu)
121
- * [elementary OS](https://github.com/iberianpig/fusuma/wiki/elementary-OS)
122
- * [i3](https://github.com/iberianpig/fusuma/wiki/i3)
123
- * [KDE to mimic MacOS](https://github.com/iberianpig/fusuma/wiki/KDE-to-mimic-MacOS)
124
- * [POP OS with Cinnamon](https://github.com/iberianpig/fusuma/wiki/POP-OS-with-Cinnamon)
125
- * [PopOS Default Gnome](https://github.com/iberianpig/fusuma/wiki/PopOS-Default-Gnome)
126
- * [Ubuntu OS to mimic Mac a little](https://github.com/iberianpig/fusuma/wiki/Ubuntu-OS-to-mimic-Mac-a-little)
147
+ The following wiki pages can be edited by everyone.
148
+
149
+ - [Ubuntu](https://github.com/iberianpig/fusuma/wiki/Ubuntu)
150
+ - [elementary OS](https://github.com/iberianpig/fusuma/wiki/elementary-OS)
151
+ - [i3](https://github.com/iberianpig/fusuma/wiki/i3)
152
+ - [KDE to mimic MacOS](https://github.com/iberianpig/fusuma/wiki/KDE-to-mimic-MacOS)
153
+ - [POP OS with Cinnamon](https://github.com/iberianpig/fusuma/wiki/POP-OS-with-Cinnamon)
154
+ - [PopOS Default Gnome](https://github.com/iberianpig/fusuma/wiki/PopOS-Default-Gnome)
155
+ - [Ubuntu OS to mimic Mac a little](https://github.com/iberianpig/fusuma/wiki/Ubuntu-OS-to-mimic-Mac-a-little)
127
156
 
128
157
  If you have a nice configuration, please share `~/.config/fusuma/config.yml` with everyone.
129
158
 
130
159
  ### Threshold and Interval
131
- if `command: ` properties are blank, the swipe/pinch doesn't execute command.
160
+
161
+ if `command:` properties are blank, the swipe/pinch doesn't execute command.
132
162
 
133
163
  `threshold:` is sensitivity to swipe/pinch. Default value is 1.
134
164
  If the swipe's threshold is `0.5`, shorten swipe-length by half.
@@ -136,13 +166,50 @@ If the swipe's threshold is `0.5`, shorten swipe-length by half.
136
166
  `interval:` is delay between swipes/pinches. Default value is 1.
137
167
  If the swipe's interval is `0.5`, shorten swipe-interval by half to recognize a next swipe.
138
168
 
139
- ### `command: ` property for assigning commands
140
- On fusuma version 0.4 `command: ` property is available!
141
- You can assign any command each gestures.
169
+ ### Example of `threshold:` / `interval:` settings
170
+
171
+ ```yaml
172
+ swipe:
173
+ 3:
174
+ left:
175
+ command: 'xdotool key alt+Right' # threshold: 0.5, interval: 0.75
176
+ threshold: 0.5
177
+ right:
178
+ command: 'xdotool key alt+Left' # threshold: 0.5, interval: 0.75
179
+ threshold: 0.5
180
+ up:
181
+ command: 'xdotool key super' # threshold: 1, interval: 0.75
182
+ down:
183
+ command: 'xdotool key super' # threshold: 1, interval: 0.75
184
+ pinch:
185
+ 2:
186
+ in:
187
+ command: "xdotool keydown ctrl click 4 keyup ctrl" # threshold: 0.5, interval: 0.5
188
+ out:
189
+ command: "xdotool keydown ctrl click 5 keyup ctrl" # threshold: 0.5, interval: 0.5
190
+
191
+ threshold:
192
+ pinch: 0.5
193
+
194
+ interval:
195
+ swipe: 0.75
196
+ pinch: 0.5
197
+ ```
198
+
199
+ There are three priorities of `threshold:` and `interval:`.
200
+ The individual `threshold:` and `interval:` settings (under "direction") have a higher priority than the global one (under "root")
142
201
 
143
- **`shortcut: ` property is deprecated**, **it was removed on fusuma version 1.0**.
144
- You need to replace to `command: ` property.
202
+ 1. child elements in the direction (left/right/down/up threshold/interval)
203
+ 1. root child elements (threshold/interval swipe/pinch)
204
+ 1. default value (= 1)
145
205
 
206
+ ### `command:` property for assigning commands
207
+
208
+ On fusuma version 0.4 `command:` property is available!
209
+ You can assign any command each gestures.
210
+
211
+ **`shortcut:` property is deprecated**, **it was removed on fusuma version 1.0**.
212
+ You need to replace to `command:` property.
146
213
 
147
214
  ```diff
148
215
  swipe:
@@ -157,35 +224,40 @@ swipe:
157
224
 
158
225
  ### About xdotool
159
226
 
160
-
161
- * xdotool manual (https://github.com/jordansissel/xdotool/blob/master/xdotool.pod)
162
- * Available keys' hint (https://github.com/jordansissel/xdotool/issues/212#issuecomment-406156157)
227
+ - xdotool manual (https://github.com/jordansissel/xdotool/blob/master/xdotool.pod)
228
+ - Available keys' hint (https://github.com/jordansissel/xdotool/issues/212#issuecomment-406156157)
163
229
 
164
230
  **NOTE: xdotool has some issues**
165
231
 
166
- * Gestures take a few seconds to react(https://github.com/iberianpig/fusuma/issues/113)
232
+ - Gestures take a few seconds to react(https://github.com/iberianpig/fusuma/issues/113)
167
233
 
168
234
  #### Alternatives to xdotool
169
235
 
170
- * [fusuma-plugin-sendkey](https://github.com/iberianpig/fusuma-plugin-sendkey)
171
- * Emulates keyboard events
172
- * Wayland compatible
236
+ - [fusuma-plugin-sendkey](https://github.com/iberianpig/fusuma-plugin-sendkey)
173
237
 
174
- * `xte`
175
- * [xte(1) - Linux man page](https://linux.die.net/man/1/xte)
176
- * install with `sudo apt xautomation`
238
+ - Emulates keyboard events
239
+ - Low latency
240
+ - Wayland compatible
177
241
 
178
- ## Options
242
+ - `xte`
243
+ - [xte(1) - Linux man page](https://linux.die.net/man/1/xte)
244
+ - install with `sudo apt xautomation`
245
+
246
+ - [ydotool](https://github.com/ReimuNotMoe/ydotool)
247
+ - Wayland compatible
248
+ - Needs more maintainers.
249
+ - Requires only replacing `xdotool` with `ydotool` in fusuma conf.
179
250
 
180
- * `-c`, `--config=path/to/file` : Use an alternative config file
181
- * `-d`, `--daemon` : Daemonize process
182
- * `-l`, `--list-devices` : List available devices
183
- * `-v`, `--verbose` : Show details about the results of running fusuma
184
- * `--device="Device name"` : Open the given device only (DEPRECATED)
185
- * `--version` : Show fusuma version
251
+ ## Options
186
252
 
187
- ### Filter Device
253
+ - `-c`, `--config=path/to/file` : Use an alternative config file
254
+ - `-d`, `--daemon` : Daemonize process
255
+ - `-l`, `--list-devices` : List available devices
256
+ - `-v`, `--verbose` : Show details about the results of running fusuma
257
+ - `--device="Device name"` : Open the given device only (DEPRECATED)
258
+ - `--version` : Show fusuma version
188
259
 
260
+ ### Specify touchpads by device name
189
261
  Set the following options to recognize multi-touch gestures only for the specified touchpad device.
190
262
 
191
263
  ```yaml
@@ -193,10 +265,12 @@ plugin:
193
265
  filters:
194
266
  libinput_device_filter:
195
267
  keep_device_names:
196
- - "DEVICE NAME"
268
+ - "BUILT-IN TOUCHPAD NAME"
269
+ - "EXTERNAL TOUCHPAD NAME"
197
270
  ```
198
271
 
199
272
  ## Autostart (gnome-session-properties)
273
+
200
274
  1. Check the path where you installed fusuma with `$ which fusuma`
201
275
  2. Open `$ gnome-session-properties`
202
276
  3. Add Fusuma and enter the location where the above path was checked in the command input field
@@ -206,9 +280,9 @@ plugin:
206
280
 
207
281
  Following features are provided as plugins.
208
282
 
209
- * Adding new gestures or combinations
210
- * Features for specific Linux distributions
211
- * Setting different gestures per applications
283
+ - Adding new gestures or combinations
284
+ - Features for specific Linux distributions
285
+ - Setting different gestures per applications
212
286
 
213
287
  ### Installation of fusuma plugins
214
288
 
@@ -219,7 +293,7 @@ Fusuma plugins are provided with the `fusuma-plugin-XXXXX` naming convention and
219
293
  ### Available plugins
220
294
 
221
295
  | Name | About |
222
- |--------------------------------------------------------------------------------|-----------------------------------------------|
296
+ | ------------------------------------------------------------------------------ | --------------------------------------------- |
223
297
  | [fusuma-plugin-sendkey](https://github.com/iberianpig/fusuma-plugin-sendkey) | Emulates keyboard events |
224
298
  | [fusuma-plugin-wmctrl](https://github.com/iberianpig/fusuma-plugin-wmctrl) | Manages Window and Workspace |
225
299
  | [fusuma-plugin-keypress](https://github.com/iberianpig/fusuma-plugin-keypress) | Detects gestures while pressing multiple keys |
@@ -227,9 +301,8 @@ Fusuma plugins are provided with the `fusuma-plugin-XXXXX` naming convention and
227
301
 
228
302
  ## Tutorial Video
229
303
 
230
- [![Multitouch Touchpad Gestures in Linux with Fusuma](http://img.youtube.com/vi/bn11Iwvf29I/0.jpg)](http://www.youtube.com/watch?v=bn11Iwvf29I "Multitouch Touchpad Gestures in Linux with Fusuma")
231
- [Multitouch Touchpad Gestures in Linux with Fusuma](http://www.youtube.com/watch?v=bn11Iwvf29I) by [Eric Adams](https://www.youtube.com/user/igster75)
232
-
304
+ [![Multitouch Touchpad Gestures in Linux with Fusuma](http://img.youtube.com/vi/bn11Iwvf29I/0.jpg)](http://www.youtube.com/watch?v=bn11Iwvf29I "Multitouch Touchpad Gestures in Linux with Fusuma")
305
+ [Multitouch Touchpad Gestures in Linux with Fusuma](http://www.youtube.com/watch?v=bn11Iwvf29I) by [Eric Adams](https://www.youtube.com/user/igster75)
233
306
 
234
307
  ## Support
235
308
 
@@ -237,16 +310,13 @@ I'm a Freelance Engineer in Japan and working on these products after finishing
237
310
  Currently, my open-source contribution times is not enough.
238
311
  If you like my work and want to contribute and become a sponsor, I will be able to focus on my projects.
239
312
 
240
- * [GitHub Sponsors](https://github.com/sponsors/iberianpig) (Zero fee!)
241
- * [Patreon](https://www.patreon.com/iberianpig)
242
-
313
+ - [GitHub Sponsors](https://github.com/sponsors/iberianpig) (Zero fee!)
314
+ - [Patreon](https://www.patreon.com/iberianpig)
243
315
 
244
316
  ## Contributing
245
317
 
246
318
  Bug reports and pull requests are welcome on GitHub at https://github.com/iberianpig/fusuma. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
247
319
 
248
-
249
320
  ## License
250
321
 
251
322
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
252
-