fusuma-plugin-tap 0.3.2 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5831e58a7d0a238e4c39c5cb8ebf59817f117a98ec3133dc3bf2977548d2f39d
4
- data.tar.gz: e7b40ec4d65ec04e4d6520c04716f13cfa7a21c87a05759250eeabe9f7a6f2e6
3
+ metadata.gz: 17a8597b18f259832d7d6d0dce336d6d9435d000a1adc6656a1dc67b53d3037e
4
+ data.tar.gz: 5f909eb2fe3be8766cef41235c80710880a51ebde67c0e91e76affe12b000722
5
5
  SHA512:
6
- metadata.gz: ea15af733e2ba297f3fac04e273a8534cc67996465e93758646a0e2c65a0bae77ed1b84622dc821918868b260a37d38a78c1f0d047969478080fa82c81916ae9
7
- data.tar.gz: 8a70912f3db0c623aad8acb0201d6804fb26dfdfd8c36e6d339870d2689c7c5d4e4b02e3b3869ffccb438e192d16f9207c1bb409cd70a42911c175d4aa1b7aae
6
+ metadata.gz: fe0c32c71db497489620a5ceefbb4ac172c8d7003fe957432f3a779e27ed7ecbe5f4c96c3f23a38f67bc557421d250e0582a729eef31cb00f2b248606826d4f5
7
+ data.tar.gz: 5f8b2730af48d13f85f4bdf42073669f7d8aea9eb0d2a70f4c521327b2aa1506714c50d80c21fbd3e516ced76cf72015976593a6859b602c71ed38b6df6c534a
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## [v0.4.0.pre](https://github.com/iberianpig/fusuma-plugin-tap/tree/v0.4.0.pre) (2020-11-09)
4
+
5
+ [Full Changelog](https://github.com/iberianpig/fusuma-plugin-tap/compare/v0.3.2...v0.4.0.pre)
6
+
3
7
  ## [v0.3.2](https://github.com/iberianpig/fusuma-plugin-tap/tree/v0.3.2) (2020-08-13)
4
8
 
5
9
  [Full Changelog](https://github.com/iberianpig/fusuma-plugin-tap/compare/v0.3.1...v0.3.2)
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.required_ruby_version = '>= 2.3' # https://packages.ubuntu.com/search?keywords=ruby&searchon=names&exact=1&suite=all&section=main
28
28
 
29
- spec.add_dependency 'fusuma', '~> 1.10'
29
+ spec.add_dependency 'fusuma', '~> 2.0.0.pre'
30
30
 
31
31
  spec.add_development_dependency 'bundler'
32
32
  spec.add_development_dependency 'github_changelog_generator', '~> 1.14'
@@ -18,24 +18,27 @@ module Fusuma
18
18
  # @return [Event] if event is detected
19
19
  # @return [NilClass] if event is NOT detected
20
20
  def detect(buffers)
21
- buffer = buffers.find { |b| b.type == BUFFER_TYPE }
21
+ tap_buffer = buffers.find { |b| b.type == BUFFER_TYPE }
22
22
  gesture_buffer = buffers.find { |b| b.type == 'gesture' }
23
+ timer_buffer = buffers.find { |b| b.type == 'timer' }
23
24
 
24
- return if buffer.empty? || moved?(tap_buffer: buffer, gesture_buffer: gesture_buffer)
25
+ if tap_buffer.empty? || moved?(tap_buffer: tap_buffer, gesture_buffer: gesture_buffer)
26
+ return
27
+ end
25
28
 
26
- holding_time = buffer.events.last.time - buffer.events.first.time
29
+ holding_time = calc_holding_time(tap_buffer: tap_buffer, timer_buffer: timer_buffer)
27
30
 
28
- direction = if hold?(buffer, holding_time)
31
+ direction = if hold?(tap_buffer, holding_time)
29
32
  'hold'
30
- elsif tap?(buffer, holding_time)
33
+ elsif tap?(tap_buffer, holding_time)
31
34
  'tap'
32
35
  end
33
36
 
34
37
  return if direction.nil?
35
38
 
36
- finger = buffer.finger
39
+ finger = tap_buffer.finger
37
40
 
38
- buffer.clear
41
+ tap_buffer.clear # NOTE: Clear after detecting hold
39
42
 
40
43
  index = create_index(finger: finger, direction: direction)
41
44
 
@@ -97,6 +100,16 @@ module Fusuma
97
100
  end
98
101
  end
99
102
 
103
+ def calc_holding_time(tap_buffer:, timer_buffer:)
104
+ last_time = if timer_buffer && !timer_buffer.empty? &&
105
+ (tap_buffer.events.last.time < timer_buffer.events.last.time)
106
+ timer_buffer.events.last.time
107
+ else
108
+ tap_buffer.events.last.time
109
+ end
110
+ last_time - tap_buffer.events.first.time
111
+ end
112
+
100
113
  private
101
114
 
102
115
  def enough?(index:, direction:)
@@ -98,8 +98,7 @@ module Fusuma
98
98
  1
99
99
  end
100
100
  # KEEP
101
- when 'LIBINPUT TIMEOUT', # Timeout Event
102
- /\sgesture(| state):\s/ # 1.10.4 prints "gesture state: GESTURE_STATE_.*"
101
+ when /\sgesture(| state):\s/ # 1.10.4 prints "gesture state: GESTURE_STATE_.*"
103
102
  # NOTE: treat the "gesture(| state):" as KEEP
104
103
  status = 'keep'
105
104
  finger = 0
@@ -3,7 +3,7 @@
3
3
  module Fusuma
4
4
  module Plugin
5
5
  module Tap
6
- VERSION = '0.3.2'
6
+ VERSION = '0.4.0.pre'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fusuma-plugin-tap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
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: 2020-08-13 00:00:00.000000000 Z
11
+ date: 2020-11-09 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: '1.10'
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: '1.10'
26
+ version: 2.0.0.pre
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -169,7 +169,7 @@ homepage: https://github.com/iberianpig/fusuma-plugin-tap
169
169
  licenses:
170
170
  - MIT
171
171
  metadata: {}
172
- post_install_message:
172
+ post_install_message:
173
173
  rdoc_options: []
174
174
  require_paths:
175
175
  - lib
@@ -180,12 +180,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
180
180
  version: '2.3'
181
181
  required_rubygems_version: !ruby/object:Gem::Requirement
182
182
  requirements:
183
- - - ">="
183
+ - - ">"
184
184
  - !ruby/object:Gem::Version
185
- version: '0'
185
+ version: 1.3.1
186
186
  requirements: []
187
- rubygems_version: 3.0.6
188
- signing_key:
187
+ rubygems_version: 3.1.4
188
+ signing_key:
189
189
  specification_version: 4
190
190
  summary: Tap gesture plugin for Fusuma
191
191
  test_files: []