fusuma-plugin-tap 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fusuma-plugin-tap.gemspec +2 -4
- data/lib/fusuma/plugin/tap/version.rb +1 -1
- data/spec/fusuma/plugin/buffers/tap_buffer_spec.rb +164 -0
- data/spec/fusuma/plugin/detectors/tap_detector_spec.rb +169 -0
- data/spec/fusuma/plugin/parsers/1.10.4/1finger-double-tap.txt +15 -0
- data/spec/fusuma/plugin/parsers/1.10.4/1finger-hold.txt +6 -0
- data/spec/fusuma/plugin/parsers/1.10.4/1finger-tap.txt +8 -0
- data/spec/fusuma/plugin/parsers/1.10.4/2finger-hold-invalid.txt +259 -0
- data/spec/fusuma/plugin/parsers/1.10.4/2finger-hold.txt +116 -0
- data/spec/fusuma/plugin/parsers/1.10.4/2finger-pinch-and-hold-bug.txt +356 -0
- data/spec/fusuma/plugin/parsers/1.10.4/2finger-tap.txt +12 -0
- data/spec/fusuma/plugin/parsers/1.10.4/3finger-hold-invalid.txt +241 -0
- data/spec/fusuma/plugin/parsers/1.10.4/3finger-hold.txt +162 -0
- data/spec/fusuma/plugin/parsers/1.10.4/3finger-tap.txt +32 -0
- data/spec/fusuma/plugin/parsers/1.10.4/4finger-hold-invalid.txt +262 -0
- data/spec/fusuma/plugin/parsers/1.10.4/4finger-hold.txt +686 -0
- data/spec/fusuma/plugin/parsers/1.10.4/4finger-tap-after-palm-detected-bug.txt +27 -0
- data/spec/fusuma/plugin/parsers/1.10.4/4finger-tap.txt +34 -0
- data/spec/fusuma/plugin/parsers/1.14.1/1finger-double-tap.txt +13 -0
- data/spec/fusuma/plugin/parsers/1.14.1/1finger-hold.txt +5 -0
- data/spec/fusuma/plugin/parsers/1.14.1/1finger-tap.txt +7 -0
- data/spec/fusuma/plugin/parsers/1.14.1/2finger-hold-invalid.txt +137 -0
- data/spec/fusuma/plugin/parsers/1.14.1/2finger-hold.txt +10 -0
- data/spec/fusuma/plugin/parsers/1.14.1/2finger-pinch-and-hold-bug.txt +32 -0
- data/spec/fusuma/plugin/parsers/1.14.1/2finger-tap.txt +10 -0
- data/spec/fusuma/plugin/parsers/1.14.1/3finger-hold-invalid.txt +173 -0
- data/spec/fusuma/plugin/parsers/1.14.1/3finger-hold.txt +15 -0
- data/spec/fusuma/plugin/parsers/1.14.1/3finger-tap.txt +16 -0
- data/spec/fusuma/plugin/parsers/1.14.1/4finger-hold-invalid.txt +158 -0
- data/spec/fusuma/plugin/parsers/1.14.1/4finger-hold.txt +9 -0
- data/spec/fusuma/plugin/parsers/1.14.1/4finger-tap-after-palm-detected-bug.txt +20 -0
- data/spec/fusuma/plugin/parsers/1.14.1/4finger-tap.txt +17 -0
- data/spec/fusuma/plugin/parsers/1.15.5/1finger-double-tap.txt +13 -0
- data/spec/fusuma/plugin/parsers/1.15.5/1finger-hold.txt +5 -0
- data/spec/fusuma/plugin/parsers/1.15.5/1finger-tap.txt +7 -0
- data/spec/fusuma/plugin/parsers/1.15.5/2finger-hold-invalid.txt +139 -0
- data/spec/fusuma/plugin/parsers/1.15.5/2finger-hold.txt +10 -0
- data/spec/fusuma/plugin/parsers/1.15.5/2finger-pinch-and-hold-bug.txt +48 -0
- data/spec/fusuma/plugin/parsers/1.15.5/2finger-tap.txt +10 -0
- data/spec/fusuma/plugin/parsers/1.15.5/3finger-hold-invalid.txt +172 -0
- data/spec/fusuma/plugin/parsers/1.15.5/3finger-hold.txt +14 -0
- data/spec/fusuma/plugin/parsers/1.15.5/3finger-tap.txt +15 -0
- data/spec/fusuma/plugin/parsers/1.15.5/4finger-hold-invalid.txt +158 -0
- data/spec/fusuma/plugin/parsers/1.15.5/4finger-hold.txt +15 -0
- data/spec/fusuma/plugin/parsers/1.15.5/4finger-tap-after-palm-detected-bug.txt +20 -0
- data/spec/fusuma/plugin/parsers/1.15.5/4finger-tap.txt +15 -0
- data/spec/fusuma/plugin/parsers/1.16.5/1finger-double-tap.txt +13 -0
- data/spec/fusuma/plugin/parsers/1.16.5/1finger-hold.txt +5 -0
- data/spec/fusuma/plugin/parsers/1.16.5/1finger-tap.txt +7 -0
- data/spec/fusuma/plugin/parsers/1.16.5/2finger-hold-invalid.txt +142 -0
- data/spec/fusuma/plugin/parsers/1.16.5/2finger-hold.txt +10 -0
- data/spec/fusuma/plugin/parsers/1.16.5/2finger-pinch-and-hold-bug.txt +48 -0
- data/spec/fusuma/plugin/parsers/1.16.5/2finger-tap.txt +10 -0
- data/spec/fusuma/plugin/parsers/1.16.5/3finger-hold-invalid.txt +172 -0
- data/spec/fusuma/plugin/parsers/1.16.5/3finger-hold.txt +14 -0
- data/spec/fusuma/plugin/parsers/1.16.5/3finger-tap.txt +15 -0
- data/spec/fusuma/plugin/parsers/1.16.5/4finger-hold-invalid.txt +159 -0
- data/spec/fusuma/plugin/parsers/1.16.5/4finger-hold.txt +15 -0
- data/spec/fusuma/plugin/parsers/1.16.5/4finger-tap-after-palm-detected-bug.txt +20 -0
- data/spec/fusuma/plugin/parsers/1.16.5/4finger-tap.txt +15 -0
- data/spec/fusuma/plugin/parsers/evemu/1finger-double-tap.txt +190 -0
- data/spec/fusuma/plugin/parsers/evemu/1finger-hold.txt +646 -0
- data/spec/fusuma/plugin/parsers/evemu/1finger-tap.txt +156 -0
- data/spec/fusuma/plugin/parsers/evemu/2finger-hold-invalid.txt +1789 -0
- data/spec/fusuma/plugin/parsers/evemu/2finger-hold.txt +426 -0
- data/spec/fusuma/plugin/parsers/evemu/2finger-pinch-and-hold-bug.txt +925 -0
- data/spec/fusuma/plugin/parsers/evemu/2finger-tap.txt +164 -0
- data/spec/fusuma/plugin/parsers/evemu/3finger-hold-invalid.txt +2129 -0
- data/spec/fusuma/plugin/parsers/evemu/3finger-hold.txt +471 -0
- data/spec/fusuma/plugin/parsers/evemu/3finger-tap.txt +169 -0
- data/spec/fusuma/plugin/parsers/evemu/4finger-hold-invalid.txt +2374 -0
- data/spec/fusuma/plugin/parsers/evemu/4finger-hold.txt +575 -0
- data/spec/fusuma/plugin/parsers/evemu/4finger-tap-after-palm-detected-bug.txt +250 -0
- data/spec/fusuma/plugin/parsers/evemu/4finger-tap.txt +206 -0
- data/spec/fusuma/plugin/parsers/tap_parser_spec.rb +200 -0
- data/spec/fusuma/plugin/tap_spec.rb +9 -0
- data/spec/helpers/config_helper.rb +16 -0
- data/spec/spec_helper.rb +18 -0
- metadata +155 -13
- data/.gitignore +0 -15
- data/.rspec +0 -3
- data/.rubocop.yml +0 -31
- data/.rubocop_todo.yml +0 -56
- data/.travis.yml +0 -23
- data/CHANGELOG.md +0 -65
- data/CODE_OF_CONDUCT.md +0 -74
- data/Gemfile +0 -6
- data/Makefile +0 -25
- data/Rakefile +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0b6a2fa331a7031a3329d400dd4721da0232a7676ef857eaa366bc14e996fc9
|
4
|
+
data.tar.gz: fc4aea089191c918a02546398ccf47c4027ea1980282cc269bbdda697968ec12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe19b07b7314b743b9d1da653944886500f869411d46a037417e3b053bedcd93e533be82a79323dd994d5b361e4b425bf12632b59ae521bc1ee98e92c810fc2a
|
7
|
+
data.tar.gz: 3e38a46bf4dba46853af4f716acc459d80daa772914c47ed4148b805cfc07f5c2f7e93f6a02330d0b3c2c41f57e6643cc2e15370afa5172b53a4427d09c52b99
|
data/fusuma-plugin-tap.gemspec
CHANGED
@@ -16,10 +16,8 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.license = 'MIT'
|
17
17
|
|
18
18
|
# Specify which files should be added to the gem when it is released.
|
19
|
-
|
20
|
-
spec.
|
21
|
-
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
22
|
-
end
|
19
|
+
spec.files = Dir['{bin,lib,exe}/**/*', 'LICENSE*', 'README*', '*.gemspec']
|
20
|
+
spec.test_files = Dir['{test,spec,features}/**/*']
|
23
21
|
spec.bindir = 'exe'
|
24
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
25
23
|
spec.require_paths = ['lib']
|
@@ -0,0 +1,164 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
require 'fusuma/plugin/events/records/gesture_record.rb'
|
6
|
+
require 'fusuma/plugin/events/event.rb'
|
7
|
+
require 'fusuma/plugin/buffers/buffer.rb'
|
8
|
+
|
9
|
+
module Fusuma
|
10
|
+
module Plugin
|
11
|
+
module Buffers
|
12
|
+
RSpec.describe TapBuffer do
|
13
|
+
before do
|
14
|
+
@buffer = TapBuffer.new
|
15
|
+
@event_generator = lambda { |time = nil, finger = 1, status = 'begin'|
|
16
|
+
Events::Event.new(time: time,
|
17
|
+
tag: 'libinput_tap_parser',
|
18
|
+
record: Events::Records::GestureRecord.new(
|
19
|
+
status: status,
|
20
|
+
gesture: 'tap',
|
21
|
+
finger: finger,
|
22
|
+
delta: nil
|
23
|
+
))
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '#type' do
|
28
|
+
it { expect(@buffer.type).to eq 'tap' }
|
29
|
+
end
|
30
|
+
|
31
|
+
describe '#buffer' do
|
32
|
+
it 'should buffer gesture event' do
|
33
|
+
event = @event_generator.call(Time.now)
|
34
|
+
@buffer.buffer(event)
|
35
|
+
expect(@buffer.events).to eq [event]
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should NOT buffer other event' do
|
39
|
+
event = Events::Event.new(tag: 'SHOULD NOT BUFFER', record: 'dummy record')
|
40
|
+
@buffer.buffer(event)
|
41
|
+
expect(@buffer.events).to eq []
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe '#clear_expired' do
|
46
|
+
context 'with including end' do
|
47
|
+
it 'should NOT clear any events' do
|
48
|
+
time = Time.now
|
49
|
+
event1 = @event_generator.call(time, 1, 'begin')
|
50
|
+
event2 = @event_generator.call(time + 0.1, 2, 'touch')
|
51
|
+
event3 = @event_generator.call(time + 0.2, 1, 'release')
|
52
|
+
event4 = @event_generator.call(time + 0.2, 1, 'end')
|
53
|
+
@buffer.buffer(event1)
|
54
|
+
@buffer.buffer(event2)
|
55
|
+
@buffer.buffer(event3)
|
56
|
+
@buffer.buffer(event4)
|
57
|
+
|
58
|
+
@buffer.clear_expired(current_time: time + 100)
|
59
|
+
|
60
|
+
expect(@buffer.events).to eq []
|
61
|
+
end
|
62
|
+
end
|
63
|
+
context 'WITHOUT including end' do
|
64
|
+
it 'should NOT clear any events' do
|
65
|
+
time = Time.now
|
66
|
+
event1 = @event_generator.call(time, 1, 'begin')
|
67
|
+
event2 = @event_generator.call(time + 0.1, 2, 'touch')
|
68
|
+
event3 = @event_generator.call(time + 0.2, 1, 'release')
|
69
|
+
@buffer.buffer(event1)
|
70
|
+
@buffer.buffer(event2)
|
71
|
+
@buffer.buffer(event3)
|
72
|
+
|
73
|
+
@buffer.clear_expired(current_time: time + 100)
|
74
|
+
|
75
|
+
expect(@buffer.events).to eq [event1, event2, event3]
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
describe '#bufferable?' do
|
81
|
+
it 'should buffer first begin event' do
|
82
|
+
time = Time.now
|
83
|
+
event1 = @event_generator.call(time, 1, 'begin')
|
84
|
+
expect(@buffer.bufferable?(event1)).to eq true
|
85
|
+
end
|
86
|
+
|
87
|
+
context 'already exists events in buffer' do
|
88
|
+
before do
|
89
|
+
event2 = @event_generator.call(Time.now, 1, 'begin')
|
90
|
+
@buffer.buffer(event2)
|
91
|
+
end
|
92
|
+
it 'should NOT buffer begin event' do
|
93
|
+
event2 = @event_generator.call(Time.now, 1, 'begin')
|
94
|
+
expect(@buffer.bufferable?(event2)).to eq false
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'should buffer touch event' do
|
98
|
+
event2 = @event_generator.call(Time.now, 2, 'touch')
|
99
|
+
expect(@buffer.bufferable?(event2)).to eq true
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'should buffer release event' do
|
103
|
+
event2 = @event_generator.call(Time.now, 1, 'release')
|
104
|
+
expect(@buffer.bufferable?(event2)).to eq true
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'should buffer end event' do
|
108
|
+
event2 = @event_generator.call(Time.now, 1, 'end')
|
109
|
+
expect(@buffer.bufferable?(event2)).to eq true
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
describe '#source' do
|
115
|
+
it { expect(@buffer.source).to eq TapBuffer::DEFAULT_SOURCE }
|
116
|
+
|
117
|
+
context 'with config' do
|
118
|
+
around do |example|
|
119
|
+
@source = 'custom_event'
|
120
|
+
|
121
|
+
ConfigHelper.load_config_yml = <<~CONFIG
|
122
|
+
plugin:
|
123
|
+
buffers:
|
124
|
+
tap_buffer:
|
125
|
+
source: #{@source}
|
126
|
+
CONFIG
|
127
|
+
|
128
|
+
example.run
|
129
|
+
|
130
|
+
Config.custom_path = nil
|
131
|
+
end
|
132
|
+
|
133
|
+
it { expect(@buffer.source).to eq @source }
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
describe '#finger' do
|
138
|
+
it 'should return number of fingers in gestures' do
|
139
|
+
@buffer.buffer(@event_generator.call(Time.now, 1, 'begin'))
|
140
|
+
expect(@buffer.finger).to eq 1
|
141
|
+
@buffer.buffer(@event_generator.call(Time.now, 2, 'touch'))
|
142
|
+
expect(@buffer.finger).to eq 2
|
143
|
+
@buffer.buffer(@event_generator.call(Time.now, 3, 'touch'))
|
144
|
+
expect(@buffer.finger).to eq 3
|
145
|
+
@buffer.buffer(@event_generator.call(Time.now, 3, 'release'))
|
146
|
+
expect(@buffer.finger).to eq 3
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
describe '#empty?' do
|
151
|
+
context 'no gestures in buffer' do
|
152
|
+
before { @buffer.clear }
|
153
|
+
it { expect(@buffer.empty?).to be true }
|
154
|
+
end
|
155
|
+
|
156
|
+
context 'buffered some gestures' do
|
157
|
+
before { @buffer.buffer(@event_generator.call(Time.now, 'begin')) }
|
158
|
+
it { expect(@buffer.empty?).to be false }
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
@@ -0,0 +1,169 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
require 'fusuma/plugin/detectors/detector.rb'
|
6
|
+
require 'fusuma/plugin/buffers/gesture_buffer.rb'
|
7
|
+
require 'fusuma/plugin/events/event.rb'
|
8
|
+
|
9
|
+
module Fusuma
|
10
|
+
module Plugin
|
11
|
+
module Detectors
|
12
|
+
RSpec.describe TapDetector do
|
13
|
+
before do
|
14
|
+
@detector = TapDetector.new
|
15
|
+
@buffer = Buffers::TapBuffer.new
|
16
|
+
@buffers = [@buffer, Buffers::GestureBuffer.new]
|
17
|
+
|
18
|
+
@event_generator = lambda { |time, finger, status|
|
19
|
+
Events::Event.new(
|
20
|
+
time: time,
|
21
|
+
tag: 'libinput_tap_parser',
|
22
|
+
record: Events::Records::GestureRecord.new(
|
23
|
+
finger: finger,
|
24
|
+
gesture: 'tap',
|
25
|
+
status: status,
|
26
|
+
delta: Events::Records::GestureRecord::Delta.new(0, 0, 0, 0)
|
27
|
+
)
|
28
|
+
)
|
29
|
+
}
|
30
|
+
end
|
31
|
+
|
32
|
+
describe '#detect' do
|
33
|
+
context 'with 1 finger tap events in buffer' do
|
34
|
+
before do
|
35
|
+
[
|
36
|
+
@event_generator.call(Time.now, 1, 'begin'),
|
37
|
+
@event_generator.call(Time.now, 1, 'release')
|
38
|
+
].each { |event| @buffer.buffer(event) }
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'should generate tap index' do
|
42
|
+
key_symbol = @detector.detect(@buffers).record.index.keys.map(&:symbol)
|
43
|
+
expect(key_symbol).to eq [:tap, 1]
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context 'with 2 fingers tap events in buffer' do
|
48
|
+
before do
|
49
|
+
[
|
50
|
+
@event_generator.call(Time.now, 1, 'begin'),
|
51
|
+
@event_generator.call(Time.now, 2, 'touch'),
|
52
|
+
@event_generator.call(Time.now, 2, 'release')
|
53
|
+
].each { |event| @buffer.buffer(event) }
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should generate tap index' do
|
57
|
+
key_symbol = @detector.detect(@buffers).record.index.keys.map(&:symbol)
|
58
|
+
expect(key_symbol).to eq [:tap, 2]
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
context 'with 3 fingers tap events in buffer' do
|
63
|
+
before do
|
64
|
+
time = Time.now
|
65
|
+
[
|
66
|
+
@event_generator.call(time, 1, 'begin'),
|
67
|
+
@event_generator.call(time, 2, 'touch'),
|
68
|
+
@event_generator.call(time, 3, 'touch'),
|
69
|
+
@event_generator.call(time, 3, 'release'),
|
70
|
+
@event_generator.call(time + 0.1, 2, 'release')
|
71
|
+
].each { |event| @buffer.buffer(event) }
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'should generate tap index' do
|
75
|
+
key_symbol = @detector.detect(@buffers).record.index.keys.map(&:symbol)
|
76
|
+
expect(key_symbol).to eq [:tap, 3]
|
77
|
+
end
|
78
|
+
end
|
79
|
+
context 'with 4 fingers tap events in buffer' do
|
80
|
+
before do
|
81
|
+
time = Time.now
|
82
|
+
[
|
83
|
+
@event_generator.call(time, 1, 'begin'),
|
84
|
+
@event_generator.call(time, 2, 'touch'),
|
85
|
+
@event_generator.call(time, 3, 'touch'),
|
86
|
+
@event_generator.call(time, 4, 'touch'),
|
87
|
+
@event_generator.call(time + 0.1, 4, 'end')
|
88
|
+
].each { |event| @buffer.buffer(event) }
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'should generate tap index' do
|
92
|
+
key_symbol = @detector.detect(@buffers).record.index.keys.map(&:symbol)
|
93
|
+
expect(key_symbol).to eq [:tap, 4]
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
context 'with 1 finger hold events in buffer' do
|
98
|
+
before do
|
99
|
+
time = Time.now
|
100
|
+
[
|
101
|
+
@event_generator.call(time, 1, 'begin'),
|
102
|
+
@event_generator.call(time + 2, 1, 'hold')
|
103
|
+
].each { |event| @buffer.buffer(event) }
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'should generate tap index' do
|
107
|
+
key_symbol = @detector.detect(@buffers).record.index.keys.map(&:symbol)
|
108
|
+
expect(key_symbol).to eq [:hold, 1]
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
context 'with 2 fingers hold events in buffer' do
|
113
|
+
before do
|
114
|
+
time = Time.now
|
115
|
+
[
|
116
|
+
@event_generator.call(time, 1, 'begin'),
|
117
|
+
@event_generator.call(time, 2, 'touch'),
|
118
|
+
@event_generator.call(time, 2, 'hold'),
|
119
|
+
@event_generator.call(time + 1, 2, 'release')
|
120
|
+
].each { |event| @buffer.buffer(event) }
|
121
|
+
end
|
122
|
+
|
123
|
+
it 'should generate tap index' do
|
124
|
+
key_symbol = @detector.detect(@buffers).record.index.keys.map(&:symbol)
|
125
|
+
expect(key_symbol).to eq [:hold, 2]
|
126
|
+
end
|
127
|
+
end
|
128
|
+
context 'with 3 fingers hold events in buffer' do
|
129
|
+
before do
|
130
|
+
time = Time.now
|
131
|
+
[
|
132
|
+
@event_generator.call(time, 1, 'begin'),
|
133
|
+
@event_generator.call(time, 2, 'touch'),
|
134
|
+
@event_generator.call(time, 3, 'hold'),
|
135
|
+
@event_generator.call(time, 3, 'release'),
|
136
|
+
@event_generator.call(time + 1, 2, 'release')
|
137
|
+
].each { |event| @buffer.buffer(event) }
|
138
|
+
end
|
139
|
+
|
140
|
+
it 'should generate hold index' do
|
141
|
+
key_symbol = @detector.detect(@buffers).record.index.keys.map(&:symbol)
|
142
|
+
expect(key_symbol).to eq [:hold, 3]
|
143
|
+
end
|
144
|
+
end
|
145
|
+
context 'with 4 fingers hold events in buffer' do
|
146
|
+
before do
|
147
|
+
time = Time.now
|
148
|
+
[
|
149
|
+
@event_generator.call(time, 1, 'begin'),
|
150
|
+
@event_generator.call(time, 2, 'touch'),
|
151
|
+
@event_generator.call(time, 3, 'touch'),
|
152
|
+
@event_generator.call(time, 4, 'touch'),
|
153
|
+
@event_generator.call(time, 0, 'keep'),
|
154
|
+
@event_generator.call(time, 0, 'keep'),
|
155
|
+
@event_generator.call(time, 0, 'keep'),
|
156
|
+
@event_generator.call(time + 1, 2, 'release')
|
157
|
+
].each { |event| @buffer.buffer(event) }
|
158
|
+
end
|
159
|
+
|
160
|
+
it 'should generate hold index' do
|
161
|
+
key_symbol = @detector.detect(@buffers).record.index.keys.map(&:symbol)
|
162
|
+
expect(key_symbol).to eq [:hold, 4]
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
event12 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
|
2
|
+
event12 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
|
3
|
+
event12 - tap state: TAP_STATE_IDLE → TAP_EVENT_TOUCH → TAP_STATE_TOUCH
|
4
|
+
event12 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
|
5
|
+
event12 - tap state: TAP_STATE_TOUCH → TAP_EVENT_RELEASE → TAP_STATE_TAPPED
|
6
|
+
event12 POINTER_BUTTON +5.00s BTN_LEFT (272) pressed, seat count: 1
|
7
|
+
event12 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
|
8
|
+
event12 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
|
9
|
+
event12 - tap state: TAP_STATE_TAPPED → TAP_EVENT_TOUCH → TAP_STATE_DRAGGING_OR_DOUBLETAP
|
10
|
+
event12 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
|
11
|
+
event12 - tap state: TAP_STATE_DRAGGING_OR_DOUBLETAP → TAP_EVENT_RELEASE → TAP_STATE_MULTITAP
|
12
|
+
event12 POINTER_BUTTON +5.06s BTN_LEFT (272) released, seat count: 0
|
13
|
+
event12 - tap state: TAP_STATE_MULTITAP → TAP_EVENT_TIMEOUT → TAP_STATE_IDLE
|
14
|
+
event12 POINTER_BUTTON +5.17s BTN_LEFT (272) pressed, seat count: 1
|
15
|
+
event12 POINTER_BUTTON +5.21s BTN_LEFT (272) released, seat count: 0
|
@@ -0,0 +1,6 @@
|
|
1
|
+
event12 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
|
2
|
+
event12 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
|
3
|
+
event12 - tap state: TAP_STATE_IDLE → TAP_EVENT_TOUCH → TAP_STATE_TOUCH
|
4
|
+
event12 - tap state: TAP_STATE_TOUCH → TAP_EVENT_TIMEOUT → TAP_STATE_HOLD
|
5
|
+
event12 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
|
6
|
+
event12 - tap state: TAP_STATE_HOLD → TAP_EVENT_RELEASE → TAP_STATE_IDLE
|
@@ -0,0 +1,8 @@
|
|
1
|
+
event12 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
|
2
|
+
event12 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
|
3
|
+
event12 - tap state: TAP_STATE_IDLE → TAP_EVENT_TOUCH → TAP_STATE_TOUCH
|
4
|
+
event12 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
|
5
|
+
event12 - tap state: TAP_STATE_TOUCH → TAP_EVENT_RELEASE → TAP_STATE_TAPPED
|
6
|
+
event12 POINTER_BUTTON +5.00s BTN_LEFT (272) pressed, seat count: 1
|
7
|
+
event12 - tap state: TAP_STATE_TAPPED → TAP_EVENT_TIMEOUT → TAP_STATE_IDLE
|
8
|
+
event12 POINTER_BUTTON +5.07s BTN_LEFT (272) released, seat count: 0
|
@@ -0,0 +1,259 @@
|
|
1
|
+
event18 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
|
2
|
+
event18 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
|
3
|
+
event18 - tap state: TAP_STATE_IDLE → TAP_EVENT_TOUCH → TAP_STATE_TOUCH
|
4
|
+
event18 - thumb state: THUMB_STATE_MAYBE → THUMB_STATE_NO
|
5
|
+
event18 - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
|
6
|
+
event18 - tap state: TAP_STATE_TOUCH → TAP_EVENT_TOUCH → TAP_STATE_TOUCH_2
|
7
|
+
event18 - tap state: TAP_STATE_TOUCH_2 → TAP_EVENT_TIMEOUT → TAP_STATE_TOUCH_2_HOLD
|
8
|
+
event18 - gesture state: GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN
|
9
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
10
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
11
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
12
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
13
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
14
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
15
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
16
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
17
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
18
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
19
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
20
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
21
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
22
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
23
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
24
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
25
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
26
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
27
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
28
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
29
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_UNKNOWN
|
30
|
+
event18 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_SCROLL
|
31
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
32
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
33
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
34
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
35
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
36
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
37
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
38
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
39
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
40
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
41
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
42
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
43
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
44
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
45
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
46
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
47
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
48
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
49
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
50
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
51
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
52
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
53
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
54
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
55
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
56
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
57
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
58
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
59
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
60
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
61
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
62
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
63
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
64
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
65
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
66
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
67
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
68
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
69
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
70
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
71
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
72
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
73
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
74
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
75
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
76
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
77
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
78
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
79
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
80
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
81
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
82
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
83
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
84
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
85
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
86
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
87
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
88
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
89
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
90
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
91
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
92
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
93
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
94
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
95
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
96
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
97
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
98
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
99
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
100
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
101
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
102
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
103
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
104
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
105
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
106
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
107
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
108
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
109
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
110
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
111
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
112
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
113
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
114
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
115
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
116
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
117
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
118
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
119
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
120
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
121
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
122
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
123
|
+
event18 POINTER_AXIS +6.00s vert -0.61* horiz 0.00 (finger)
|
124
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
125
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
126
|
+
event18 POINTER_AXIS +6.02s vert -0.61* horiz 0.00 (finger)
|
127
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
128
|
+
event18 POINTER_AXIS +6.02s vert -0.61* horiz 0.00 (finger)
|
129
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
130
|
+
event18 POINTER_AXIS +6.03s vert -1.22* horiz 0.61* (finger)
|
131
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
132
|
+
event18 POINTER_AXIS +6.04s vert -1.83* horiz 2.43* (finger)
|
133
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
134
|
+
event18 POINTER_AXIS +6.04s vert -2.43* horiz 3.65* (finger)
|
135
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
136
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
137
|
+
event18 POINTER_AXIS +6.05s vert -3.04* horiz 4.87* (finger)
|
138
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
139
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
140
|
+
event18 POINTER_AXIS +6.06s vert -3.65* horiz 4.87* (finger)
|
141
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
142
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
143
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
144
|
+
event18 POINTER_AXIS +6.07s vert -4.26* horiz 6.09* (finger)
|
145
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
146
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
147
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
148
|
+
event18 POINTER_AXIS +6.07s vert -4.26* horiz 6.69* (finger)
|
149
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
150
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
151
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
152
|
+
event18 POINTER_AXIS +6.08s vert -4.87* horiz 7.30* (finger)
|
153
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
154
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
155
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
156
|
+
event18 POINTER_AXIS +6.09s vert -4.87* horiz 6.09* (finger)
|
157
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
158
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
159
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
160
|
+
event18 POINTER_AXIS +6.09s vert -4.26* horiz 6.69* (finger)
|
161
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
162
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
163
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
164
|
+
event18 POINTER_AXIS +6.10s vert -4.26* horiz 6.09* (finger)
|
165
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
166
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
167
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
168
|
+
event18 POINTER_AXIS +6.11s vert -4.26* horiz 5.48* (finger)
|
169
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
170
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
171
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
172
|
+
event18 POINTER_AXIS +6.12s vert -3.65* horiz 6.09* (finger)
|
173
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
174
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
175
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
176
|
+
event18 POINTER_AXIS +6.12s vert -3.65* horiz 6.09* (finger)
|
177
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
178
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
179
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
180
|
+
event18 POINTER_AXIS +6.13s vert -3.65* horiz 6.69* (finger)
|
181
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
182
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
183
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
184
|
+
event18 POINTER_AXIS +6.14s vert -3.04* horiz 6.69* (finger)
|
185
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
186
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
187
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
188
|
+
event18 POINTER_AXIS +6.14s vert -3.04* horiz 7.30* (finger)
|
189
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
190
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
191
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
192
|
+
event18 POINTER_AXIS +6.15s vert -3.04* horiz 6.69* (finger)
|
193
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
194
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
195
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
196
|
+
event18 POINTER_AXIS +6.16s vert -2.43* horiz 7.30* (finger)
|
197
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
198
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
199
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
200
|
+
event18 POINTER_AXIS +6.17s vert -1.83* horiz 6.69* (finger)
|
201
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
202
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
203
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
204
|
+
event18 POINTER_AXIS +6.17s vert -1.83* horiz 6.69* (finger)
|
205
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
206
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
207
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
208
|
+
event18 POINTER_AXIS +6.18s vert -1.83* horiz 7.30* (finger)
|
209
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
210
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
211
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
212
|
+
event18 POINTER_AXIS +6.19s vert -1.22* horiz 7.30* (finger)
|
213
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
214
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
215
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
216
|
+
event18 POINTER_AXIS +6.20s vert -0.61* horiz 6.09* (finger)
|
217
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
218
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
219
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
220
|
+
event18 POINTER_AXIS +6.20s vert -0.61* horiz 6.09* (finger)
|
221
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
222
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
223
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
224
|
+
event18 POINTER_AXIS +6.21s vert -0.61* horiz 5.48* (finger)
|
225
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
226
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
227
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
228
|
+
event18 POINTER_AXIS +6.22s vert -0.61* horiz 6.09* (finger)
|
229
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
230
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
231
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
232
|
+
event18 POINTER_AXIS +6.22s vert -0.61* horiz 4.87* (finger)
|
233
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
234
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
235
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
236
|
+
event18 POINTER_AXIS +6.23s vert -0.61* horiz 6.09* (finger)
|
237
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
238
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
239
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
240
|
+
event18 POINTER_AXIS +6.24s vert -0.61* horiz 5.48* (finger)
|
241
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
242
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
243
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
244
|
+
event18 POINTER_AXIS +6.25s vert 0.00 horiz 4.87* (finger)
|
245
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
246
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
247
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
248
|
+
event18 POINTER_AXIS +6.25s vert 0.00 horiz 6.09* (finger)
|
249
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
250
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_MOTION → TAP_STATE_TOUCH_2_HOLD
|
251
|
+
event18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
252
|
+
[0;1;39mevent18 - DLL075B:01 06CB:76AF Touchpad: SYN_DROPPED event - some input events have been lost.
|
253
|
+
[0mevent18 - gesture state: GESTURE_STATE_SCROLL → GESTURE_STATE_SCROLL
|
254
|
+
event18 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
|
255
|
+
event18 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE
|
256
|
+
event18 - tap state: TAP_STATE_TOUCH_2_HOLD → TAP_EVENT_RELEASE → TAP_STATE_HOLD
|
257
|
+
event18 - tap state: TAP_STATE_HOLD → TAP_EVENT_RELEASE → TAP_STATE_IDLE
|
258
|
+
event18 POINTER_AXIS +6.26s vert 0.61* horiz 4.87* (finger)
|
259
|
+
event18 POINTER_AXIS +7.77s vert 0.00* horiz 0.00* (finger)
|