fusuma-plugin-keypress 0.4.0.pre → 0.4.0.pre2

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: bf01d5bb0635029913f1c7fa172d65f6bd7ebaa184bf2c7bf7a374e6c58edec6
4
- data.tar.gz: 6aa537cc3c9717d1ad0f913ada4487f20d44915892b1517c5f1c9aeb61571867
3
+ metadata.gz: 6e19797193a2845f13a7d0dc0bc5715cc0e71b4b31145624cbf1c105b6b6f835
4
+ data.tar.gz: 688e9f8d56606d1bcdbf687d21ec7c92258d9787a1ca739e435ec2846963d5d2
5
5
  SHA512:
6
- metadata.gz: 1a2fc9a98ae8f36c88a46dd35caa917a37b6bf059faf9dae7911813dfe837ee55f9e07ffbb5b7ebb2bb656c7c16a1ff3b3cd2743a391d0385c486039508237d5
7
- data.tar.gz: 3e52a0c29351c21422e499a3803b32f20416888be23811a606f115cd21e6286e5eb2f7c19bded0fae339d7335e90d72479476495888677430e211485c60ee465
6
+ metadata.gz: a8775fac9db8bc5bf876826014b914cfb5e22b35e4d9a8a190aeb596b21beb8093e4e8c0c44b8fa6269eaffcfbe8275f24071bfc09282f3e451eb9ed8131d5c0
7
+ data.tar.gz: 8fd0a06993e60e0e215862d945e5ed4633a325b38956c9fcdc830e5d320112b19a443527b75b903a5565650e708b9c6777def3cd42fb027be474ee91e3bb2e2e
data/CHANGELOG.md CHANGED
@@ -1,9 +1,37 @@
1
- # Change Log
1
+ # Changelog
2
+
3
+ ## [v0.4.0.pre](https://github.com/iberianpig/fusuma-plugin-keypress/tree/v0.4.0.pre) (2020-11-09)
4
+
5
+ [Full Changelog](https://github.com/iberianpig/fusuma-plugin-keypress/compare/v0.3.0...v0.4.0.pre)
6
+
7
+ ## [v0.3.0](https://github.com/iberianpig/fusuma-plugin-keypress/tree/v0.3.0) (2020-11-09)
8
+
9
+ [Full Changelog](https://github.com/iberianpig/fusuma-plugin-keypress/compare/v0.2.1...v0.3.0)
10
+
11
+ ## [v0.2.1](https://github.com/iberianpig/fusuma-plugin-keypress/tree/v0.2.1) (2020-04-15)
12
+
13
+ [Full Changelog](https://github.com/iberianpig/fusuma-plugin-keypress/compare/v0.2.0...v0.2.1)
14
+
15
+ **Closed issues:**
16
+
17
+ - Only 'LEFTMETA' keycode works on KDE Plasma [\#2](https://github.com/iberianpig/fusuma-plugin-keypress/issues/2)
18
+
19
+ ## [v0.2.0](https://github.com/iberianpig/fusuma-plugin-keypress/tree/v0.2.0) (2020-03-18)
20
+
21
+ [Full Changelog](https://github.com/iberianpig/fusuma-plugin-keypress/compare/v0.1.1...v0.2.0)
22
+
23
+ **Closed issues:**
24
+
25
+ - Trigger a command multiple times while keeping the key pressed [\#1](https://github.com/iberianpig/fusuma-plugin-keypress/issues/1)
2
26
 
3
27
  ## [v0.1.1](https://github.com/iberianpig/fusuma-plugin-keypress/tree/v0.1.1) (2020-02-18)
28
+
4
29
  [Full Changelog](https://github.com/iberianpig/fusuma-plugin-keypress/compare/v0.1.0...v0.1.1)
5
30
 
6
31
  ## [v0.1.0](https://github.com/iberianpig/fusuma-plugin-keypress/tree/v0.1.0) (2019-11-12)
7
32
 
33
+ [Full Changelog](https://github.com/iberianpig/fusuma-plugin-keypress/compare/fb8d8ccfc3828e487607706335f670ae5392f08d...v0.1.0)
34
+
35
+
8
36
 
9
- \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
37
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/README.md CHANGED
@@ -45,6 +45,7 @@ Keys following are available for `keypress`.
45
45
  * `RIGHTALT`
46
46
  * `RIGHTCTRL`
47
47
  * `RIGHTSHIFT`
48
+ * `RIGHTMETA`
48
49
 
49
50
  ## Example
50
51
 
@@ -25,5 +25,5 @@ Gem::Specification.new do |spec|
25
25
  spec.require_paths = ['lib']
26
26
 
27
27
  spec.required_ruby_version = '>= 2.4' # https://packages.ubuntu.com/search?keywords=ruby&searchon=names&exact=1&suite=all&section=main
28
- spec.add_dependency 'fusuma', '~> 2.0.0.pre'
28
+ spec.add_dependency 'fusuma', '~> 2.0.0.pre2'
29
29
  end
@@ -5,8 +5,14 @@ module Fusuma
5
5
  module Detectors
6
6
  # Detect KeypressEvent from KeypressBuffer
7
7
  class KeypressDetector < Detector
8
+ SOURCES = ['keypress'].freeze
8
9
  BUFFER_TYPE = 'keypress'
9
10
 
11
+ # Always watch buffers and detect them.
12
+ def watch?
13
+ true
14
+ end
15
+
10
16
  # @param buffers [Array<Event>]
11
17
  # @return [Event] if event is detected
12
18
  # @return [NilClass] if event is NOT detected
@@ -15,9 +21,7 @@ module Fusuma
15
21
 
16
22
  return if buffer.empty?
17
23
 
18
- records = buffer.events.select do |e|
19
- e.record.status == 'pressed'
20
- end.map(&:record)
24
+ records = buffer.events.select { |e| e.record.status == 'pressed' }.map(&:record)
21
25
 
22
26
  index_record = Events::Records::IndexRecord.new(
23
27
  index: create_index(records: records),
@@ -3,8 +3,8 @@
3
3
  # fusuma will `require fusuma-plugin-xxxx/plugin/xxxx.rb`
4
4
 
5
5
  require_relative './keypress/version'
6
- require_relative './events/records/keypress_record.rb'
7
- require_relative './filters/keypress_filter.rb'
8
- require_relative './parsers/keypress_parser.rb'
9
- require_relative './buffers/keypress_buffer.rb'
10
- require_relative './detectors/keypress_detector.rb'
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'
@@ -3,7 +3,7 @@
3
3
  module Fusuma
4
4
  module Plugin
5
5
  module Keypress
6
- VERSION = '0.4.0.pre'
6
+ VERSION = '0.4.0.pre2'
7
7
  end
8
8
  end
9
9
  end
@@ -7,6 +7,18 @@ module Fusuma
7
7
  class KeypressParser < Parser
8
8
  DEFAULT_SOURCE = 'libinput_command_input'
9
9
 
10
+ AVAILABLE_KEYS = %w[
11
+ CAPSLOCK
12
+ LEFTALT
13
+ LEFTCTRL
14
+ LEFTMETA
15
+ LEFTSHIFT
16
+ RIGHTALT
17
+ RIGHTCTRL
18
+ RIGHTSHIFT
19
+ RIGHTMETA
20
+ ].freeze
21
+
10
22
  # @param record [String]
11
23
  # @return [Records::Gesture, nil]
12
24
  def parse_record(record)
@@ -27,6 +39,8 @@ module Fusuma
27
39
  code = matched[2] # LEFTSHIFT
28
40
  status = matched[3] # pressed
29
41
 
42
+ return unless AVAILABLE_KEYS.include?(code)
43
+
30
44
  Events::Records::KeypressRecord.new(status: status, code: code)
31
45
  end
32
46
  end
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.0.pre
4
+ version: 0.4.0.pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - iberianpig
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-09 00:00:00.000000000 Z
11
+ date: 2021-04-01 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.0.pre
19
+ version: 2.0.0.pre2
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.0.pre
26
+ version: 2.0.0.pre2
27
27
  description: fusuma-plugin-keypress is Fusuma plugin for keypress combination.
28
28
  email:
29
29
  - yhkyky@gmail.com