fusuma 1.9.0 → 2.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
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
-