fusuma-plugin-keypress 0.8.0 → 0.11.0

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: dd49bdce1d44e7fcfed983d3888625bc80e1b383c6d11eac2b7d834913150bd7
4
- data.tar.gz: 7caeb1d2569e2f9e6dbf65b45a67abdb656387b415bfe7ada2c0195f24a11223
3
+ metadata.gz: 35ab807f66632c961b252e90d2a9a62bb1ede4446da747eb508a49b720e90bf4
4
+ data.tar.gz: f9265defce2e65bbb8d1f9e48b84a62864edbdd9fa87b2f39ed0818a2ca85037
5
5
  SHA512:
6
- metadata.gz: a17e0f4a0bc4fdb520ec775ca9d8cc9ce776b3fb2f54e4c56eaa99effafd1164c8986e6f9f03974262660a5639bc7fc573beb0de74bd78cdba07772a1c2c7882
7
- data.tar.gz: 9285228a3a85fd6c4bfd5b9f9b732b537d14ab4f89a15d65cb03ae64672fc61da21b6720807e2072b2378f0e811f7e34b8cf68fb9bc54a48db9d422e60b43202
6
+ metadata.gz: 0e4727296863b43a122ea846d464080862af1ad7efb51947c00bde0b6ef037222d8ecef33771c5ab709a2b9b1fcd3216f3b05285970471d43f60be65f01b7cde
7
+ data.tar.gz: 5f41716f81deac86db9a1038462239ddce120c4d0c6e74bb2c71f11c90d0453461142371b955f383bf341c67c0aede68d79d51fa59aa440879f8c8ff23f3631f
data/README.md CHANGED
@@ -6,6 +6,8 @@ Keyboard + Touchpad combination plugin for [Fusuma](https://github.com/iberianpi
6
6
  * Customize gestures with modifier keys
7
7
  * Supports multiple modifier key combinations
8
8
 
9
+ NOTE: **Note: This plugin reads key input from keyboard to identify pressed key and assign it to an action.**
10
+
9
11
  ## Installation
10
12
 
11
13
  Run the following code in your terminal.
@@ -18,19 +20,6 @@ This plugin requires [Fusuma](https://github.com/iberianpig/fusuma#update) versi
18
20
  $ sudo gem install fusuma-plugin-keypress
19
21
  ```
20
22
 
21
- ### Add show-keycodes option
22
-
23
- Open `~/.config/fusuma/config.yml` and add the following code at the bottom.
24
-
25
- ```yaml
26
- plugin:
27
- inputs:
28
- libinput_command_input:
29
- show-keycodes: true
30
- ```
31
-
32
- **NOTE: fusuma can read your keyboard inputs if show-keycodes option is true**
33
-
34
23
  ## Properties
35
24
 
36
25
  ### Keypress
@@ -70,11 +59,6 @@ swipe:
70
59
  command: 'xdotool key --clearmodifiers XF86MonBrightnessDown'
71
60
  LEFTMETA+LEFTALT:
72
61
  command: 'xdotool key --clearmodifiers XF86AudioLowerVolume'
73
-
74
- plugin:
75
- inputs:
76
- libinput_command_input:
77
- show-keycodes: true
78
62
  ```
79
63
 
80
64
  * Swipe up/down with four fingers while keypress LEFTMETA key to change display brightness.
@@ -21,9 +21,10 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.required_ruby_version = ">= 2.5.1" # https://packages.ubuntu.com/search?keywords=ruby&searchon=names&exact=1&suite=all&section=main
25
- # support bionic (18.04LTS) 2.5.1
26
- spec.add_dependency "fusuma", ">= 2.0"
24
+ spec.required_ruby_version = ">= 2.7"
25
+ # https://packages.ubuntu.com/search?keywords=ruby&searchon=names&exact=1&suite=all&section=main
26
+ # support focal (20.04LTS) 2.7
27
+ spec.add_dependency "fusuma", ">= 3.1"
27
28
  spec.metadata = {
28
29
  "rubygems_mfa_required" => "true"
29
30
  }
@@ -70,8 +70,8 @@ module Fusuma
70
70
  def create_index(codes:)
71
71
  Config::Index.new(
72
72
  [
73
- Config::Index::Key.new("keypress", skippable: true),
74
- Config::Index::Key.new(codes.join("+"), skippable: true)
73
+ Config::Index::Key.new("keypress", skippable: false),
74
+ Config::Index::Key.new(codes.join("+"), skippable: false)
75
75
  ]
76
76
  )
77
77
  end
@@ -6,21 +6,23 @@ module Fusuma
6
6
  module Records
7
7
  # Record for Keypress event
8
8
  class KeypressRecord < Record
9
- attr_reader :status, :code
9
+ attr_reader :status, :code, :layer
10
10
 
11
11
  # @example
12
- # KeypressRecord.new(status: 'pressed', code: 'LEFTSHIFT')
12
+ # KeypressRecord.new(status: 'pressed', code: 'LEFTSHIFT', layer: 'thumbsense')
13
13
  #
14
- # @param status [String]
14
+ # @param status [String] 'pressed' or 'released'
15
15
  # @param code [String]
16
- def initialize(status:, code:)
16
+ # @param layer [Hash] this field will be used from other plugin.
17
+ def initialize(status:, code:, layer: nil)
17
18
  super()
18
19
  @status = status
19
20
  @code = code
21
+ @layer = layer
20
22
  end
21
23
 
22
24
  def to_s
23
- "#{status} #{code}"
25
+ "#{status} #{code} #{layer}"
24
26
  end
25
27
  end
26
28
  end
@@ -0,0 +1,7 @@
1
+ plugin:
2
+ inputs:
3
+ libinput_command_input:
4
+ show-keycodes: true
5
+ filters:
6
+ keypress_filter:
7
+ keep_device_names:
@@ -3,7 +3,7 @@
3
3
  module Fusuma
4
4
  module Plugin
5
5
  module Keypress
6
- VERSION = "0.8.0"
6
+ VERSION = "0.11.0"
7
7
  end
8
8
  end
9
9
  end
@@ -2,9 +2,9 @@
2
2
 
3
3
  # fusuma will `require fusuma-plugin-xxxx/plugin/xxxx.rb`
4
4
 
5
- require_relative "./keypress/version"
6
- require_relative "./events/records/keypress_record"
7
- require_relative "./filters/keypress_filter"
8
- require_relative "./parsers/keypress_parser"
9
- require_relative "./buffers/keypress_buffer"
10
- require_relative "./detectors/keypress_detector"
5
+ require_relative "keypress/version"
6
+ require_relative "events/records/keypress_record"
7
+ require_relative "filters/keypress_filter"
8
+ require_relative "parsers/keypress_parser"
9
+ require_relative "buffers/keypress_buffer"
10
+ require_relative "detectors/keypress_detector"
@@ -19,9 +19,10 @@ module Fusuma
19
19
  # event4 KEYBOARD_KEY +7.52s KEY_CAPSLOCK (58) released
20
20
  # event4 KEYBOARD_KEY +8.98s KEY_LEFTCTRL (29) pressed
21
21
  # event4 KEYBOARD_KEY +9.14s KEY_LEFTCTRL (29) released
22
+ # event4 KEYBOARD_KEY +29.581s KEY_2 (3) released
22
23
 
23
24
  case line
24
- when /KEYBOARD_KEY.+(\d+\.\d+)s.*KEY_([A-Z]+).*(pressed|released)/
25
+ when /KEYBOARD_KEY.+(\d+\.\d+)s.*KEY_([[:alnum:]_]+)\s.*(pressed|released)/
25
26
  matched = Regexp.last_match
26
27
  # time = matched[1] # 4.81
27
28
  code = matched[2] # LEFTSHIFT
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.8.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - iberianpig
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-19 00:00:00.000000000 Z
11
+ date: 2024-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fusuma
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: '3.1'
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: '2.0'
26
+ version: '3.1'
27
27
  description: fusuma-plugin-keypress is Fusuma plugin for keypress combination.
28
28
  email:
29
29
  - yhkyky@gmail.com
@@ -40,6 +40,7 @@ files:
40
40
  - lib/fusuma/plugin/detectors/keypress_detector.rb
41
41
  - lib/fusuma/plugin/events/records/keypress_record.rb
42
42
  - lib/fusuma/plugin/filters/keypress_filter.rb
43
+ - lib/fusuma/plugin/filters/keypress_filter.yml
43
44
  - lib/fusuma/plugin/keypress.rb
44
45
  - lib/fusuma/plugin/keypress/version.rb
45
46
  - lib/fusuma/plugin/parsers/keypress_parser.rb
@@ -56,14 +57,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
56
57
  requirements:
57
58
  - - ">="
58
59
  - !ruby/object:Gem::Version
59
- version: 2.5.1
60
+ version: '2.7'
60
61
  required_rubygems_version: !ruby/object:Gem::Requirement
61
62
  requirements:
62
63
  - - ">="
63
64
  - !ruby/object:Gem::Version
64
65
  version: '0'
65
66
  requirements: []
66
- rubygems_version: 3.3.26
67
+ rubygems_version: 3.4.19
67
68
  signing_key:
68
69
  specification_version: 4
69
70
  summary: Keypress plugin for Fusuma