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.
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)