fusuma-plugin-touchscreen 0.0.1.alpha
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +2 -0
- data/fusuma-plugin-touchscreen.gemspec +28 -0
- data/lib/fusuma/plugin/buffers/touch_buffer.rb +197 -0
- data/lib/fusuma/plugin/detectors/touch_detector.rb +95 -0
- data/lib/fusuma/plugin/detectors/touch_detectors/base.rb +17 -0
- data/lib/fusuma/plugin/detectors/touch_detectors/edge_detector.rb +13 -0
- data/lib/fusuma/plugin/detectors/touch_detectors/hold_detector.rb +26 -0
- data/lib/fusuma/plugin/detectors/touch_detectors/pinch_detector.rb +13 -0
- data/lib/fusuma/plugin/detectors/touch_detectors/rotate_detector.rb +13 -0
- data/lib/fusuma/plugin/detectors/touch_detectors/swipe_detector.rb +59 -0
- data/lib/fusuma/plugin/detectors/touch_detectors/tap_detector.rb +32 -0
- data/lib/fusuma/plugin/devices/touchscreen_device.rb +21 -0
- data/lib/fusuma/plugin/events/records/touch_record.rb +38 -0
- data/lib/fusuma/plugin/events/records/touch_records/base.rb +56 -0
- data/lib/fusuma/plugin/events/records/touch_records/hold_record.rb +21 -0
- data/lib/fusuma/plugin/events/records/touch_records/swipe_record.rb +33 -0
- data/lib/fusuma/plugin/events/records/touch_records/tap_record.rb +21 -0
- data/lib/fusuma/plugin/parsers/touch_parser.rb +103 -0
- data/lib/fusuma/plugin/touchscreen/version.rb +9 -0
- data/lib/fusuma/plugin/touchscreen.rb +11 -0
- data/lib/fusuma/utils/angle.rb +12 -0
- data/spec/fixtures/libinput-list-devices_ms-surface-3-pro.txt +182 -0
- data/spec/fusuma/plugin/devices/touchscreen_device_spec.rb +33 -0
- data/spec/fusuma/plugin/parsers/touch_parser_spec.rb +26 -0
- data/spec/samples/1-finger-hold.txt +90 -0
- data/spec/samples/2-fingers-swipe-right.txt +46 -0
- data/spec/samples/3-fingers-tap.txt +9 -0
- data/spec/samples/libinput-devices.txt +182 -0
- data/spec/spec_helper.rb +101 -0
- metadata +96 -0
@@ -0,0 +1,33 @@
|
|
1
|
+
require_relative './base'
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
module Fusuma
|
6
|
+
module Plugin
|
7
|
+
module Events
|
8
|
+
module Records
|
9
|
+
module TouchRecords
|
10
|
+
class SwipeRecord < Base
|
11
|
+
|
12
|
+
def initialize(direction:, **args)
|
13
|
+
super(**args)
|
14
|
+
@direction = direction.to_s
|
15
|
+
end
|
16
|
+
|
17
|
+
def repeatable?
|
18
|
+
true
|
19
|
+
end
|
20
|
+
|
21
|
+
protected
|
22
|
+
|
23
|
+
def config_index_keys
|
24
|
+
super << Config::Index::Key.new(@direction)
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
end # class SwipeRecord
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require_relative './base'
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
module Fusuma
|
6
|
+
module Plugin
|
7
|
+
module Events
|
8
|
+
module Records
|
9
|
+
module TouchRecords
|
10
|
+
class TapRecord < Base
|
11
|
+
|
12
|
+
def repeatable?
|
13
|
+
false
|
14
|
+
end
|
15
|
+
|
16
|
+
end # class TapRecord
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Fusuma
|
4
|
+
module Plugin
|
5
|
+
module Parsers
|
6
|
+
class TouchParser < Parser
|
7
|
+
DEFAULT_SOURCE = 'libinput_command_input'
|
8
|
+
|
9
|
+
=begin
|
10
|
+
3-finger touch:
|
11
|
+
|
12
|
+
event4 TOUCH_DOWN +0.000s 0 (0) 58.64/44.04 (148.16/73.74mm)
|
13
|
+
event4 TOUCH_DOWN +0.000s 1 (1) 49.33/47.67 (124.63/79.84mm)
|
14
|
+
event4 TOUCH_DOWN +0.000s 2 (2) 43.54/64.23 (110.00/107.56mm)
|
15
|
+
event4 TOUCH_UP +0.079s 2 (2)
|
16
|
+
event4 TOUCH_UP +0.099s 1 (1)
|
17
|
+
event4 TOUCH_UP +0.108s 0 (0)
|
18
|
+
=end
|
19
|
+
|
20
|
+
=begin
|
21
|
+
2-finger swipe:
|
22
|
+
|
23
|
+
event4 TOUCH_DOWN +0.000s 0 (0) 27.07/42.62 (68.39/71.37mm)
|
24
|
+
event4 TOUCH_DOWN +0.000s 1 (1) 26.45/53.27 (66.82/89.21mm)
|
25
|
+
event4 TOUCH_MOTION +0.051s 1 (1) 26.84/53.27 (67.82/89.21mm)
|
26
|
+
event4 TOUCH_MOTION +0.061s 0 (0) 27.40/42.91 (69.24/71.86mm)
|
27
|
+
event4 TOUCH_MOTION +0.061s 1 (1) 27.21/53.28 (68.74/89.23mm)
|
28
|
+
event4 TOUCH_MOTION +0.071s 0 (0) 28.03/43.27 (70.82/72.47mm)
|
29
|
+
event4 TOUCH_MOTION +0.071s 1 (1) 27.67/53.33 (69.92/89.30mm)
|
30
|
+
event4 TOUCH_MOTION +0.082s 0 (0) 28.59/43.49 (72.24/72.84mm)
|
31
|
+
event4 TOUCH_MOTION +0.082s 1 (1) 28.43/53.37 (71.84/89.37mm)
|
32
|
+
event4 TOUCH_MOTION +0.091s 0 (0) 29.32/43.66 (74.08/73.12mm)
|
33
|
+
event4 TOUCH_MOTION +0.091s 1 (1) 28.90/53.41 (73.03/89.44mm)
|
34
|
+
event4 TOUCH_MOTION +0.101s 0 (0) 30.17/43.99 (76.24/73.67mm)
|
35
|
+
event4 TOUCH_MOTION +0.101s 1 (1) 29.84/53.21 (75.39/89.12mm)
|
36
|
+
event4 TOUCH_MOTION +0.111s 0 (0) 30.51/44.08 (77.08/73.81mm)
|
37
|
+
event4 TOUCH_MOTION +0.111s 1 (1) 30.47/53.35 (76.97/89.35mm)
|
38
|
+
event4 TOUCH_MOTION +0.121s 0 (0) 31.84/44.59 (80.45/74.67mm)
|
39
|
+
event4 TOUCH_MOTION +0.121s 1 (1) 31.65/53.73 (79.97/89.98mm)
|
40
|
+
event4 TOUCH_MOTION +0.131s 0 (0) 32.56/44.76 (82.26/74.95mm)
|
41
|
+
event4 TOUCH_MOTION +0.131s 1 (1) 32.62/54.21 (82.42/90.79mm)
|
42
|
+
event4 TOUCH_MOTION +0.141s 0 (0) 33.51/44.94 (84.66/75.26mm)
|
43
|
+
event4 TOUCH_MOTION +0.141s 1 (1) 33.49/54.46 (84.61/91.21mm)
|
44
|
+
event4 TOUCH_MOTION +0.151s 0 (0) 34.88/45.38 (88.13/76.00mm)
|
45
|
+
event4 TOUCH_MOTION +0.151s 1 (1) 35.05/54.74 (88.55/91.67mm)
|
46
|
+
event4 TOUCH_MOTION +0.162s 0 (0) 36.14/45.72 (91.32/76.56mm)
|
47
|
+
event4 TOUCH_MOTION +0.162s 1 (1) 36.62/55.28 (92.53/92.58mm)
|
48
|
+
event4 TOUCH_MOTION +0.171s 0 (0) 37.53/46.12 (94.82/77.23mm)
|
49
|
+
event4 TOUCH_MOTION +0.171s 1 (1) 38.21/55.84 (96.55/93.51mm)
|
50
|
+
event4 TOUCH_MOTION +0.181s 0 (0) 39.94/47.08 (100.92/78.84mm)
|
51
|
+
event4 TOUCH_MOTION +0.181s 1 (1) 39.91/56.03 (100.84/93.84mm)
|
52
|
+
event4 TOUCH_UP +0.220s 0 (0)
|
53
|
+
event4 TOUCH_UP +0.220s 1 (1)
|
54
|
+
=end
|
55
|
+
|
56
|
+
def parse_record(record)
|
57
|
+
MultiLogger.debug("#{self.class.name}##{__method__}")
|
58
|
+
MultiLogger.debug(" record = #{record.inspect}")
|
59
|
+
|
60
|
+
case record.to_s
|
61
|
+
when /TOUCH_DOWN\s+\+(\d+\.\d+)s\s+(\d+)\s+\(\d+\)\s+(\d+\.\d+)\/(\d+\.\d+)\s+\((\d+\.\d+)\/(\d+\.\d+)mm\)/
|
62
|
+
status = 'begin'
|
63
|
+
time_offset = $1
|
64
|
+
finger = $2
|
65
|
+
x_px = $3
|
66
|
+
y_px = $4
|
67
|
+
x_mm = $5
|
68
|
+
y_mm = $6
|
69
|
+
|
70
|
+
when /TOUCH_MOTION\s+\+(\d+\.\d+)s\s+(\d+)\s+\(\d+\)\s+(\d+\.\d+)\/(\d+\.\d+)\s+\((\d+\.\d+)\/(\d+\.\d+)mm\)/
|
71
|
+
status = 'update'
|
72
|
+
time_offset = $1
|
73
|
+
finger = $2
|
74
|
+
x_px = $3
|
75
|
+
y_px = $4
|
76
|
+
x_mm = $5
|
77
|
+
y_mm = $6
|
78
|
+
|
79
|
+
when /TOUCH_UP\s+\+(\d+\.\d+)s\s+(\d+)\s+\(\d+\)/
|
80
|
+
status = 'end'
|
81
|
+
time_offset = $1
|
82
|
+
finger = $2
|
83
|
+
|
84
|
+
else
|
85
|
+
return
|
86
|
+
end
|
87
|
+
|
88
|
+
Events::Records::TouchRecord.new(status: status,
|
89
|
+
finger: finger,
|
90
|
+
time_offset: time_offset,
|
91
|
+
x_px: x_px,
|
92
|
+
y_px: y_px,
|
93
|
+
x_mm: x_mm,
|
94
|
+
y_mm: y_mm)
|
95
|
+
end
|
96
|
+
|
97
|
+
def tag
|
98
|
+
'libinput_touch_parser'
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'fusuma/device'
|
2
|
+
require 'fusuma/plugin/events/records/record.rb'
|
3
|
+
require 'fusuma/plugin/parsers/parser.rb'
|
4
|
+
require 'fusuma/plugin/buffers/buffer.rb'
|
5
|
+
require 'fusuma/plugin/detectors/detector.rb'
|
6
|
+
|
7
|
+
require_relative './devices/touchscreen_device'
|
8
|
+
require_relative './events/records/touch_record'
|
9
|
+
require_relative './parsers/touch_parser'
|
10
|
+
require_relative './buffers/touch_buffer'
|
11
|
+
require_relative './detectors/touch_detector'
|
@@ -0,0 +1,182 @@
|
|
1
|
+
Device: Video Bus
|
2
|
+
Kernel: /dev/input/event7
|
3
|
+
Group: 1
|
4
|
+
Seat: seat0, default
|
5
|
+
Capabilities: keyboard
|
6
|
+
Tap-to-click: n/a
|
7
|
+
Tap-and-drag: n/a
|
8
|
+
Tap drag lock: n/a
|
9
|
+
Left-handed: n/a
|
10
|
+
Nat.scrolling: n/a
|
11
|
+
Middle emulation: n/a
|
12
|
+
Calibration: n/a
|
13
|
+
Scroll methods: none
|
14
|
+
Click methods: none
|
15
|
+
Disable-w-typing: n/a
|
16
|
+
Accel profiles: n/a
|
17
|
+
Rotation: n/a
|
18
|
+
|
19
|
+
Device: Surface Pro 3/4 Buttons
|
20
|
+
Kernel: /dev/input/event14
|
21
|
+
Group: 2
|
22
|
+
Seat: seat0, default
|
23
|
+
Capabilities: keyboard
|
24
|
+
Tap-to-click: n/a
|
25
|
+
Tap-and-drag: n/a
|
26
|
+
Tap drag lock: n/a
|
27
|
+
Left-handed: n/a
|
28
|
+
Nat.scrolling: n/a
|
29
|
+
Middle emulation: n/a
|
30
|
+
Calibration: n/a
|
31
|
+
Scroll methods: none
|
32
|
+
Click methods: none
|
33
|
+
Disable-w-typing: n/a
|
34
|
+
Accel profiles: n/a
|
35
|
+
Rotation: n/a
|
36
|
+
|
37
|
+
Device: Lid Switch
|
38
|
+
Kernel: /dev/input/event0
|
39
|
+
Group: 3
|
40
|
+
Seat: seat0, default
|
41
|
+
Capabilities: switch
|
42
|
+
Tap-to-click: n/a
|
43
|
+
Tap-and-drag: n/a
|
44
|
+
Tap drag lock: n/a
|
45
|
+
Left-handed: n/a
|
46
|
+
Nat.scrolling: n/a
|
47
|
+
Middle emulation: n/a
|
48
|
+
Calibration: n/a
|
49
|
+
Scroll methods: none
|
50
|
+
Click methods: none
|
51
|
+
Disable-w-typing: n/a
|
52
|
+
Accel profiles: n/a
|
53
|
+
Rotation: n/a
|
54
|
+
|
55
|
+
Device: Microsoft Surface Type Cover Keyboard
|
56
|
+
Kernel: /dev/input/event13
|
57
|
+
Group: 4
|
58
|
+
Seat: seat0, default
|
59
|
+
Capabilities: keyboard pointer
|
60
|
+
Tap-to-click: n/a
|
61
|
+
Tap-and-drag: n/a
|
62
|
+
Tap drag lock: n/a
|
63
|
+
Left-handed: n/a
|
64
|
+
Nat.scrolling: disabled
|
65
|
+
Middle emulation: n/a
|
66
|
+
Calibration: n/a
|
67
|
+
Scroll methods: none
|
68
|
+
Click methods: none
|
69
|
+
Disable-w-typing: n/a
|
70
|
+
Accel profiles: n/a
|
71
|
+
Rotation: n/a
|
72
|
+
|
73
|
+
Device: Microsoft Surface Type Cover Mouse
|
74
|
+
Kernel: /dev/input/event15
|
75
|
+
Group: 4
|
76
|
+
Seat: seat0, default
|
77
|
+
Capabilities: pointer
|
78
|
+
Tap-to-click: n/a
|
79
|
+
Tap-and-drag: n/a
|
80
|
+
Tap drag lock: n/a
|
81
|
+
Left-handed: disabled
|
82
|
+
Nat.scrolling: disabled
|
83
|
+
Middle emulation: disabled
|
84
|
+
Calibration: n/a
|
85
|
+
Scroll methods: button
|
86
|
+
Click methods: none
|
87
|
+
Disable-w-typing: n/a
|
88
|
+
Accel profiles: flat *adaptive
|
89
|
+
Rotation: n/a
|
90
|
+
|
91
|
+
Device: Microsoft Surface Type Cover Touchpad
|
92
|
+
Kernel: /dev/input/event17
|
93
|
+
Group: 4
|
94
|
+
Seat: seat0, default
|
95
|
+
Size: 98x50mm
|
96
|
+
Capabilities: pointer gesture
|
97
|
+
Tap-to-click: disabled
|
98
|
+
Tap-and-drag: enabled
|
99
|
+
Tap drag lock: disabled
|
100
|
+
Left-handed: disabled
|
101
|
+
Nat.scrolling: disabled
|
102
|
+
Middle emulation: disabled
|
103
|
+
Calibration: n/a
|
104
|
+
Scroll methods: *two-finger edge
|
105
|
+
Click methods: *button-areas clickfinger
|
106
|
+
Disable-w-typing: enabled
|
107
|
+
Accel profiles: flat *adaptive
|
108
|
+
Rotation: n/a
|
109
|
+
|
110
|
+
Device: Microsoft LifeCam Front: Micros
|
111
|
+
Kernel: /dev/input/event1
|
112
|
+
Group: 5
|
113
|
+
Seat: seat0, default
|
114
|
+
Capabilities: keyboard
|
115
|
+
Tap-to-click: n/a
|
116
|
+
Tap-and-drag: n/a
|
117
|
+
Tap drag lock: n/a
|
118
|
+
Left-handed: n/a
|
119
|
+
Nat.scrolling: n/a
|
120
|
+
Middle emulation: n/a
|
121
|
+
Calibration: n/a
|
122
|
+
Scroll methods: none
|
123
|
+
Click methods: none
|
124
|
+
Disable-w-typing: n/a
|
125
|
+
Accel profiles: n/a
|
126
|
+
Rotation: n/a
|
127
|
+
|
128
|
+
Device: Microsoft LifeCam Rear: Microso
|
129
|
+
Kernel: /dev/input/event2
|
130
|
+
Group: 6
|
131
|
+
Seat: seat0, default
|
132
|
+
Capabilities: keyboard
|
133
|
+
Tap-to-click: n/a
|
134
|
+
Tap-and-drag: n/a
|
135
|
+
Tap drag lock: n/a
|
136
|
+
Left-handed: n/a
|
137
|
+
Nat.scrolling: n/a
|
138
|
+
Middle emulation: n/a
|
139
|
+
Calibration: n/a
|
140
|
+
Scroll methods: none
|
141
|
+
Click methods: none
|
142
|
+
Disable-w-typing: n/a
|
143
|
+
Accel profiles: n/a
|
144
|
+
Rotation: n/a
|
145
|
+
|
146
|
+
Device: NTRG0001:01 1B96:1B05 Stylus
|
147
|
+
Kernel: /dev/input/event3
|
148
|
+
Group: 7
|
149
|
+
Seat: seat0, default
|
150
|
+
Size: 253x167mm
|
151
|
+
Capabilities: tablet
|
152
|
+
Tap-to-click: n/a
|
153
|
+
Tap-and-drag: n/a
|
154
|
+
Tap drag lock: n/a
|
155
|
+
Left-handed: n/a
|
156
|
+
Nat.scrolling: n/a
|
157
|
+
Middle emulation: n/a
|
158
|
+
Calibration: identity matrix
|
159
|
+
Scroll methods: none
|
160
|
+
Click methods: none
|
161
|
+
Disable-w-typing: n/a
|
162
|
+
Accel profiles: none
|
163
|
+
Rotation: n/a
|
164
|
+
|
165
|
+
Device: NTRG0001:01 1B96:1B05
|
166
|
+
Kernel: /dev/input/event4
|
167
|
+
Group: 7
|
168
|
+
Seat: seat0, default
|
169
|
+
Size: 253x167mm
|
170
|
+
Capabilities: touch
|
171
|
+
Tap-to-click: n/a
|
172
|
+
Tap-and-drag: n/a
|
173
|
+
Tap drag lock: n/a
|
174
|
+
Left-handed: n/a
|
175
|
+
Nat.scrolling: n/a
|
176
|
+
Middle emulation: n/a
|
177
|
+
Calibration: identity matrix
|
178
|
+
Scroll methods: none
|
179
|
+
Click methods: none
|
180
|
+
Disable-w-typing: n/a
|
181
|
+
Accel profiles: n/a
|
182
|
+
Rotation: n/a
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
require './lib/fusuma/plugin/devices/touchscreen_device'
|
5
|
+
|
6
|
+
module Fusuma
|
7
|
+
RSpec.describe Plugin::Touchscreen::DevicePatch do
|
8
|
+
let(:libinput_device_command) { "dummy-libinput-list-devices" }
|
9
|
+
before do
|
10
|
+
Device.reset
|
11
|
+
allow_any_instance_of(LibinputCommand)
|
12
|
+
.to receive(:list_devices_command)
|
13
|
+
.and_return(libinput_device_command)
|
14
|
+
|
15
|
+
@dummy_io = StringIO.new("dummy")
|
16
|
+
allow(Open3).to receive(:popen3)
|
17
|
+
.with(libinput_device_command)
|
18
|
+
.and_return([@dummy_io, list_devices_output, @dummy_io, nil])
|
19
|
+
end
|
20
|
+
|
21
|
+
# that's the only touchscreen device I have :)
|
22
|
+
context 'Microsoft Surface 3 Pro' do
|
23
|
+
let(:list_devices_output) do
|
24
|
+
File.open("./spec/fixtures/libinput-list-devices_ms-surface-3-pro.txt")
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'detects Microsoft Surface 3 Pro touchscreen' do
|
28
|
+
expect(Device.available.map(&:name)).to include 'NTRG0001:01 1B96:1B05'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require './lib/fusuma/plugin/parsers/touch_parser'
|
5
|
+
|
6
|
+
module Fusuma
|
7
|
+
RSpec.describe Plugin::Parsers::TouchParser do
|
8
|
+
describe '#parse' do
|
9
|
+
it 'TOUCH_DOWN' do
|
10
|
+
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'TOUCH_UP' do
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'TOUCH_MOTION' do
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'not a touch event' do
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
event4 TOUCH_DOWN +0.000s 0 (0) 54.37/59.60 (137.37/99.81mm)
|
2
|
+
event4 TOUCH_FRAME +0.000s
|
3
|
+
event4 TOUCH_MOTION +0.153s 0 (0) 54.36/59.62 (137.34/99.84mm)
|
4
|
+
event4 TOUCH_FRAME +0.153s
|
5
|
+
event4 TOUCH_MOTION +0.162s 0 (0) 54.34/59.64 (137.29/99.88mm)
|
6
|
+
event4 TOUCH_FRAME +0.162s
|
7
|
+
event4 TOUCH_MOTION +0.172s 0 (0) 54.33/59.66 (137.26/99.91mm)
|
8
|
+
event4 TOUCH_FRAME +0.172s
|
9
|
+
event4 TOUCH_MOTION +0.182s 0 (0) 54.32/59.67 (137.24/99.93mm)
|
10
|
+
event4 TOUCH_FRAME +0.182s
|
11
|
+
event4 TOUCH_MOTION +0.272s 0 (0) 54.29/59.71 (137.16/100.00mm)
|
12
|
+
event4 TOUCH_FRAME +0.272s
|
13
|
+
event4 TOUCH_MOTION +0.391s 0 (0) 54.25/59.80 (137.08/100.14mm)
|
14
|
+
event4 TOUCH_FRAME +0.391s
|
15
|
+
event4 TOUCH_MOTION +0.530s 0 (0) 54.21/59.87 (136.97/100.26mm)
|
16
|
+
event4 TOUCH_FRAME +0.530s
|
17
|
+
event4 TOUCH_MOTION +0.639s 0 (0) 54.18/59.92 (136.89/100.35mm)
|
18
|
+
event4 TOUCH_FRAME +0.639s
|
19
|
+
event4 TOUCH_MOTION +0.659s 0 (0) 54.17/59.94 (136.87/100.37mm)
|
20
|
+
event4 TOUCH_FRAME +0.659s
|
21
|
+
event4 TOUCH_MOTION +0.679s 0 (0) 54.16/59.95 (136.84/100.40mm)
|
22
|
+
event4 TOUCH_FRAME +0.679s
|
23
|
+
event4 TOUCH_MOTION +0.709s 0 (0) 54.15/59.98 (136.82/100.44mm)
|
24
|
+
event4 TOUCH_FRAME +0.709s
|
25
|
+
event4 TOUCH_MOTION +1.643s 0 (0) 54.14/60.01 (136.79/100.49mm)
|
26
|
+
event4 TOUCH_FRAME +1.643s
|
27
|
+
event4 TOUCH_MOTION +1.653s 0 (0) 54.13/60.03 (136.76/100.53mm)
|
28
|
+
event4 TOUCH_FRAME +1.653s
|
29
|
+
event4 TOUCH_MOTION +1.663s 0 (0) 54.13/60.05 (136.76/100.56mm)
|
30
|
+
event4 TOUCH_FRAME +1.663s
|
31
|
+
event4 TOUCH_MOTION +1.672s 0 (0) 54.12/60.07 (136.74/100.60mm)
|
32
|
+
event4 TOUCH_FRAME +1.672s
|
33
|
+
event4 TOUCH_MOTION +1.682s 0 (0) 54.12/60.09 (136.74/100.63mm)
|
34
|
+
event4 TOUCH_FRAME +1.682s
|
35
|
+
event4 TOUCH_MOTION +1.692s 0 (0) 54.11/60.10 (136.71/100.65mm)
|
36
|
+
event4 TOUCH_FRAME +1.692s
|
37
|
+
event4 TOUCH_MOTION +1.702s 0 (0) 54.11/60.13 (136.71/100.70mm)
|
38
|
+
event4 TOUCH_FRAME +1.702s
|
39
|
+
event4 TOUCH_MOTION +1.712s 0 (0) 54.10/60.14 (136.68/100.72mm)
|
40
|
+
event4 TOUCH_FRAME +1.712s
|
41
|
+
event4 TOUCH_MOTION +1.722s 0 (0) 54.10/60.16 (136.68/100.74mm)
|
42
|
+
event4 TOUCH_FRAME +1.722s
|
43
|
+
event4 TOUCH_MOTION +1.732s 0 (0) 54.09/60.17 (136.66/100.77mm)
|
44
|
+
event4 TOUCH_FRAME +1.732s
|
45
|
+
event4 TOUCH_MOTION +1.743s 0 (0) 54.09/60.20 (136.66/100.81mm)
|
46
|
+
event4 TOUCH_FRAME +1.743s
|
47
|
+
event4 TOUCH_MOTION +1.752s 0 (0) 54.08/60.21 (136.63/100.84mm)
|
48
|
+
event4 TOUCH_FRAME +1.752s
|
49
|
+
event4 TOUCH_MOTION +1.762s 0 (0) 54.08/60.23 (136.63/100.86mm)
|
50
|
+
event4 TOUCH_FRAME +1.762s
|
51
|
+
event4 TOUCH_MOTION +1.772s 0 (0) 54.08/60.24 (136.63/100.88mm)
|
52
|
+
event4 TOUCH_FRAME +1.772s
|
53
|
+
event4 TOUCH_MOTION +1.782s 0 (0) 54.07/60.26 (136.61/100.91mm)
|
54
|
+
event4 TOUCH_FRAME +1.782s
|
55
|
+
event4 TOUCH_MOTION +1.792s 0 (0) 54.07/60.27 (136.61/100.93mm)
|
56
|
+
event4 TOUCH_FRAME +1.792s
|
57
|
+
event4 TOUCH_MOTION +1.802s 0 (0) 54.07/60.28 (136.61/100.95mm)
|
58
|
+
event4 TOUCH_FRAME +1.802s
|
59
|
+
event4 TOUCH_MOTION +1.812s 0 (0) 54.06/60.30 (136.58/100.98mm)
|
60
|
+
event4 TOUCH_FRAME +1.812s
|
61
|
+
event4 TOUCH_MOTION +1.822s 0 (0) 54.06/60.32 (136.58/101.02mm)
|
62
|
+
event4 TOUCH_FRAME +1.822s
|
63
|
+
event4 TOUCH_MOTION +1.832s 0 (0) 54.06/60.37 (136.58/101.09mm)
|
64
|
+
event4 TOUCH_FRAME +1.832s
|
65
|
+
event4 TOUCH_MOTION +1.841s 0 (0) 54.06/60.42 (136.58/101.19mm)
|
66
|
+
event4 TOUCH_FRAME +1.841s
|
67
|
+
event4 TOUCH_MOTION +1.851s 0 (0) 54.06/60.46 (136.58/101.26mm)
|
68
|
+
event4 TOUCH_FRAME +1.851s
|
69
|
+
event4 TOUCH_MOTION +1.861s 0 (0) 54.06/60.52 (136.58/101.35mm)
|
70
|
+
event4 TOUCH_FRAME +1.861s
|
71
|
+
event4 TOUCH_MOTION +1.871s 0 (0) 54.06/60.56 (136.58/101.42mm)
|
72
|
+
event4 TOUCH_FRAME +1.871s
|
73
|
+
event4 TOUCH_MOTION +1.881s 0 (0) 54.06/60.60 (136.58/101.49mm)
|
74
|
+
event4 TOUCH_FRAME +1.881s
|
75
|
+
event4 TOUCH_MOTION +1.891s 0 (0) 54.06/60.64 (136.58/101.56mm)
|
76
|
+
event4 TOUCH_FRAME +1.891s
|
77
|
+
event4 TOUCH_MOTION +1.902s 0 (0) 54.06/60.67 (136.58/101.60mm)
|
78
|
+
event4 TOUCH_FRAME +1.902s
|
79
|
+
event4 TOUCH_MOTION +1.911s 0 (0) 54.06/60.70 (136.58/101.65mm)
|
80
|
+
event4 TOUCH_FRAME +1.911s
|
81
|
+
event4 TOUCH_MOTION +1.921s 0 (0) 54.06/60.73 (136.58/101.70mm)
|
82
|
+
event4 TOUCH_FRAME +1.921s
|
83
|
+
event4 TOUCH_MOTION +1.931s 0 (0) 54.06/60.74 (136.58/101.72mm)
|
84
|
+
event4 TOUCH_FRAME +1.931s
|
85
|
+
event4 TOUCH_MOTION +1.941s 0 (0) 54.06/60.76 (136.58/101.74mm)
|
86
|
+
event4 TOUCH_FRAME +1.941s
|
87
|
+
event4 TOUCH_MOTION +1.951s 0 (0) 54.06/60.77 (136.58/101.77mm)
|
88
|
+
event4 TOUCH_FRAME +1.951s
|
89
|
+
event4 TOUCH_UP +2.904s 0 (0)
|
90
|
+
event4 TOUCH_FRAME +2.904s
|
@@ -0,0 +1,46 @@
|
|
1
|
+
event4 TOUCH_DOWN +0.000s 0 (0) 27.07/42.62 (68.39/71.37mm)
|
2
|
+
event4 TOUCH_DOWN +0.000s 1 (1) 26.45/53.27 (66.82/89.21mm)
|
3
|
+
event4 TOUCH_FRAME +0.000s
|
4
|
+
event4 TOUCH_MOTION +0.051s 1 (1) 26.84/53.27 (67.82/89.21mm)
|
5
|
+
event4 TOUCH_FRAME +0.051s
|
6
|
+
event4 TOUCH_MOTION +0.061s 0 (0) 27.40/42.91 (69.24/71.86mm)
|
7
|
+
event4 TOUCH_MOTION +0.061s 1 (1) 27.21/53.28 (68.74/89.23mm)
|
8
|
+
event4 TOUCH_FRAME +0.061s
|
9
|
+
event4 TOUCH_MOTION +0.071s 0 (0) 28.03/43.27 (70.82/72.47mm)
|
10
|
+
event4 TOUCH_MOTION +0.071s 1 (1) 27.67/53.33 (69.92/89.30mm)
|
11
|
+
event4 TOUCH_FRAME +0.071s
|
12
|
+
event4 TOUCH_MOTION +0.082s 0 (0) 28.59/43.49 (72.24/72.84mm)
|
13
|
+
event4 TOUCH_MOTION +0.082s 1 (1) 28.43/53.37 (71.84/89.37mm)
|
14
|
+
event4 TOUCH_FRAME +0.082s
|
15
|
+
event4 TOUCH_MOTION +0.091s 0 (0) 29.32/43.66 (74.08/73.12mm)
|
16
|
+
event4 TOUCH_MOTION +0.091s 1 (1) 28.90/53.41 (73.03/89.44mm)
|
17
|
+
event4 TOUCH_FRAME +0.091s
|
18
|
+
event4 TOUCH_MOTION +0.101s 0 (0) 30.17/43.99 (76.24/73.67mm)
|
19
|
+
event4 TOUCH_MOTION +0.101s 1 (1) 29.84/53.21 (75.39/89.12mm)
|
20
|
+
event4 TOUCH_FRAME +0.101s
|
21
|
+
event4 TOUCH_MOTION +0.111s 0 (0) 30.51/44.08 (77.08/73.81mm)
|
22
|
+
event4 TOUCH_MOTION +0.111s 1 (1) 30.47/53.35 (76.97/89.35mm)
|
23
|
+
event4 TOUCH_FRAME +0.111s
|
24
|
+
event4 TOUCH_MOTION +0.121s 0 (0) 31.84/44.59 (80.45/74.67mm)
|
25
|
+
event4 TOUCH_MOTION +0.121s 1 (1) 31.65/53.73 (79.97/89.98mm)
|
26
|
+
event4 TOUCH_FRAME +0.121s
|
27
|
+
event4 TOUCH_MOTION +0.131s 0 (0) 32.56/44.76 (82.26/74.95mm)
|
28
|
+
event4 TOUCH_MOTION +0.131s 1 (1) 32.62/54.21 (82.42/90.79mm)
|
29
|
+
event4 TOUCH_FRAME +0.131s
|
30
|
+
event4 TOUCH_MOTION +0.141s 0 (0) 33.51/44.94 (84.66/75.26mm)
|
31
|
+
event4 TOUCH_MOTION +0.141s 1 (1) 33.49/54.46 (84.61/91.21mm)
|
32
|
+
event4 TOUCH_FRAME +0.141s
|
33
|
+
event4 TOUCH_MOTION +0.151s 0 (0) 34.88/45.38 (88.13/76.00mm)
|
34
|
+
event4 TOUCH_MOTION +0.151s 1 (1) 35.05/54.74 (88.55/91.67mm)
|
35
|
+
event4 TOUCH_FRAME +0.151s
|
36
|
+
event4 TOUCH_MOTION +0.162s 0 (0) 36.14/45.72 (91.32/76.56mm)
|
37
|
+
event4 TOUCH_MOTION +0.162s 1 (1) 36.62/55.28 (92.53/92.58mm)
|
38
|
+
event4 TOUCH_FRAME +0.162s
|
39
|
+
event4 TOUCH_MOTION +0.171s 0 (0) 37.53/46.12 (94.82/77.23mm)
|
40
|
+
event4 TOUCH_MOTION +0.171s 1 (1) 38.21/55.84 (96.55/93.51mm)
|
41
|
+
event4 TOUCH_FRAME +0.171s
|
42
|
+
event4 TOUCH_MOTION +0.181s 0 (0) 39.94/47.08 (100.92/78.84mm)
|
43
|
+
event4 TOUCH_MOTION +0.181s 1 (1) 39.91/56.03 (100.84/93.84mm)
|
44
|
+
event4 TOUCH_FRAME +0.181s
|
45
|
+
event4 TOUCH_UP +0.220s 0 (0)
|
46
|
+
event4 TOUCH_UP +0.220s 1 (1)
|
@@ -0,0 +1,9 @@
|
|
1
|
+
event4 TOUCH_DOWN +0.000s 0 (0) 58.64/44.04 (148.16/73.74mm)
|
2
|
+
event4 TOUCH_DOWN +0.000s 1 (1) 49.33/47.67 (124.63/79.84mm)
|
3
|
+
event4 TOUCH_DOWN +0.000s 2 (2) 43.54/64.23 (110.00/107.56mm)
|
4
|
+
event4 TOUCH_FRAME +0.000s
|
5
|
+
event4 TOUCH_UP +0.079s 2 (2)
|
6
|
+
event4 TOUCH_FRAME +0.079s
|
7
|
+
event4 TOUCH_UP +0.099s 1 (1)
|
8
|
+
event4 TOUCH_FRAME +0.099s
|
9
|
+
event4 TOUCH_UP +0.108s 0 (0)
|