fusuma-plugin-keypress 0.1.0 → 0.4.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 +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +4 -0
- data/.travis.yml +10 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile +12 -0
- data/README.md +18 -15
- data/fusuma-plugin-keypress.gemspec +2 -13
- data/lefthook.yml +29 -0
- data/lib/fusuma/plugin/buffers/keypress_buffer.rb +9 -1
- data/lib/fusuma/plugin/detectors/keypress_detector.rb +6 -5
- data/lib/fusuma/plugin/keypress/version.rb +1 -1
- metadata +13 -151
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf01d5bb0635029913f1c7fa172d65f6bd7ebaa184bf2c7bf7a374e6c58edec6
|
4
|
+
data.tar.gz: 6aa537cc3c9717d1ad0f913ada4487f20d44915892b1517c5f1c9aeb61571867
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a2fc9a98ae8f36c88a46dd35caa917a37b6bf059faf9dae7911813dfe837ee55f9e07ffbb5b7ebb2bb656c7c16a1ff3b3cd2743a391d0385c486039508237d5
|
7
|
+
data.tar.gz: 3e52a0c29351c21422e499a3803b32f20416888be23811a606f115cd21e6286e5eb2f7c19bded0fae339d7335e90d72479476495888677430e211485c60ee465
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/.travis.yml
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v0.1.1](https://github.com/iberianpig/fusuma-plugin-keypress/tree/v0.1.1) (2020-02-18)
|
4
|
+
[Full Changelog](https://github.com/iberianpig/fusuma-plugin-keypress/compare/v0.1.0...v0.1.1)
|
5
|
+
|
6
|
+
## [v0.1.0](https://github.com/iberianpig/fusuma-plugin-keypress/tree/v0.1.0) (2019-11-12)
|
3
7
|
|
4
8
|
|
5
9
|
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/Gemfile
CHANGED
@@ -4,3 +4,15 @@ source 'https://rubygems.org'
|
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in fusuma-plugin-keypress.gemspec
|
6
6
|
gemspec
|
7
|
+
|
8
|
+
gem 'bundler'
|
9
|
+
gem 'github_changelog_generator'
|
10
|
+
gem 'lefthook'
|
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'
|
18
|
+
gem 'yard'
|
data/README.md
CHANGED
@@ -1,44 +1,42 @@
|
|
1
1
|
# Fusuma::Plugin::Keypress [](https://badge.fury.io/rb/fusuma-plugin-keypress) [](https://travis-ci.com/iberianpig/fusuma-plugin-keypress)
|
2
2
|
|
3
3
|
|
4
|
-
|
4
|
+
Keyboard + Touchpad combination plugin for [Fusuma](https://github.com/iberianpig/fusuma)
|
5
|
+
|
6
|
+
* Customize gestures with modifier keys
|
7
|
+
* Supports multiple modifier key combinations
|
5
8
|
|
6
9
|
## Installation
|
7
10
|
|
8
11
|
Run the following code in your terminal.
|
9
12
|
|
10
|
-
### Install libinput-tools
|
11
|
-
|
12
|
-
```sh
|
13
|
-
$ sudo apt-get install libinput-tools
|
14
|
-
```
|
15
|
-
|
16
13
|
### Install fusuma-plugin-keypress
|
17
14
|
|
18
|
-
This plugin requires [Fusuma](https://github.com/iberianpig/fusuma#update) version 1.
|
15
|
+
This plugin requires [Fusuma](https://github.com/iberianpig/fusuma#update) version 1.4 or later.
|
19
16
|
|
20
17
|
```sh
|
21
|
-
$ gem install fusuma-plugin-keypress
|
18
|
+
$ sudo gem install fusuma-plugin-keypress
|
22
19
|
```
|
23
20
|
|
24
|
-
### Add show-
|
21
|
+
### Add show-keycodes option
|
25
22
|
|
26
|
-
|
23
|
+
Open `~/.config/fusuma/config.yml` and add the following code at the bottom.
|
27
24
|
|
28
25
|
```yaml
|
29
|
-
plugin:
|
26
|
+
plugin:
|
30
27
|
inputs:
|
31
28
|
libinput_command_input:
|
32
|
-
show-
|
29
|
+
show-keycodes: true
|
33
30
|
```
|
34
31
|
|
35
|
-
**NOTE: fusuma can read your keyboard inputs if show-
|
32
|
+
**NOTE: fusuma can read your keyboard inputs if show-keycodes option is true**
|
36
33
|
|
37
34
|
## Properties
|
38
35
|
|
39
36
|
Add `keypress:` property in `~/.config/fusuma/config.yml`.
|
40
37
|
|
41
38
|
Keys following are available for `keypress`.
|
39
|
+
|
42
40
|
* `CAPSLOCK`
|
43
41
|
* `LEFTALT`
|
44
42
|
* `LEFTCTRL`
|
@@ -70,11 +68,16 @@ swipe:
|
|
70
68
|
command: 'xdotool key --clearmodifiers XF86MonBrightnessDown'
|
71
69
|
LEFTMETA+LEFTALT:
|
72
70
|
command: 'xdotool key --clearmodifiers XF86AudioLowerVolume'
|
71
|
+
|
72
|
+
plugin:
|
73
|
+
inputs:
|
74
|
+
libinput_command_input:
|
75
|
+
show-keycodes: true
|
73
76
|
```
|
74
77
|
|
75
78
|
* Swipe up/down with four fingers while keypress LEFTMETA key to change display brightnes .
|
76
79
|
* Swipe up/down with four fingers while keypress LEFTMETA and LEFTALT keys to change audio volume.
|
77
|
-
- If you want to combine a gesture with two keys, combine modifier keys with `+`
|
80
|
+
- If you want to combine a gesture with two keys, combine modifier keys with `+`
|
78
81
|
|
79
82
|
## Contributing
|
80
83
|
|
@@ -24,17 +24,6 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
25
25
|
spec.require_paths = ['lib']
|
26
26
|
|
27
|
-
spec.required_ruby_version = '>= 2.
|
28
|
-
spec.add_dependency 'fusuma', '~>
|
29
|
-
|
30
|
-
spec.add_development_dependency 'bundler'
|
31
|
-
spec.add_development_dependency 'github_changelog_generator', '~> 1.14'
|
32
|
-
spec.add_development_dependency 'pry-byebug', '~> 3.4'
|
33
|
-
spec.add_development_dependency 'pry-doc'
|
34
|
-
spec.add_development_dependency 'pry-inline'
|
35
|
-
spec.add_development_dependency 'rake', '~> 13.0'
|
36
|
-
spec.add_development_dependency 'reek'
|
37
|
-
spec.add_development_dependency 'rspec', '~> 3.0'
|
38
|
-
spec.add_development_dependency 'rubocop'
|
39
|
-
spec.add_development_dependency 'yard'
|
27
|
+
spec.required_ruby_version = '>= 2.4' # https://packages.ubuntu.com/search?keywords=ruby&searchon=names&exact=1&suite=all§ion=main
|
28
|
+
spec.add_dependency 'fusuma', '~> 2.0.0.pre'
|
40
29
|
end
|
data/lefthook.yml
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# EXAMPLE USAGE
|
2
|
+
# Refer for explanation to following link:
|
3
|
+
# https://github.com/Arkweid/lefthook/blob/master/docs/full_guide.md
|
4
|
+
|
5
|
+
# pre-push:
|
6
|
+
# commands:
|
7
|
+
# packages-audit:
|
8
|
+
# tags: frontend security
|
9
|
+
# run: yarn audit
|
10
|
+
# gems-audit:
|
11
|
+
# tags: backend security
|
12
|
+
# run: bundle audit
|
13
|
+
|
14
|
+
pre-commit:
|
15
|
+
parallel: true
|
16
|
+
commands:
|
17
|
+
# eslint:
|
18
|
+
# glob: "*.{js,ts}"
|
19
|
+
# run: yarn eslint {staged_files}
|
20
|
+
rubocop:
|
21
|
+
tags: backend style
|
22
|
+
glob: "*.rb"
|
23
|
+
# exclude: "application.rb|routes.rb"
|
24
|
+
run: bundle exec rubocop --force-exclusion {staged_files}
|
25
|
+
# scripts:
|
26
|
+
# "hello.js":
|
27
|
+
# runner: node
|
28
|
+
# "any.go":
|
29
|
+
# runner: go run
|
@@ -12,7 +12,15 @@ module Fusuma
|
|
12
12
|
return if event&.tag != source
|
13
13
|
|
14
14
|
@events.push(event)
|
15
|
-
|
15
|
+
end
|
16
|
+
|
17
|
+
def clear_expired(*)
|
18
|
+
return if @events.empty?
|
19
|
+
|
20
|
+
return unless released?
|
21
|
+
|
22
|
+
released_code = @events.last.record.code
|
23
|
+
@events.delete_if { |e| e.record.code == released_code }
|
16
24
|
end
|
17
25
|
|
18
26
|
def empty?
|
@@ -7,7 +7,7 @@ module Fusuma
|
|
7
7
|
class KeypressDetector < Detector
|
8
8
|
BUFFER_TYPE = 'keypress'
|
9
9
|
|
10
|
-
# @param buffers [Array<
|
10
|
+
# @param buffers [Array<Event>]
|
11
11
|
# @return [Event] if event is detected
|
12
12
|
# @return [NilClass] if event is NOT detected
|
13
13
|
def detect(buffers)
|
@@ -15,14 +15,15 @@ module Fusuma
|
|
15
15
|
|
16
16
|
return if buffer.empty?
|
17
17
|
|
18
|
-
records = buffer.events.
|
19
|
-
|
20
|
-
|
18
|
+
records = buffer.events.select do |e|
|
19
|
+
e.record.status == 'pressed'
|
20
|
+
end.map(&:record)
|
21
21
|
|
22
22
|
index_record = Events::Records::IndexRecord.new(
|
23
|
-
index:
|
23
|
+
index: create_index(records: records),
|
24
24
|
position: :surfix
|
25
25
|
)
|
26
|
+
|
26
27
|
create_event(record: index_record)
|
27
28
|
end
|
28
29
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fusuma-plugin-keypress
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- iberianpig
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fusuma
|
@@ -16,154 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.0.0.pre
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: github_changelog_generator
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '1.14'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '1.14'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: pry-byebug
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '3.4'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '3.4'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: pry-doc
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: pry-inline
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rake
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '13.0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '13.0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: reek
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rspec
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '3.0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '3.0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: rubocop
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: yard
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - ">="
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ">="
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
26
|
+
version: 2.0.0.pre
|
167
27
|
description: fusuma-plugin-keypress is Fusuma plugin for keypress combination.
|
168
28
|
email:
|
169
29
|
- yhkyky@gmail.com
|
@@ -173,6 +33,7 @@ extra_rdoc_files: []
|
|
173
33
|
files:
|
174
34
|
- ".gitignore"
|
175
35
|
- ".rubocop.yml"
|
36
|
+
- ".travis.yml"
|
176
37
|
- CHANGELOG.md
|
177
38
|
- CODE_OF_CONDUCT.md
|
178
39
|
- Gemfile
|
@@ -182,6 +43,7 @@ files:
|
|
182
43
|
- bin/console
|
183
44
|
- bin/setup
|
184
45
|
- fusuma-plugin-keypress.gemspec
|
46
|
+
- lefthook.yml
|
185
47
|
- lib/fusuma/plugin/buffers/keypress_buffer.rb
|
186
48
|
- lib/fusuma/plugin/detectors/keypress_detector.rb
|
187
49
|
- lib/fusuma/plugin/events/records/keypress_record.rb
|
@@ -193,7 +55,7 @@ homepage: https://github.com/iberianpig/fusuma-plugin-keypress
|
|
193
55
|
licenses:
|
194
56
|
- MIT
|
195
57
|
metadata: {}
|
196
|
-
post_install_message:
|
58
|
+
post_install_message:
|
197
59
|
rdoc_options: []
|
198
60
|
require_paths:
|
199
61
|
- lib
|
@@ -201,15 +63,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
201
63
|
requirements:
|
202
64
|
- - ">="
|
203
65
|
- !ruby/object:Gem::Version
|
204
|
-
version: '2.
|
66
|
+
version: '2.4'
|
205
67
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
206
68
|
requirements:
|
207
|
-
- - "
|
69
|
+
- - ">"
|
208
70
|
- !ruby/object:Gem::Version
|
209
|
-
version:
|
71
|
+
version: 1.3.1
|
210
72
|
requirements: []
|
211
|
-
rubygems_version: 3.
|
212
|
-
signing_key:
|
73
|
+
rubygems_version: 3.1.4
|
74
|
+
signing_key:
|
213
75
|
specification_version: 4
|
214
76
|
summary: Keypress plugin for Fusuma
|
215
77
|
test_files: []
|