fusuma-plugin-tap 0.2.0 → 0.4.0.pre2
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/.rubocop.yml +5 -0
- data/.rubocop_todo.yml +6 -6
- data/CHANGELOG.md +48 -0
- data/Makefile +15 -4
- data/README.md +5 -0
- data/bin/libinput_debug_events_generator.rb +9 -1
- data/fusuma-plugin-tap.gemspec +1 -1
- data/lib/fusuma/plugin/buffers/tap_buffer.rb +4 -2
- data/lib/fusuma/plugin/detectors/tap_detector.rb +43 -18
- data/lib/fusuma/plugin/parsers/tap_parser.rb +14 -5
- data/lib/fusuma/plugin/tap/version.rb +1 -1
- metadata +10 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c46c3f606aa83757b439afac123cd8efd4a87b3205ccb0364ca565998ee4e6e2
|
|
4
|
+
data.tar.gz: cd0db523002ead56784c44df3b8443d635cb5c8dc4c8aa0a1616994eabf1c44e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 920c2f083dde9a3c67edb42de1295941812e992e0753b05da482169aba8f2596c1a18802c6d67218bb8b5f07c44862a067e9a02945041b6c0c6ee7eaeeae8e80
|
|
7
|
+
data.tar.gz: fb8b27a7ed3853428ecc810c3ffdaf941676a2575eced35d4d264f6191df782cb0f1e7bf770f21d01caaeb92611821e1c825b99dcc96a242866c02ab83fd74ac
|
data/.rubocop.yml
CHANGED
|
@@ -18,6 +18,11 @@ Metrics/MethodLength:
|
|
|
18
18
|
- 'lib/fusuma/plugin/parsers/tap_parser.rb'
|
|
19
19
|
- 'lib/fusuma/plugin/parsers/tap_detector.rb'
|
|
20
20
|
|
|
21
|
+
Metrics/ClassLength:
|
|
22
|
+
Exclude:
|
|
23
|
+
- 'lib/fusuma/plugin/parsers/tap_parser.rb'
|
|
24
|
+
- 'lib/fusuma/plugin/parsers/tap_detector.rb'
|
|
25
|
+
|
|
21
26
|
Layout/LineLength:
|
|
22
27
|
Max: 100
|
|
23
28
|
Exclude:
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on 2020-05
|
|
3
|
+
# on 2020-07-05 15:49:25 UTC using RuboCop version 0.86.0.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
@@ -16,7 +16,7 @@ Gemspec/RequiredRubyVersion:
|
|
|
16
16
|
# Offense count: 5
|
|
17
17
|
# Configuration parameters: IgnoredMethods.
|
|
18
18
|
Metrics/AbcSize:
|
|
19
|
-
Max:
|
|
19
|
+
Max: 42
|
|
20
20
|
|
|
21
21
|
# Offense count: 1
|
|
22
22
|
# Configuration parameters: CountComments, ExcludedMethods.
|
|
@@ -24,20 +24,20 @@ Metrics/AbcSize:
|
|
|
24
24
|
Metrics/BlockLength:
|
|
25
25
|
Max: 33
|
|
26
26
|
|
|
27
|
-
# Offense count:
|
|
27
|
+
# Offense count: 3
|
|
28
28
|
# Configuration parameters: IgnoredMethods.
|
|
29
29
|
Metrics/CyclomaticComplexity:
|
|
30
|
-
Max:
|
|
30
|
+
Max: 25
|
|
31
31
|
|
|
32
32
|
# Offense count: 5
|
|
33
33
|
# Configuration parameters: CountComments, ExcludedMethods.
|
|
34
34
|
Metrics/MethodLength:
|
|
35
35
|
Max: 45
|
|
36
36
|
|
|
37
|
-
# Offense count:
|
|
37
|
+
# Offense count: 2
|
|
38
38
|
# Configuration parameters: IgnoredMethods.
|
|
39
39
|
Metrics/PerceivedComplexity:
|
|
40
|
-
Max:
|
|
40
|
+
Max: 13
|
|
41
41
|
|
|
42
42
|
# Offense count: 1
|
|
43
43
|
Style/Documentation:
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
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
|
+
|
|
7
|
+
## [v0.3.2](https://github.com/iberianpig/fusuma-plugin-tap/tree/v0.3.2) (2020-08-13)
|
|
8
|
+
|
|
9
|
+
[Full Changelog](https://github.com/iberianpig/fusuma-plugin-tap/compare/v0.3.1...v0.3.2)
|
|
10
|
+
|
|
11
|
+
**Fixed bugs:**
|
|
12
|
+
|
|
13
|
+
- Fix Parser when detecting a false 4 finger tap after a pinch gesture [\#5](https://github.com/iberianpig/fusuma-plugin-tap/pull/5) ([iberianpig](https://github.com/iberianpig))
|
|
14
|
+
|
|
15
|
+
**Closed issues:**
|
|
16
|
+
|
|
17
|
+
- tap 4 not registered [\#4](https://github.com/iberianpig/fusuma-plugin-tap/issues/4)
|
|
18
|
+
|
|
19
|
+
**Merged pull requests:**
|
|
20
|
+
|
|
21
|
+
- test\(tap\_parser\): reproduce the bug that 4 finger tap after detecting palm [\#8](https://github.com/iberianpig/fusuma-plugin-tap/pull/8) ([iberianpig](https://github.com/iberianpig))
|
|
22
|
+
|
|
23
|
+
## [v0.3.1](https://github.com/iberianpig/fusuma-plugin-tap/tree/v0.3.1) (2020-05-15)
|
|
24
|
+
|
|
25
|
+
[Full Changelog](https://github.com/iberianpig/fusuma-plugin-tap/compare/v0.3.0...v0.3.1)
|
|
26
|
+
|
|
27
|
+
**Closed issues:**
|
|
28
|
+
|
|
29
|
+
- Reduce false positives with Hold gesture [\#2](https://github.com/iberianpig/fusuma-plugin-tap/issues/2)
|
|
30
|
+
|
|
31
|
+
## [v0.3.0](https://github.com/iberianpig/fusuma-plugin-tap/tree/v0.3.0) (2020-05-10)
|
|
32
|
+
|
|
33
|
+
[Full Changelog](https://github.com/iberianpig/fusuma-plugin-tap/compare/v0.2.0...v0.3.0)
|
|
34
|
+
|
|
35
|
+
**Closed issues:**
|
|
36
|
+
|
|
37
|
+
- 4 finger tap / hold is not being registered [\#1](https://github.com/iberianpig/fusuma-plugin-tap/issues/1)
|
|
38
|
+
|
|
39
|
+
## [v0.2.0](https://github.com/iberianpig/fusuma-plugin-tap/tree/v0.2.0) (2020-05-05)
|
|
40
|
+
|
|
41
|
+
[Full Changelog](https://github.com/iberianpig/fusuma-plugin-tap/compare/v0.1.3...v0.2.0)
|
|
42
|
+
|
|
43
|
+
**Merged pull requests:**
|
|
44
|
+
|
|
45
|
+
- Support libinput v1.15.5 [\#3](https://github.com/iberianpig/fusuma-plugin-tap/pull/3) ([iberianpig](https://github.com/iberianpig))
|
|
46
|
+
|
|
47
|
+
## [v0.1.3](https://github.com/iberianpig/fusuma-plugin-tap/tree/v0.1.3) (2020-04-20)
|
|
48
|
+
|
|
49
|
+
[Full Changelog](https://github.com/iberianpig/fusuma-plugin-tap/compare/v0.1.1...v0.1.3)
|
|
50
|
+
|
|
3
51
|
## [v0.1.1](https://github.com/iberianpig/fusuma-plugin-tap/tree/v0.1.1) (2020-04-19)
|
|
4
52
|
|
|
5
53
|
[Full Changelog](https://github.com/iberianpig/fusuma-plugin-tap/compare/v0.1.0...v0.1.1)
|
data/Makefile
CHANGED
|
@@ -3,11 +3,22 @@
|
|
|
3
3
|
all: help
|
|
4
4
|
|
|
5
5
|
build: ## build libinput with LIBINPUT_VERSION
|
|
6
|
-
cd $(
|
|
6
|
+
cd $(LIBINPUT_REPO) && \
|
|
7
|
+
git fetch && \
|
|
7
8
|
git checkout $(LIBINPUT_VERSION) && \
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
mkdir -p builddir/$(LIBINPUT_VERSION)/ && \
|
|
10
|
+
meson --prefix=/usr builddir/$(LIBINPUT_VERSION)/ -Dlibwacom=false -Ddebug-gui=false -Dtests=false -Ddocumentation=false && \
|
|
11
|
+
ninja -C builddir/$(LIBINPUT_VERSION)/
|
|
12
|
+
$(LIBINPUT_REPO)/builddir/$(LIBINPUT_VERSION)/libinput-list-devices --version
|
|
13
|
+
|
|
14
|
+
version: ## libinput list-devces --version
|
|
15
|
+
$(LIBINPUT_REPO)/builddir/$(LIBINPUT_VERSION)/libinput-list-devices --version
|
|
16
|
+
|
|
17
|
+
list-devices: ## libinput list-devices
|
|
18
|
+
$(LIBINPUT_REPO)/builddir/$(LIBINPUT_VERSION)/libinput-list-devices
|
|
19
|
+
|
|
20
|
+
debug-events: ## libinput debug-events
|
|
21
|
+
$(LIBINPUT_REPO)/builddir/$(LIBINPUT_VERSION)/libinput-debug-events --enable-tap --verbose
|
|
11
22
|
|
|
12
23
|
help: ## show help
|
|
13
24
|
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | uniq | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
data/README.md
CHANGED
|
@@ -62,6 +62,11 @@ plugin:
|
|
|
62
62
|
verbose: true
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
+
## Known issues
|
|
66
|
+
* `libinput debug-events --verbose` outputs is unstable, so it may not work properly with some versions of libinput.
|
|
67
|
+
* **libinput 1.10.4 contains a bug that suddenly stopped detecting taps.**
|
|
68
|
+
* ref: https://github.com/iberianpig/fusuma-plugin-tap/pull/8
|
|
69
|
+
|
|
65
70
|
## Development
|
|
66
71
|
|
|
67
72
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
require 'fileutils'
|
|
5
5
|
require 'pathname'
|
|
6
6
|
require 'fusuma/device'
|
|
7
|
+
require 'fusuma/plugin/inputs/libinput_command_input'
|
|
7
8
|
|
|
8
9
|
# Generate libinput generator
|
|
9
10
|
class LibinputDebugEventsGenerator
|
|
@@ -12,6 +13,7 @@ class LibinputDebugEventsGenerator
|
|
|
12
13
|
@gesture_name = Pathname.new(evemu_record).basename
|
|
13
14
|
@list_devices = ENV.fetch('LIBINPUT_LIST_DEVICES', 'libinput list-devices')
|
|
14
15
|
@debug_events = ENV.fetch('LIBINPUT_DEBUG_EVENTS', 'libinput debug-events')
|
|
16
|
+
@libinput_version = ENV.fetch('LIBINPUT_VERSION', 'libinput list-devices')
|
|
15
17
|
end
|
|
16
18
|
|
|
17
19
|
def generate_debug_events
|
|
@@ -40,6 +42,10 @@ class LibinputDebugEventsGenerator
|
|
|
40
42
|
rescue Timeout::Error
|
|
41
43
|
puts 'cut out device infos'
|
|
42
44
|
end
|
|
45
|
+
if `which evemu-play` == ''
|
|
46
|
+
warn 'evemu-play is not found'
|
|
47
|
+
exit 1
|
|
48
|
+
end
|
|
43
49
|
|
|
44
50
|
command = "evemu-play /dev/input/#{device_id} < #{@evemu_record}"
|
|
45
51
|
|
|
@@ -89,7 +95,9 @@ class LibinputDebugEventsGenerator
|
|
|
89
95
|
end
|
|
90
96
|
|
|
91
97
|
def version
|
|
92
|
-
@
|
|
98
|
+
raise 'Make rebuild libinput' unless @libinput_version == `#{@list_devices} --version`.chomp
|
|
99
|
+
|
|
100
|
+
@libinput_version
|
|
93
101
|
end
|
|
94
102
|
end
|
|
95
103
|
|
data/fusuma-plugin-tap.gemspec
CHANGED
|
@@ -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§ion=main
|
|
28
28
|
|
|
29
|
-
spec.add_dependency 'fusuma', '~>
|
|
29
|
+
spec.add_dependency 'fusuma', '~> 2.0.0.pre2'
|
|
30
30
|
|
|
31
31
|
spec.add_development_dependency 'bundler'
|
|
32
32
|
spec.add_development_dependency 'github_changelog_generator', '~> 1.14'
|
|
@@ -22,7 +22,7 @@ module Fusuma
|
|
|
22
22
|
# @param event [Event]
|
|
23
23
|
# @return [NilClass, TapBuffer]
|
|
24
24
|
def buffer(event)
|
|
25
|
-
return
|
|
25
|
+
return unless event&.tag == source
|
|
26
26
|
|
|
27
27
|
# NOTE: need to set `begin` event at first of buffer
|
|
28
28
|
clear && return unless bufferable?(event)
|
|
@@ -50,12 +50,14 @@ module Fusuma
|
|
|
50
50
|
else
|
|
51
51
|
false
|
|
52
52
|
end
|
|
53
|
-
|
|
53
|
+
when 'keep', 'touch', 'hold', 'release', 'move'
|
|
54
54
|
if empty?
|
|
55
55
|
false
|
|
56
56
|
else
|
|
57
57
|
true
|
|
58
58
|
end
|
|
59
|
+
else
|
|
60
|
+
raise "Unexpected status: #{event.record.status}"
|
|
59
61
|
end
|
|
60
62
|
end
|
|
61
63
|
|
|
@@ -7,34 +7,39 @@ module Fusuma
|
|
|
7
7
|
module Detectors
|
|
8
8
|
# Detect tap event
|
|
9
9
|
class TapDetector < Detector
|
|
10
|
+
SOURCES = ['tap', 'gesture', 'timer']
|
|
10
11
|
BUFFER_TYPE = 'tap'
|
|
11
12
|
GESTURE_RECORD_TYPE = 'tap'
|
|
12
13
|
|
|
13
14
|
BASE_INTERVAL = 0.5
|
|
14
15
|
BASE_HOLDING_TIME = 0.1
|
|
15
|
-
BASE_TAP_TIME =
|
|
16
|
+
BASE_TAP_TIME = 0.4
|
|
16
17
|
|
|
17
18
|
# @param buffers [Array<Buffer>]
|
|
18
19
|
# @return [Event] if event is detected
|
|
19
20
|
# @return [NilClass] if event is NOT detected
|
|
20
21
|
def detect(buffers)
|
|
21
|
-
|
|
22
|
+
tap_buffer = buffers.find { |b| b.type == BUFFER_TYPE }
|
|
23
|
+
gesture_buffer = buffers.find { |b| b.type == 'gesture' }
|
|
24
|
+
timer_buffer = buffers.find { |b| b.type == 'timer' }
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
if tap_buffer.empty? || moved?(tap_buffer: tap_buffer, gesture_buffer: gesture_buffer)
|
|
27
|
+
return
|
|
28
|
+
end
|
|
26
29
|
|
|
27
|
-
holding_time =
|
|
30
|
+
holding_time = calc_holding_time(tap_buffer: tap_buffer, timer_buffer: timer_buffer)
|
|
28
31
|
|
|
29
|
-
direction = if hold?(
|
|
32
|
+
direction = if hold?(tap_buffer, holding_time)
|
|
30
33
|
'hold'
|
|
31
|
-
elsif tap?(
|
|
34
|
+
elsif tap?(tap_buffer, holding_time)
|
|
32
35
|
'tap'
|
|
33
36
|
end
|
|
34
37
|
|
|
35
38
|
return if direction.nil?
|
|
36
39
|
|
|
37
|
-
|
|
40
|
+
finger = tap_buffer.finger
|
|
41
|
+
|
|
42
|
+
tap_buffer.clear # NOTE: Clear after detecting hold
|
|
38
43
|
|
|
39
44
|
index = create_index(finger: finger, direction: direction)
|
|
40
45
|
|
|
@@ -53,21 +58,31 @@ module Fusuma
|
|
|
53
58
|
)
|
|
54
59
|
end
|
|
55
60
|
|
|
61
|
+
# @return [TrueClass, FalseClass]
|
|
56
62
|
def hold?(buffer, holding_time)
|
|
57
|
-
return false if holding_time <
|
|
63
|
+
return false if holding_time < 0.7
|
|
58
64
|
|
|
59
65
|
return true if buffer.finger == 4
|
|
60
66
|
|
|
61
67
|
true if buffer.events.any? { |e| e.record.status == 'hold' }
|
|
62
68
|
end
|
|
63
69
|
|
|
70
|
+
# @return [TrueClass, FalseClass]
|
|
64
71
|
def tap?(buffer, holding_time)
|
|
65
72
|
return false if holding_time > 0.15
|
|
66
73
|
|
|
67
|
-
|
|
74
|
+
released_all?(buffer)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# @return [TrueClass, FalseClass]
|
|
78
|
+
def moved?(tap_buffer:, gesture_buffer:)
|
|
79
|
+
tap_buffer.events.any? { |e| e.record.status == 'move' } ||
|
|
80
|
+
# FIXME: Find good parameter for ignoring
|
|
81
|
+
gesture_buffer.events.count { |e| tap_buffer.events.first.time < e.time } > 5
|
|
68
82
|
end
|
|
69
83
|
|
|
70
|
-
|
|
84
|
+
# @return [TrueClass, FalseClass]
|
|
85
|
+
def released_all?(buffer)
|
|
71
86
|
touch_num = buffer.events.count { |e| (e.record.status =~ /begin|touch/) }
|
|
72
87
|
release_num = buffer.events.count { |e| e.record.status =~ /release|end/ }
|
|
73
88
|
MultiLogger.debug(touch_num: touch_num, release_num: release_num)
|
|
@@ -86,6 +101,16 @@ module Fusuma
|
|
|
86
101
|
end
|
|
87
102
|
end
|
|
88
103
|
|
|
104
|
+
def calc_holding_time(tap_buffer:, timer_buffer:)
|
|
105
|
+
last_time = if timer_buffer && !timer_buffer.empty? &&
|
|
106
|
+
(tap_buffer.events.last.time < timer_buffer.events.last.time)
|
|
107
|
+
timer_buffer.events.last.time
|
|
108
|
+
else
|
|
109
|
+
tap_buffer.events.last.time
|
|
110
|
+
end
|
|
111
|
+
last_time - tap_buffer.events.first.time
|
|
112
|
+
end
|
|
113
|
+
|
|
89
114
|
private
|
|
90
115
|
|
|
91
116
|
def enough?(index:, direction:)
|
|
@@ -102,12 +127,12 @@ module Fusuma
|
|
|
102
127
|
def interval_time(index:, direction:)
|
|
103
128
|
@interval_time ||= {}
|
|
104
129
|
@interval_time[index.cache_key] ||= begin
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
130
|
+
keys_specific = Config::Index.new [*index.keys, 'interval']
|
|
131
|
+
keys_global = Config::Index.new ['interval', direction]
|
|
132
|
+
config_value = Config.search(keys_specific) ||
|
|
133
|
+
Config.search(keys_global) || 1
|
|
134
|
+
BASE_INTERVAL * config_value
|
|
135
|
+
end
|
|
111
136
|
end
|
|
112
137
|
end
|
|
113
138
|
end
|
|
@@ -67,7 +67,11 @@ module Fusuma
|
|
|
67
67
|
|
|
68
68
|
finger = case Regexp.last_match(2)
|
|
69
69
|
when 'TAP_STATE_DEAD'
|
|
70
|
-
|
|
70
|
+
if Regexp.last_match(1) == 'TAP_STATE_TOUCH_3'
|
|
71
|
+
4
|
|
72
|
+
else
|
|
73
|
+
0
|
|
74
|
+
end
|
|
71
75
|
when 'TAP_STATE_TOUCH_3'
|
|
72
76
|
3
|
|
73
77
|
when 'TAP_STATE_TOUCH_2'
|
|
@@ -94,11 +98,16 @@ module Fusuma
|
|
|
94
98
|
1
|
|
95
99
|
end
|
|
96
100
|
# KEEP
|
|
97
|
-
when /\sgesture(| state):\s
|
|
101
|
+
when /\sgesture(| state):\s/ # 1.10.4 prints "gesture state: GESTURE_STATE_.*"
|
|
98
102
|
# NOTE: treat the "gesture(| state):" as KEEP
|
|
99
103
|
status = 'keep'
|
|
100
104
|
finger = 0
|
|
101
105
|
|
|
106
|
+
# MOVE
|
|
107
|
+
when /\sPOINTER_AXIS\s/, /\sPOINTER_MOTION\s/, /\sTAP_EVENT_PALM\s/
|
|
108
|
+
status = 'move'
|
|
109
|
+
finger = 0
|
|
110
|
+
|
|
102
111
|
# RELEASE
|
|
103
112
|
when /\stap(?:| state):\s.*(#{(STATE[:touches] | STATE[:holds]).join('|')}) → TAP_EVENT_RELEASE → (#{STATE[:releases].join('|')})/
|
|
104
113
|
|
|
@@ -122,8 +131,8 @@ module Fusuma
|
|
|
122
131
|
|
|
123
132
|
matched = Regexp.last_match
|
|
124
133
|
finger = case matched[1]
|
|
125
|
-
when 'TAP_STATE_DEAD'
|
|
126
|
-
|
|
134
|
+
when 'TAP_STATE_DEAD' # NOTE: 2 finger hold -> scroll become TAP_STATE_DEAD
|
|
135
|
+
0
|
|
127
136
|
when 'TAP_STATE_TOUCH_3', 'TAP_STATE_TOUCH_3_HOLD'
|
|
128
137
|
3
|
|
129
138
|
when 'TAP_STATE_TOUCH_2', 'TAP_STATE_TOUCH_2_HOLD', 'TAP_STATE_TOUCH_2_RELEASE'
|
|
@@ -138,7 +147,7 @@ module Fusuma
|
|
|
138
147
|
Events::Records::GestureRecord.new(status: status,
|
|
139
148
|
gesture: gesture,
|
|
140
149
|
finger: finger,
|
|
141
|
-
|
|
150
|
+
delta: nil)
|
|
142
151
|
end
|
|
143
152
|
|
|
144
153
|
def tag
|
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.
|
|
4
|
+
version: 0.4.0.pre2
|
|
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: 2021-03-29 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:
|
|
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:
|
|
26
|
+
version: 2.0.0.pre2
|
|
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:
|
|
185
|
+
version: 1.3.1
|
|
186
186
|
requirements: []
|
|
187
|
-
rubygems_version: 3.
|
|
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: []
|