diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2020-03-27 10:30:38 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2020-04-11 13:38:48 +1000 |
commit | 5a9fb539d94ec623289a8711b16d63862fe88ad6 (patch) | |
tree | 2127ea367ec5bff00b388327d4b76e3a77162ef3 /tools/libinput-analyze-per-slot-delta.py | |
parent | c23484a9ec89bd083adb971e8575fb2b49998497 (diff) | |
download | libinput-5a9fb539d94ec623289a8711b16d63862fe88ad6.tar.gz |
tools: per-slot-delta: print the BTN_TOUCH etc. bits in-line
New output example:
9.408899 +5ms DBL: ↑↗ 1/ -9 | →→ 0/ 0 |
where DBL stands for BTN_DOUBLE.
This also widens the relative time by one so we don't lose formatting for >1s
delta time.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'tools/libinput-analyze-per-slot-delta.py')
-rwxr-xr-x | tools/libinput-analyze-per-slot-delta.py | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/tools/libinput-analyze-per-slot-delta.py b/tools/libinput-analyze-per-slot-delta.py index 0df3a9be..3c8de82d 100755 --- a/tools/libinput-analyze-per-slot-delta.py +++ b/tools/libinput-analyze-per-slot-delta.py @@ -123,6 +123,13 @@ def main(argv): slot = 0 last_time = None + tool_bits = { + libevdev.EV_KEY.BTN_TOUCH: 0, + libevdev.EV_KEY.BTN_TOOL_DOUBLETAP: 0, + libevdev.EV_KEY.BTN_TOOL_TRIPLETAP: 0, + libevdev.EV_KEY.BTN_TOOL_QUADTAP: 0, + libevdev.EV_KEY.BTN_TOOL_QUINTTAP: 0, + } for event in device['events']: for evdev in event['evdev']: @@ -130,6 +137,9 @@ def main(argv): e = InputEvent(evdev) evbit = libevdev.evbit(e.evtype, e.evcode) + if evbit in tool_bits: + tool_bits[evbit] = e.value + if args.use_st: # Note: this relies on the EV_KEY events to come in before the # x/y events, otherwise the last/first event in each slot will @@ -190,16 +200,6 @@ def main(argv): s.y = e.value s.dirty = True - if (evbit == libevdev.EV_KEY.BTN_TOUCH or - (evbit == libevdev.EV_KEY.BTN_TOOL_DOUBLETAP and nslots < 2) or - (evbit == libevdev.EV_KEY.BTN_TOOL_TRIPLETAP and nslots < 3) or - (evbit == libevdev.EV_KEY.BTN_TOOL_QUADTAP and nslots < 4) or - (evbit == libevdev.EV_KEY.BTN_TOOL_QUINTTAP and nslots < 5)): - print(' {} {} {} {}'.format(marker_button, - evbit.name, - e.value, - marker_button)) - if evbit == libevdev.EV_SYN.SYN_REPORT: if last_time is None: last_time = e.sec * 1000000 + e.usec @@ -209,7 +209,22 @@ def main(argv): tdelta = int((t - last_time) / 1000) # ms last_time = t - print("{:2d}.{:06d} {:+4d}ms: ".format(e.sec, e.usec, tdelta), end='') + tools = [ + (libevdev.EV_KEY.BTN_TOOL_QUINTTAP, 'QIN'), + (libevdev.EV_KEY.BTN_TOOL_QUADTAP, 'QAD'), + (libevdev.EV_KEY.BTN_TOOL_TRIPLETAP, 'TRI'), + (libevdev.EV_KEY.BTN_TOOL_DOUBLETAP, 'DBL'), + (libevdev.EV_KEY.BTN_TOUCH, 'TOU'), + ] + + for bit, string in tools: + if tool_bits[bit]: + tool_state = string + break + else: + tool_state = ' ' + + print("{:2d}.{:06d} {:+5d}ms {}: ".format(e.sec, e.usec, tdelta, tool_state), end='') for sl in [s for s in slots if s.used]: if sl.state == SlotState.NONE: print(marker_empty_slot, end='') |