fusuma-plugin-tap 0.4.0 → 0.4.1

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.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/fusuma-plugin-tap.gemspec +2 -4
  3. data/lib/fusuma/plugin/tap/version.rb +1 -1
  4. data/spec/fusuma/plugin/buffers/tap_buffer_spec.rb +164 -0
  5. data/spec/fusuma/plugin/detectors/tap_detector_spec.rb +169 -0
  6. data/spec/fusuma/plugin/parsers/1.10.4/1finger-double-tap.txt +15 -0
  7. data/spec/fusuma/plugin/parsers/1.10.4/1finger-hold.txt +6 -0
  8. data/spec/fusuma/plugin/parsers/1.10.4/1finger-tap.txt +8 -0
  9. data/spec/fusuma/plugin/parsers/1.10.4/2finger-hold-invalid.txt +259 -0
  10. data/spec/fusuma/plugin/parsers/1.10.4/2finger-hold.txt +116 -0
  11. data/spec/fusuma/plugin/parsers/1.10.4/2finger-pinch-and-hold-bug.txt +356 -0
  12. data/spec/fusuma/plugin/parsers/1.10.4/2finger-tap.txt +12 -0
  13. data/spec/fusuma/plugin/parsers/1.10.4/3finger-hold-invalid.txt +241 -0
  14. data/spec/fusuma/plugin/parsers/1.10.4/3finger-hold.txt +162 -0
  15. data/spec/fusuma/plugin/parsers/1.10.4/3finger-tap.txt +32 -0
  16. data/spec/fusuma/plugin/parsers/1.10.4/4finger-hold-invalid.txt +262 -0
  17. data/spec/fusuma/plugin/parsers/1.10.4/4finger-hold.txt +686 -0
  18. data/spec/fusuma/plugin/parsers/1.10.4/4finger-tap-after-palm-detected-bug.txt +27 -0
  19. data/spec/fusuma/plugin/parsers/1.10.4/4finger-tap.txt +34 -0
  20. data/spec/fusuma/plugin/parsers/1.14.1/1finger-double-tap.txt +13 -0
  21. data/spec/fusuma/plugin/parsers/1.14.1/1finger-hold.txt +5 -0
  22. data/spec/fusuma/plugin/parsers/1.14.1/1finger-tap.txt +7 -0
  23. data/spec/fusuma/plugin/parsers/1.14.1/2finger-hold-invalid.txt +137 -0
  24. data/spec/fusuma/plugin/parsers/1.14.1/2finger-hold.txt +10 -0
  25. data/spec/fusuma/plugin/parsers/1.14.1/2finger-pinch-and-hold-bug.txt +32 -0
  26. data/spec/fusuma/plugin/parsers/1.14.1/2finger-tap.txt +10 -0
  27. data/spec/fusuma/plugin/parsers/1.14.1/3finger-hold-invalid.txt +173 -0
  28. data/spec/fusuma/plugin/parsers/1.14.1/3finger-hold.txt +15 -0
  29. data/spec/fusuma/plugin/parsers/1.14.1/3finger-tap.txt +16 -0
  30. data/spec/fusuma/plugin/parsers/1.14.1/4finger-hold-invalid.txt +158 -0
  31. data/spec/fusuma/plugin/parsers/1.14.1/4finger-hold.txt +9 -0
  32. data/spec/fusuma/plugin/parsers/1.14.1/4finger-tap-after-palm-detected-bug.txt +20 -0
  33. data/spec/fusuma/plugin/parsers/1.14.1/4finger-tap.txt +17 -0
  34. data/spec/fusuma/plugin/parsers/1.15.5/1finger-double-tap.txt +13 -0
  35. data/spec/fusuma/plugin/parsers/1.15.5/1finger-hold.txt +5 -0
  36. data/spec/fusuma/plugin/parsers/1.15.5/1finger-tap.txt +7 -0
  37. data/spec/fusuma/plugin/parsers/1.15.5/2finger-hold-invalid.txt +139 -0
  38. data/spec/fusuma/plugin/parsers/1.15.5/2finger-hold.txt +10 -0
  39. data/spec/fusuma/plugin/parsers/1.15.5/2finger-pinch-and-hold-bug.txt +48 -0
  40. data/spec/fusuma/plugin/parsers/1.15.5/2finger-tap.txt +10 -0
  41. data/spec/fusuma/plugin/parsers/1.15.5/3finger-hold-invalid.txt +172 -0
  42. data/spec/fusuma/plugin/parsers/1.15.5/3finger-hold.txt +14 -0
  43. data/spec/fusuma/plugin/parsers/1.15.5/3finger-tap.txt +15 -0
  44. data/spec/fusuma/plugin/parsers/1.15.5/4finger-hold-invalid.txt +158 -0
  45. data/spec/fusuma/plugin/parsers/1.15.5/4finger-hold.txt +15 -0
  46. data/spec/fusuma/plugin/parsers/1.15.5/4finger-tap-after-palm-detected-bug.txt +20 -0
  47. data/spec/fusuma/plugin/parsers/1.15.5/4finger-tap.txt +15 -0
  48. data/spec/fusuma/plugin/parsers/1.16.5/1finger-double-tap.txt +13 -0
  49. data/spec/fusuma/plugin/parsers/1.16.5/1finger-hold.txt +5 -0
  50. data/spec/fusuma/plugin/parsers/1.16.5/1finger-tap.txt +7 -0
  51. data/spec/fusuma/plugin/parsers/1.16.5/2finger-hold-invalid.txt +142 -0
  52. data/spec/fusuma/plugin/parsers/1.16.5/2finger-hold.txt +10 -0
  53. data/spec/fusuma/plugin/parsers/1.16.5/2finger-pinch-and-hold-bug.txt +48 -0
  54. data/spec/fusuma/plugin/parsers/1.16.5/2finger-tap.txt +10 -0
  55. data/spec/fusuma/plugin/parsers/1.16.5/3finger-hold-invalid.txt +172 -0
  56. data/spec/fusuma/plugin/parsers/1.16.5/3finger-hold.txt +14 -0
  57. data/spec/fusuma/plugin/parsers/1.16.5/3finger-tap.txt +15 -0
  58. data/spec/fusuma/plugin/parsers/1.16.5/4finger-hold-invalid.txt +159 -0
  59. data/spec/fusuma/plugin/parsers/1.16.5/4finger-hold.txt +15 -0
  60. data/spec/fusuma/plugin/parsers/1.16.5/4finger-tap-after-palm-detected-bug.txt +20 -0
  61. data/spec/fusuma/plugin/parsers/1.16.5/4finger-tap.txt +15 -0
  62. data/spec/fusuma/plugin/parsers/evemu/1finger-double-tap.txt +190 -0
  63. data/spec/fusuma/plugin/parsers/evemu/1finger-hold.txt +646 -0
  64. data/spec/fusuma/plugin/parsers/evemu/1finger-tap.txt +156 -0
  65. data/spec/fusuma/plugin/parsers/evemu/2finger-hold-invalid.txt +1789 -0
  66. data/spec/fusuma/plugin/parsers/evemu/2finger-hold.txt +426 -0
  67. data/spec/fusuma/plugin/parsers/evemu/2finger-pinch-and-hold-bug.txt +925 -0
  68. data/spec/fusuma/plugin/parsers/evemu/2finger-tap.txt +164 -0
  69. data/spec/fusuma/plugin/parsers/evemu/3finger-hold-invalid.txt +2129 -0
  70. data/spec/fusuma/plugin/parsers/evemu/3finger-hold.txt +471 -0
  71. data/spec/fusuma/plugin/parsers/evemu/3finger-tap.txt +169 -0
  72. data/spec/fusuma/plugin/parsers/evemu/4finger-hold-invalid.txt +2374 -0
  73. data/spec/fusuma/plugin/parsers/evemu/4finger-hold.txt +575 -0
  74. data/spec/fusuma/plugin/parsers/evemu/4finger-tap-after-palm-detected-bug.txt +250 -0
  75. data/spec/fusuma/plugin/parsers/evemu/4finger-tap.txt +206 -0
  76. data/spec/fusuma/plugin/parsers/tap_parser_spec.rb +200 -0
  77. data/spec/fusuma/plugin/tap_spec.rb +9 -0
  78. data/spec/helpers/config_helper.rb +16 -0
  79. data/spec/spec_helper.rb +18 -0
  80. metadata +155 -13
  81. data/.gitignore +0 -15
  82. data/.rspec +0 -3
  83. data/.rubocop.yml +0 -31
  84. data/.rubocop_todo.yml +0 -56
  85. data/.travis.yml +0 -23
  86. data/CHANGELOG.md +0 -65
  87. data/CODE_OF_CONDUCT.md +0 -74
  88. data/Gemfile +0 -6
  89. data/Makefile +0 -25
  90. data/Rakefile +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b2d9fc25b57d8e8475739f63334e1996b382790d2f69934cfc4af3a191cf183
4
- data.tar.gz: 9b7b628758a30e219c902b7e9a62675b415251277c078b2e40b794f7c7c2b1aa
3
+ metadata.gz: a0b6a2fa331a7031a3329d400dd4721da0232a7676ef857eaa366bc14e996fc9
4
+ data.tar.gz: fc4aea089191c918a02546398ccf47c4027ea1980282cc269bbdda697968ec12
5
5
  SHA512:
6
- metadata.gz: 9d6e782d13635368460a1f6f2c6ae04a3f09aec5e4d22b9ef8f9f12030c81570fb0cd174573e0aa5c25b9022163c8d43edd6de84c378cd81c75aaa58c7d31877
7
- data.tar.gz: ad374930be4394b1bfc503024115b1dd6181eb3d597ba02f4095002fed3fbcca8a60d8ccfa04b11034f5ba42532448f3ddf63d3cff67085edc62dbc8da35af15
6
+ metadata.gz: fe19b07b7314b743b9d1da653944886500f869411d46a037417e3b053bedcd93e533be82a79323dd994d5b361e4b425bf12632b59ae521bc1ee98e92c810fc2a
7
+ data.tar.gz: 3e38a46bf4dba46853af4f716acc459d80daa772914c47ed4148b805cfc07f5c2f7e93f6a02330d0b3c2c41f57e6643cc2e15370afa5172b53a4427d09c52b99
@@ -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
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
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']
@@ -3,7 +3,7 @@
3
3
  module Fusuma
4
4
  module Plugin
5
5
  module Tap
6
- VERSION = '0.4.0'
6
+ VERSION = '0.4.1'
7
7
  end
8
8
  end
9
9
  end
@@ -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
+ event18 - DLL075B:01 06CB:76AF Touchpad: SYN_DROPPED event - some input events have been lost.
253
+ event18 - 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)