fusuma-plugin-tap 0.3.2 → 0.4.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: 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: []