Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using onscreen keyboard can trigger swipe gestures #296

Closed
X-Ryl669 opened this issue Mar 15, 2023 · 48 comments · Fixed by #298
Closed

Using onscreen keyboard can trigger swipe gestures #296

X-Ryl669 opened this issue Mar 15, 2023 · 48 comments · Fixed by #298
Assignees
Labels
bug Something isn't working 📱 reMarkable 2
Milestone

Comments

@X-Ryl669
Copy link

Describe the bug
I've updated the device to latest 3.2.3.1595 firmware (the 3.1 firmware wasn't working for me).
I'm running tarnish and oxide out of the chroot (if that has any impact on the bug).

Since version 3 of the firmware, a new Text tool was added to xochitl.
When you add some text via this tool and press the backspace key multiple time to erase one or more line of text, Oxide is triggered.
It shouldn't be triggered, since I haven't applied the "dual finger slide from bottom" gesture, yet it's very painful to have to go back to xochitl.
The same happens if you press "Enter" key multiple times too.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'xochitl'
  2. Create a new notebook, draw something, add some text and enter multiple lines of text
  3. Move cursor to end of text, and press backscape key multiple times to remove the text
  4. Oxide is triggered

Expected behavior
The gesture recognition algorithm shouldn't interpret single repeated press as a "dual finger scroll from bottom" gesture.

Version Information:

  • Device: reMarkable 2
  • OS: 3.2.3.1595
  • Version: what's in toltec at time of writing

Additional context
I had to run Tarnish out of chroot, else it crash the tablet (see here)

@X-Ryl669 X-Ryl669 added bug Something isn't working to-triage This needs to be triaged labels Mar 15, 2023
@Eeems
Copy link
Collaborator

Eeems commented Mar 15, 2023

What is this dual finger scroll from bottom gesture you are talking about? Oxide only has single finger gestures.

Could you post some of the tarnish logs for when this happens?

@Eeems
Copy link
Collaborator

Eeems commented Mar 15, 2023

Also, could you clarify what you mean by "Oxide is triggered"? Is it returning to the launcher, opening the task switcher, or something else?

@X-Ryl669
Copy link
Author

Here are the logs: (from journalctl -u tarnish)

Mar 15 18:00:48 reMarkable tarnish[6971]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/efbfbdefbfbd1befbfbd462b"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/500fefbfbdefbfbdefbfbd0e"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/500fefbfbdefbfbdefbfbd0c"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/efbfbdefbfbd1befbfbd462a"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/500fefbfbdefbfbdefbfbd"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/500fefbfbdefbfbdefbfbd01"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/500fefbfbdefbfbdefbfbd03"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/2c79efbfbd0befbfbd45"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/2c79efbfbd0befbfbd44"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/500fefbfbdefbfbdefbfbd0a"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/500fefbfbdefbfbdefbfbd05"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/744d28efbfbdefbfbdefbfbd"
Mar 15 18:00:50 reMarkable tarnish[197]: Unregistered "/codes/eeems/oxide1/bss/38efbfbdefbfbd0d3f01"
Mar 15 18:00:50 reMarkable tarnish[6974]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:50 reMarkable tarnish[6977]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:50 reMarkable tarnish[6978]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:51 reMarkable tarnish[6982]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:51 reMarkable tarnish[6986]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:53 reMarkable tarnish[6989]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:53 reMarkable tarnish[6992]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:53 reMarkable tarnish[6993]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:54 reMarkable tarnish[6997]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:54 reMarkable tarnish[7001]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:54 reMarkable tarnish[197]: Opening task switcher
Mar 15 18:00:54 reMarkable tarnish[197]: Previous Applications ("codes.eeems.oxide", "xochitl")
Mar 15 18:00:54 reMarkable tarnish[197]: Resuming  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Mar 15 18:00:54 reMarkable tarnish[197]: Pausing  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Mar 15 18:00:54 reMarkable tarnish[197]: Saving screen...
Mar 15 18:00:55 reMarkable tarnish[197]: Compressing data...
Mar 15 18:00:55 reMarkable tarnish[197]: Screen saved  32958 bytes
Mar 15 18:00:55 reMarkable tarnish[197]: Paused  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Mar 15 18:00:55 reMarkable tarnish[197]: Uncompressing screen...
Mar 15 18:00:55 reMarkable tarnish[197]: Recalling screen...
Mar 15 18:00:55 reMarkable tarnish[197]: Screen recalled.
Mar 15 18:00:55 reMarkable tarnish[197]: Resumed  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mWaiting for application to exit...[[0m
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: Input locale setting has changed, updating the key map.[[0m
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: Read a langCode of  ""[[0m
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: No keymap set by QT settings or firmware, defaulting to US.[[0m
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: setting US keymap 293 147[[0m
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: numlock=0 , capslock=0, scrolllock=0[[0m
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: Input locale setting has changed, updating the key map.[[0m
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: Read a langCode of  ""[[0m
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: No keymap set by QT settings or firmware, defaulting to US.[[0m
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: setting US keymap 293 147[[0m
Mar 15 18:00:55 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: numlock=0 , capslock=0, scrolllock=0[[0m
Mar 15 18:00:56 reMarkable tarnish[7004]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:56 reMarkable tarnish[7007]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:56 reMarkable tarnish[7008]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:57 reMarkable tarnish[7012]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:57 reMarkable tarnish[7016]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:00:59 reMarkable codes.eeems.oxide[197]: [[0;1;31m[[0;1;39m[[0;1;31mRunning application  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"[[0m
Mar 15 18:00:59 reMarkable tarnish[197]: Previous Applications ("xochitl", "codes.eeems.oxide")
Mar 15 18:00:59 reMarkable tarnish[197]: Resuming  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Mar 15 18:00:59 reMarkable tarnish[197]: Pausing  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Mar 15 18:00:59 reMarkable tarnish[197]: Saving screen...
Mar 15 18:00:59 reMarkable tarnish[197]: Compressing data...
Mar 15 18:00:59 reMarkable tarnish[197]: Screen saved  127929 bytes
Mar 15 18:00:59 reMarkable tarnish[197]: Paused  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Mar 15 18:00:59 reMarkable tarnish[197]: Uncompressing screen...
Mar 15 18:00:59 reMarkable tarnish[197]: Recalling screen...
Mar 15 18:00:59 reMarkable tarnish[197]: Screen recalled.
Mar 15 18:00:59 reMarkable tarnish[197]: Resumed  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Mar 15 18:00:59 reMarkable tarnish[7021]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 15 18:01:00 reMarkable tarnish[7025]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.

@X-Ryl669
Copy link
Author

X-Ryl669 commented Mar 15, 2023

Sorry, I meant slide from bottom (single finger), which I never did in the sequence above, the observed returned to launcher at 18:00:59 is due to the bug from hitting backspace key too often.

Oxide launcher appears unexpectedly and I have to click on xochitl icon to return to work.

@Eeems
Copy link
Collaborator

Eeems commented Mar 15, 2023

Tarnish (the system service that handles gestures, application switching, buttons, etc) is likely interpreting the button press holding the home/middle button on a rM1. Could you use evtest to check the output of that button press? It would also be useful to get some more information on the sysfs for the keyboard to see if there is a way to identify it, so that it can be handled differently.
https://oxide.eeems.codes/documentation/01_usage.html#background-service-tarnish

@Eeems
Copy link
Collaborator

Eeems commented Mar 15, 2023

Based on the code here, tarnish interprets the following keycodes:

    map[105] = PressRecord("Left", Qt::Key_Left);
    map[102] = PressRecord("Middle", Qt::Key_Home);
    map[106] = PressRecord("Right", Qt::Key_Right);
    map[116] = PressRecord("Power", Qt::Key_PowerOff);

https://github.com/Eeems-Org/oxide/blob/master/applications/system-service/buttonhandler.cpp#L60-L63

So I would expect the backspace key to be sending the 102 key code somehow. Likely it's also bugging out and thinking it's being held down due to you pressing it fast enough to be causing a timing bug with the code that handles locking and unlocking events.

At this point Oxide doesn't support the new keyboard folio, but I'm happy to work through issues with it. I don't have a rM2, or the new keyboard folio myself so I can't really do much lots more help.

@Eeems Eeems added help wanted Extra attention is needed 📱 reMarkable 2 and removed to-triage This needs to be triaged labels Mar 15, 2023
@Eeems Eeems changed the title Gesture detection fails with Remarkable 2 and firmware 3.2.3.1595 Keyboard folio support Mar 15, 2023
@Eeems Eeems added this to the v2.6 milestone Mar 15, 2023
@Eeems Eeems added this to Oxide Mar 15, 2023
@X-Ryl669
Copy link
Author

I don't have the keyboard folio. I'm talking about the "virtual keyboard" that's displayed when you use the new text feature. I'll try to capture some events later today.

@X-Ryl669
Copy link
Author

Here's the last output of the bug with evtest running like this:

# evtest 
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:	30370000.snvs:snvs-powerkey
/dev/input/event1:	Wacom I2C Digitizer
/dev/input/event2:	pt_mt
Select the device event number [0-2]: 2
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "pt_mt"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 59 (KEY_F1)
    Event code 60 (KEY_F2)
    Event code 61 (KEY_F3)
    Event code 62 (KEY_F4)
    Event code 63 (KEY_F5)
    Event code 64 (KEY_F6)
    Event code 65 (KEY_F7)
    Event code 66 (KEY_F8)
  Event type 2 (EV_REL)
  Event type 3 (EV_ABS)
    Event code 25 (ABS_DISTANCE)
      Value      0
      Min        0
      Max      255
    Event code 47 (ABS_MT_SLOT)
      Value      0
      Min        0
      Max       31
    Event code 48 (ABS_MT_TOUCH_MAJOR)
      Value      0
      Min        0
      Max      255
    Event code 49 (ABS_MT_TOUCH_MINOR)
      Value      0
      Min        0
      Max      255
    Event code 52 (ABS_MT_ORIENTATION)
      Value      0
      Min     -127
      Max      127
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max     1403
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max     1871
    Event code 55 (ABS_MT_TOOL_TYPE)
      Value      0
      Min        0
      Max        1
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max    65535
    Event code 58 (ABS_MT_PRESSURE)
      Value      0
      Min        0
      Max      255
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
[...]
Event: time 1678978358.561605, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 1
Event: time 1678978358.561605, -------------- SYN_REPORT ------------
Event: time 1678978358.561623, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 2
Event: time 1678978358.561623, -------------- SYN_REPORT ------------
Event: time 1678978358.561640, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 1
Event: time 1678978358.561640, -------------- SYN_REPORT ------------
Event: time 1678978358.561657, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 2
Event: time 1678978358.561657, -------------- SYN_REPORT ------------
Event: time 1678978358.561672, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 1
Event: time 1678978358.561672, -------------- SYN_REPORT ------------
Event: time 1678978358.561726, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 2
Event: time 1678978358.561726, -------------- SYN_REPORT ------------
Event: time 1678978358.561741, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 1
Event: time 1678978358.561741, -------------- SYN_REPORT ------------
Event: time 1678978358.561756, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 2
Event: time 1678978358.561756, -------------- SYN_REPORT ------------
Event: time 1678978358.561770, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 1
Event: time 1678978358.561770, -------------- SYN_REPORT ------------
Event: time 1678978358.561784, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 2
Event: time 1678978358.561784, -------------- SYN_REPORT ------------
Event: time 1678978358.561798, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 1
Event: time 1678978358.561798, -------------- SYN_REPORT ------------
Event: time 1678978358.561812, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 2
Event: time 1678978358.561812, -------------- SYN_REPORT ------------
Event: time 1678978358.611534, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1521
Event: time 1678978358.611534, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 0
Event: time 1678978358.611534, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1258
Event: time 1678978358.611534, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 248
Event: time 1678978358.611534, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 75
Event: time 1678978358.611534, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 17
Event: time 1678978358.611534, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 4
Event: time 1678978358.611534, -------------- SYN_REPORT ------------
Event: time 1678978358.693143, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678978358.693143, -------------- SYN_REPORT ------------

@X-Ryl669
Copy link
Author

Notice that it's a lot harder to reproduce when the evtest is running (but it still happens, sparsely). It doesn't depend on which key you press, it happened while I was entering usual text.

I'm almost sure it should be reproducible on your remarkable 1 too (provided you could run the 3.2 firmware).

@Eeems
Copy link
Collaborator

Eeems commented Mar 16, 2023

Ah, so this sounds like the gesture handling is just triggering due to being too close to the bottom of the screen and the taps confusing it?
You can try adjusting the swipe length to see if that helps. Unfortunately I don't have a way to recognize if the keyboard is open or not.

@X-Ryl669
Copy link
Author

X-Ryl669 commented Mar 16, 2023

Maybe adding a timeSinceLastReleaseEvent threshold would do it too. It only happens if upon hammering the keys (since there is no auto repeat in the virtual keyboard). So if the last release event is, let's say, within 500ms, just ignore the gesture.

When I want to start the launcher, I'll do the bottom slide gesture only. If it gets ignored because I just did some touch on the screen, I'll redo it and it's unlikely I can do it in 500ms anyway.

@Eeems
Copy link
Collaborator

Eeems commented Mar 16, 2023

Did you try adjusting the swipe length to see if that mitigates it?
I'd be happy to accept a PR to add the gesture delay logic.

@X-Ryl669
Copy link
Author

Nope it doesn't work. I've already a huge length of 400 set up and it happens anyway...

@Eeems
Copy link
Collaborator

Eeems commented Mar 16, 2023

You can add Environment=DEBUG=1 to the tarnish service file and restart it to get a bunch more debug output from touch events. Here is the code in question: https://github.com/Eeems-Org/oxide/blob/master/applications/system-service/systemapi.h#L606-L761

@Eeems Eeems changed the title Keyboard folio support Using onscreen keyboard can trigger swipe gestures Mar 16, 2023
@X-Ryl669
Copy link
Author

Here are the last logs just before it happened with debug mode:

Event: time 1678980447.375128, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980447.375128, -------------- SYN_REPORT ------------
Event: time 1678980447.682441, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2742
Event: time 1678980447.682441, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 560
Event: time 1678980447.682441, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 280
Event: time 1678980447.682441, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 21
Event: time 1678980447.682441, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 8
Event: time 1678980447.682441, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 8
Event: time 1678980447.682441, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 1
Event: time 1678980447.682441, -------------- SYN_REPORT ------------
Event: time 1678980447.894988, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 562
Event: time 1678980447.894988, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 282
Event: time 1678980447.894988, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 25
Event: time 1678980447.894988, -------------- SYN_REPORT ------------
Event: time 1678980447.906974, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 23
Event: time 1678980447.906974, -------------- SYN_REPORT ------------
Event: time 1678980447.918732, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 21
Event: time 1678980447.918732, -------------- SYN_REPORT ------------
Event: time 1678980447.953661, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980447.953661, -------------- SYN_REPORT ------------
Event: time 1678980448.414440, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2743
Event: time 1678980448.414440, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 514
Event: time 1678980448.414440, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 310
Event: time 1678980448.414440, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 35
Event: time 1678980448.414440, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 17
Event: time 1678980448.414440, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 17
Event: time 1678980448.414440, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 2
Event: time 1678980448.414440, -------------- SYN_REPORT ------------
Event: time 1678980448.473224, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980448.473224, -------------- SYN_REPORT ------------
Event: time 1678980449.359322, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2744
Event: time 1678980449.359322, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 563
Event: time 1678980449.359322, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 283
Event: time 1678980449.359322, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 23
Event: time 1678980449.359322, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 8
Event: time 1678980449.359322, -------------- SYN_REPORT ------------
Event: time 1678980449.477227, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980449.477227, -------------- SYN_REPORT ------------
Event: time 1678980452.853702, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2745
Event: time 1678980452.853702, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 164
Event: time 1678980452.853702, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 166
Event: time 1678980452.853702, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 129
Event: time 1678980452.853702, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 61
Event: time 1678980452.853702, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 70
Event: time 1678980452.853702, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 23
Event: time 1678980452.853702, -------------- SYN_REPORT ------------
Event: time 1678980452.865306, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 161
Event: time 1678980452.865306, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 165
Event: time 1678980452.865306, -------------- SYN_REPORT ------------
Event: time 1678980452.877262, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 152
Event: time 1678980452.877262, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 159
Event: time 1678980452.877262, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 125
Event: time 1678980452.877262, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 52
Event: time 1678980452.877262, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 52
Event: time 1678980452.877262, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 20
Event: time 1678980452.877262, -------------- SYN_REPORT ------------
Event: time 1678980452.888882, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 144
Event: time 1678980452.888882, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 153
Event: time 1678980452.888882, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 122
Event: time 1678980452.888882, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 44
Event: time 1678980452.888882, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 18
Event: time 1678980452.888882, -------------- SYN_REPORT ------------
Event: time 1678980452.900667, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 136
Event: time 1678980452.900667, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 147
Event: time 1678980452.900667, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 120
Event: time 1678980452.900667, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 17
Event: time 1678980452.900667, -------------- SYN_REPORT ------------
Event: time 1678980452.912290, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 129
Event: time 1678980452.912290, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 142
Event: time 1678980452.912290, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 119
Event: time 1678980452.912290, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 15
Event: time 1678980452.912290, -------------- SYN_REPORT ------------
Event: time 1678980452.924062, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 123
Event: time 1678980452.924062, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 137
Event: time 1678980452.924062, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 127
Event: time 1678980452.924062, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 44
Event: time 1678980452.924062, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 35
Event: time 1678980452.924062, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 12
Event: time 1678980452.924062, -------------- SYN_REPORT ------------
Event: time 1678980452.935954, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 117
Event: time 1678980452.935954, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 131
Event: time 1678980452.935954, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 96
Event: time 1678980452.935954, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 10
Event: time 1678980452.935954, -------------- SYN_REPORT ------------
Event: time 1678980452.947697, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 113
Event: time 1678980452.947697, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 127
Event: time 1678980452.947697, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 185
Event: time 1678980452.947697, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 9
Event: time 1678980452.947697, -------------- SYN_REPORT ------------
Event: time 1678980452.959428, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 107
Event: time 1678980452.959428, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 120
Event: time 1678980452.959428, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 138
Event: time 1678980452.959428, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 17
Event: time 1678980452.959428, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 17
Event: time 1678980452.959428, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 3
Event: time 1678980452.959428, -------------- SYN_REPORT ------------
Event: time 1678980452.982934, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980452.982934, -------------- SYN_REPORT ------------
Event: time 1678980453.768627, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2746
Event: time 1678980453.768627, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 162
Event: time 1678980453.768627, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 76
Event: time 1678980453.768627, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 121
Event: time 1678980453.768627, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 26
Event: time 1678980453.768627, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 26
Event: time 1678980453.768627, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 5
Event: time 1678980453.768627, -------------- SYN_REPORT ------------
Event: time 1678980453.792775, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 81
Event: time 1678980453.792775, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 161
Event: time 1678980453.792775, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 35
Event: time 1678980453.792775, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 35
Event: time 1678980453.792775, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 9
Event: time 1678980453.792775, -------------- SYN_REPORT ------------
Event: time 1678980453.805774, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1
Event: time 1678980453.805774, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2747
Event: time 1678980453.805774, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 295
Event: time 1678980453.805774, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 161
Event: time 1678980453.805774, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 219
Event: time 1678980453.805774, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 52
Event: time 1678980453.805774, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 96
Event: time 1678980453.805774, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 23
Event: time 1678980453.805774, -------------- SYN_REPORT ------------
Event: time 1678980453.829184, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1678980453.829184, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980453.829184, -------------- SYN_REPORT ------------
Event: time 1678980453.839881, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1
Event: time 1678980453.839881, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 292
Event: time 1678980453.839881, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 149
Event: time 1678980453.839881, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 105
Event: time 1678980453.839881, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 24
Event: time 1678980453.839881, -------------- SYN_REPORT ------------
Event: time 1678980453.851669, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 287
Event: time 1678980453.851669, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 159
Event: time 1678980453.851669, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 150
Event: time 1678980453.851669, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 96
Event: time 1678980453.851669, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 23
Event: time 1678980453.851669, -------------- SYN_REPORT ------------
Event: time 1678980453.863617, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 284
Event: time 1678980453.863617, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 158
Event: time 1678980453.863617, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 152
Event: time 1678980453.863617, -------------- SYN_REPORT ------------
Event: time 1678980453.875454, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 283
Event: time 1678980453.875454, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 155
Event: time 1678980453.875454, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 105
Event: time 1678980453.875454, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 24
Event: time 1678980453.875454, -------------- SYN_REPORT ------------
Event: time 1678980453.910704, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980453.910704, -------------- SYN_REPORT ------------
Event: time 1678980454.891670, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1678980454.891670, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2748
Event: time 1678980454.891670, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 567
Event: time 1678980454.891670, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 268
Event: time 1678980454.891670, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 21
Event: time 1678980454.891670, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 8
Event: time 1678980454.891670, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 8
Event: time 1678980454.891670, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 1
Event: time 1678980454.891670, -------------- SYN_REPORT ------------
Event: time 1678980455.009869, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 569
Event: time 1678980455.009869, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 269
Event: time 1678980455.009869, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 30
Event: time 1678980455.009869, -------------- SYN_REPORT ------------
Event: time 1678980455.021774, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 31
Event: time 1678980455.021774, -------------- SYN_REPORT ------------
Event: time 1678980455.033427, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 571
Event: time 1678980455.033427, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 270
Event: time 1678980455.033427, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 34
Event: time 1678980455.033427, -------------- SYN_REPORT ------------
Event: time 1678980455.045229, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 572
Event: time 1678980455.045229, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 41
Event: time 1678980455.045229, -------------- SYN_REPORT ------------
Event: time 1678980455.057004, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 574
Event: time 1678980455.057004, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 271
Event: time 1678980455.057004, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 43
Event: time 1678980455.057004, -------------- SYN_REPORT ------------
Event: time 1678980455.068792, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 575
Event: time 1678980455.068792, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 272
Event: time 1678980455.068792, -------------- SYN_REPORT ------------
Event: time 1678980455.080772, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 576
Event: time 1678980455.080772, -------------- SYN_REPORT ------------
Event: time 1678980455.092466, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 577
Event: time 1678980455.092466, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 44
Event: time 1678980455.092466, -------------- SYN_REPORT ------------
Event: time 1678980455.104437, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 578
Event: time 1678980455.104437, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 45
Event: time 1678980455.104437, -------------- SYN_REPORT ------------
Event: time 1678980455.116231, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 579
Event: time 1678980455.116231, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 273
Event: time 1678980455.116231, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 47
Event: time 1678980455.116231, -------------- SYN_REPORT ------------
Event: time 1678980455.128202, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 48
Event: time 1678980455.128202, -------------- SYN_REPORT ------------
Event: time 1678980455.139826, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 580
Event: time 1678980455.139826, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 47
Event: time 1678980455.139826, -------------- SYN_REPORT ------------
Event: time 1678980455.151638, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 581
Event: time 1678980455.151638, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 48
Event: time 1678980455.151638, -------------- SYN_REPORT ------------
Event: time 1678980455.163427, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 47
Event: time 1678980455.163427, -------------- SYN_REPORT ------------
Event: time 1678980455.175219, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 46
Event: time 1678980455.175219, -------------- SYN_REPORT ------------
Event: time 1678980455.187053, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 47
Event: time 1678980455.187053, -------------- SYN_REPORT ------------
Event: time 1678980455.198955, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 46
Event: time 1678980455.198955, -------------- SYN_REPORT ------------
Event: time 1678980455.210662, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 44
Event: time 1678980455.210662, -------------- SYN_REPORT ------------
Event: time 1678980455.257792, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 45
Event: time 1678980455.257792, -------------- SYN_REPORT ------------
Event: time 1678980455.269611, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 46
Event: time 1678980455.269611, -------------- SYN_REPORT ------------
Event: time 1678980455.281465, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 274
Event: time 1678980455.281465, -------------- SYN_REPORT ------------
Event: time 1678980455.293373, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 47
Event: time 1678980455.293373, -------------- SYN_REPORT ------------
Event: time 1678980455.305222, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 48
Event: time 1678980455.305222, -------------- SYN_REPORT ------------
Event: time 1678980455.316935, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 275
Event: time 1678980455.316935, -------------- SYN_REPORT ------------
Event: time 1678980455.328764, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 49
Event: time 1678980455.328764, -------------- SYN_REPORT ------------
Event: time 1678980455.340730, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 50
Event: time 1678980455.340730, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 17
Event: time 1678980455.340730, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 17
Event: time 1678980455.340730, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 2
Event: time 1678980455.340730, -------------- SYN_REPORT ------------
Event: time 1678980455.352596, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 582
Event: time 1678980455.352596, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 51
Event: time 1678980455.352596, -------------- SYN_REPORT ------------
Event: time 1678980455.376098, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 583
Event: time 1678980455.376098, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 52
Event: time 1678980455.376098, -------------- SYN_REPORT ------------
Event: time 1678980455.387834, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 53
Event: time 1678980455.387834, -------------- SYN_REPORT ------------
Event: time 1678980455.399682, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 52
Event: time 1678980455.399682, -------------- SYN_REPORT ------------
Event: time 1678980455.411512, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 584
Event: time 1678980455.411512, -------------- SYN_REPORT ------------
Event: time 1678980455.435222, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 51
Event: time 1678980455.435222, -------------- SYN_REPORT ------------
Event: time 1678980455.458785, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 50
Event: time 1678980455.458785, -------------- SYN_REPORT ------------
Event: time 1678980455.470642, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 49
Event: time 1678980455.470642, -------------- SYN_REPORT ------------
Event: time 1678980455.482429, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 47
Event: time 1678980455.482429, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 8
Event: time 1678980455.482429, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 8
Event: time 1678980455.482429, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 1
Event: time 1678980455.482429, -------------- SYN_REPORT ------------
Event: time 1678980455.494246, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 46
Event: time 1678980455.494246, -------------- SYN_REPORT ------------
Event: time 1678980455.506088, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 45
Event: time 1678980455.506088, -------------- SYN_REPORT ------------
Event: time 1678980455.529665, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 274
Event: time 1678980455.529665, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 46
Event: time 1678980455.529665, -------------- SYN_REPORT ------------
Event: time 1678980455.553185, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 583
Event: time 1678980455.553185, -------------- SYN_REPORT ------------
Event: time 1678980455.576950, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 47
Event: time 1678980455.576950, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 17
Event: time 1678980455.576950, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 2
Event: time 1678980455.576950, -------------- SYN_REPORT ------------
Event: time 1678980455.600566, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 582
Event: time 1678980455.600566, -------------- SYN_REPORT ------------
Event: time 1678980455.612367, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 46
Event: time 1678980455.612367, -------------- SYN_REPORT ------------
Event: time 1678980455.624318, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 581
Event: time 1678980455.624318, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 50
Event: time 1678980455.624318, -------------- SYN_REPORT ------------
Event: time 1678980455.659590, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980455.659590, -------------- SYN_REPORT ------------
Event: time 1678980455.872055, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2749
Event: time 1678980455.872055, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 565
Event: time 1678980455.872055, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 232
Event: time 1678980455.872055, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 35
Event: time 1678980455.872055, -------------- SYN_REPORT ------------
Event: time 1678980455.919457, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980455.919457, -------------- SYN_REPORT ------------
Event: time 1678980456.261735, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2750
Event: time 1678980456.261735, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 204
Event: time 1678980456.261735, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 145
Event: time 1678980456.261735, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 245
Event: time 1678980456.261735, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 52
Event: time 1678980456.261735, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 79
Event: time 1678980456.261735, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 23
Event: time 1678980456.261735, -------------- SYN_REPORT ------------
Event: time 1678980456.285340, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 202
Event: time 1678980456.285340, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 249
Event: time 1678980456.285340, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 21
Event: time 1678980456.285340, -------------- SYN_REPORT ------------
Event: time 1678980456.296969, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 200
Event: time 1678980456.296969, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 251
Event: time 1678980456.296969, -------------- SYN_REPORT ------------
Event: time 1678980456.308774, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 199
Event: time 1678980456.308774, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 253
Event: time 1678980456.308774, -------------- SYN_REPORT ------------
Event: time 1678980456.320681, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 196
Event: time 1678980456.320681, -------------- SYN_REPORT ------------
Event: time 1678980456.332558, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 194
Event: time 1678980456.332558, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 135
Event: time 1678980456.332558, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 22
Event: time 1678980456.332558, -------------- SYN_REPORT ------------
Event: time 1678980456.344450, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 191
Event: time 1678980456.344450, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 136
Event: time 1678980456.344450, -------------- SYN_REPORT ------------
Event: time 1678980456.356365, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 189
Event: time 1678980456.356365, -------------- SYN_REPORT ------------
Event: time 1678980456.368071, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 187
Event: time 1678980456.368071, -------------- SYN_REPORT ------------
Event: time 1678980456.379827, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 186
Event: time 1678980456.379827, -------------- SYN_REPORT ------------
Event: time 1678980456.391769, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 185
Event: time 1678980456.391769, -------------- SYN_REPORT ------------
Event: time 1678980456.403560, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 146
Event: time 1678980456.403560, -------------- SYN_REPORT ------------
Event: time 1678980456.415357, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 147
Event: time 1678980456.415357, -------------- SYN_REPORT ------------
Event: time 1678980456.427083, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 135
Event: time 1678980456.427083, -------------- SYN_REPORT ------------
Event: time 1678980456.450767, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 183
Event: time 1678980456.450767, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 70
Event: time 1678980456.450767, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 21
Event: time 1678980456.450767, -------------- SYN_REPORT ------------
Event: time 1678980456.462616, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 181
Event: time 1678980456.462616, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 136
Event: time 1678980456.462616, -------------- SYN_REPORT ------------
Event: time 1678980456.474421, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 178
Event: time 1678980456.474421, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 22
Event: time 1678980456.474421, -------------- SYN_REPORT ------------
Event: time 1678980456.486107, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 176
Event: time 1678980456.486107, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 146
Event: time 1678980456.486107, -------------- SYN_REPORT ------------
Event: time 1678980456.497919, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 173
Event: time 1678980456.497919, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 135
Event: time 1678980456.497919, -------------- SYN_REPORT ------------
Event: time 1678980456.509691, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 169
Event: time 1678980456.509691, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 144
Event: time 1678980456.509691, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 61
Event: time 1678980456.509691, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 21
Event: time 1678980456.509691, -------------- SYN_REPORT ------------
Event: time 1678980456.521453, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 162
Event: time 1678980456.521453, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 140
Event: time 1678980456.521453, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 134
Event: time 1678980456.521453, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 52
Event: time 1678980456.521453, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 18
Event: time 1678980456.521453, -------------- SYN_REPORT ------------
Event: time 1678980456.533394, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 156
Event: time 1678980456.533394, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 136
Event: time 1678980456.533394, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 132
Event: time 1678980456.533394, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 44
Event: time 1678980456.533394, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 16
Event: time 1678980456.533394, -------------- SYN_REPORT ------------
Event: time 1678980456.545089, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 149
Event: time 1678980456.545089, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 130
Event: time 1678980456.545089, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 131
Event: time 1678980456.545089, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 44
Event: time 1678980456.545089, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 15
Event: time 1678980456.545089, -------------- SYN_REPORT ------------
Event: time 1678980456.556965, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 143
Event: time 1678980456.556965, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 125
Event: time 1678980456.556965, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 129
Event: time 1678980456.556965, -------------- SYN_REPORT ------------
Event: time 1678980456.568624, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 137
Event: time 1678980456.568624, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 119
Event: time 1678980456.568624, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 126
Event: time 1678980456.568624, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 13
Event: time 1678980456.568624, -------------- SYN_REPORT ------------
Event: time 1678980456.580450, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 131
Event: time 1678980456.580450, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 114
Event: time 1678980456.580450, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 182
Event: time 1678980456.580450, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 35
Event: time 1678980456.580450, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 35
Event: time 1678980456.580450, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 10
Event: time 1678980456.580450, -------------- SYN_REPORT ------------
Event: time 1678980456.592289, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 127
Event: time 1678980456.592289, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 108
Event: time 1678980456.592289, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 178
Event: time 1678980456.592289, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 9
Event: time 1678980456.592289, -------------- SYN_REPORT ------------
Event: time 1678980456.604083, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 124
Event: time 1678980456.604083, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 104
Event: time 1678980456.604083, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 172
Event: time 1678980456.604083, -------------- SYN_REPORT ------------
Event: time 1678980456.615741, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 121
Event: time 1678980456.615741, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 101
Event: time 1678980456.615741, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 165
Event: time 1678980456.615741, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 8
Event: time 1678980456.615741, -------------- SYN_REPORT ------------
Event: time 1678980456.627547, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 120
Event: time 1678980456.627547, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 98
Event: time 1678980456.627547, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 157
Event: time 1678980456.627547, -------------- SYN_REPORT ------------
Event: time 1678980456.639398, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 118
Event: time 1678980456.639398, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 93
Event: time 1678980456.639398, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 147
Event: time 1678980456.639398, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 26
Event: time 1678980456.639398, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 6
Event: time 1678980456.639398, -------------- SYN_REPORT ------------
Event: time 1678980456.651417, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 116
Event: time 1678980456.651417, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 89
Event: time 1678980456.651417, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 137
Event: time 1678980456.651417, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 7
Event: time 1678980456.651417, -------------- SYN_REPORT ------------
Event: time 1678980456.663213, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 114
Event: time 1678980456.663213, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 84
Event: time 1678980456.663213, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 110
Event: time 1678980456.663213, -------------- SYN_REPORT ------------
Event: time 1678980456.674993, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 60
Event: time 1678980456.674993, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 44
Event: time 1678980456.674993, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 8
Event: time 1678980456.674993, -------------- SYN_REPORT ------------
Event: time 1678980456.686681, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 116
Event: time 1678980456.686681, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 93
Event: time 1678980456.686681, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 39
Event: time 1678980456.686681, -------------- SYN_REPORT ------------
Event: time 1678980456.721753, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980456.721753, -------------- SYN_REPORT ------------
Event: time 1678980456.852569, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2751
Event: time 1678980456.852569, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 171
Event: time 1678980456.852569, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 170
Event: time 1678980456.852569, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 152
Event: time 1678980456.852569, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 35
Event: time 1678980456.852569, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 4
Event: time 1678980456.852569, -------------- SYN_REPORT ------------
Event: time 1678980456.864296, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 168
Event: time 1678980456.864296, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 166
Event: time 1678980456.864296, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 162
Event: time 1678980456.864296, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 52
Event: time 1678980456.864296, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 44
Event: time 1678980456.864296, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 12
Event: time 1678980456.864296, -------------- SYN_REPORT ------------
Event: time 1678980456.899877, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980456.899877, -------------- SYN_REPORT ------------
Event: time 1678980457.088908, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2752
Event: time 1678980457.088908, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 559
Event: time 1678980457.088908, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 323
Event: time 1678980457.088908, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 20
Event: time 1678980457.088908, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 8
Event: time 1678980457.088908, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 8
Event: time 1678980457.088908, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 1
Event: time 1678980457.088908, -------------- SYN_REPORT ------------
Event: time 1678980457.147739, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980457.147739, -------------- SYN_REPORT ------------
Event: time 1678980457.218854, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2753
Event: time 1678980457.218854, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 562
Event: time 1678980457.218854, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 324
Event: time 1678980457.218854, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 24
Event: time 1678980457.218854, -------------- SYN_REPORT ------------
Event: time 1678980457.372402, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 563
Event: time 1678980457.372402, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 326
Event: time 1678980457.372402, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 31
Event: time 1678980457.372402, -------------- SYN_REPORT ------------
Event: time 1678980457.384208, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 327
Event: time 1678980457.384208, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 34
Event: time 1678980457.384208, -------------- SYN_REPORT ------------
Event: time 1678980457.407838, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 328
Event: time 1678980457.407838, -------------- SYN_REPORT ------------
Event: time 1678980457.419587, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 33
Event: time 1678980457.419587, -------------- SYN_REPORT ------------
Event: time 1678980457.443297, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 34
Event: time 1678980457.443297, -------------- SYN_REPORT ------------
Event: time 1678980457.455066, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 329
Event: time 1678980457.455066, -------------- SYN_REPORT ------------
Event: time 1678980457.466825, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 37
Event: time 1678980457.466825, -------------- SYN_REPORT ------------
Event: time 1678980457.478626, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 564
Event: time 1678980457.478626, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 330
Event: time 1678980457.478626, -------------- SYN_REPORT ------------
Event: time 1678980457.490447, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 38
Event: time 1678980457.490447, -------------- SYN_REPORT ------------
Event: time 1678980457.502348, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 331
Event: time 1678980457.502348, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 39
Event: time 1678980457.502348, -------------- SYN_REPORT ------------
Event: time 1678980457.514147, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 565
Event: time 1678980457.514147, -------------- SYN_REPORT ------------
Event: time 1678980457.537759, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 566
Event: time 1678980457.537759, -------------- SYN_REPORT ------------
Event: time 1678980457.549529, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 332
Event: time 1678980457.549529, -------------- SYN_REPORT ------------
Event: time 1678980457.561279, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 41
Event: time 1678980457.561279, -------------- SYN_REPORT ------------
Event: time 1678980457.573215, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 567
Event: time 1678980457.573215, -------------- SYN_REPORT ------------
Event: time 1678980457.608508, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 568
Event: time 1678980457.608508, -------------- SYN_REPORT ------------
Event: time 1678980457.632234, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 43
Event: time 1678980457.632234, -------------- SYN_REPORT ------------
Event: time 1678980457.644055, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 569
Event: time 1678980457.644055, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 45
Event: time 1678980457.644055, -------------- SYN_REPORT ------------
Event: time 1678980457.655803, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 46
Event: time 1678980457.655803, -------------- SYN_REPORT ------------
Event: time 1678980457.667595, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 570
Event: time 1678980457.667595, -------------- SYN_REPORT ------------
Event: time 1678980457.679404, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 333
Event: time 1678980457.679404, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 47
Event: time 1678980457.679404, -------------- SYN_REPORT ------------
Event: time 1678980457.703162, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 571
Event: time 1678980457.703162, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 48
Event: time 1678980457.703162, -------------- SYN_REPORT ------------
Event: time 1678980457.726816, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 334
Event: time 1678980457.726816, -------------- SYN_REPORT ------------
Event: time 1678980457.738577, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 49
Event: time 1678980457.738577, -------------- SYN_REPORT ------------
Event: time 1678980457.750386, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 335
Event: time 1678980457.750386, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 52
Event: time 1678980457.750386, -------------- SYN_REPORT ------------
Event: time 1678980457.762285, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 336
Event: time 1678980457.762285, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 53
Event: time 1678980457.762285, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 17
Event: time 1678980457.762285, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 2
Event: time 1678980457.762285, -------------- SYN_REPORT ------------
Event: time 1678980457.774080, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 338
Event: time 1678980457.774080, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 55
Event: time 1678980457.774080, -------------- SYN_REPORT ------------
Event: time 1678980457.809356, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980457.809356, -------------- SYN_REPORT ------------
Event: time 1678980457.844950, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2754
Event: time 1678980457.844950, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 560
Event: time 1678980457.844950, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 334
Event: time 1678980457.844950, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 35
Event: time 1678980457.844950, -------------- SYN_REPORT ------------
Event: time 1678980457.880423, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980457.880423, -------------- SYN_REPORT ------------
Event: time 1678980458.068798, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2755
Event: time 1678980458.068798, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 132
Event: time 1678980458.068798, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 154
Event: time 1678980458.068798, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 222
Event: time 1678980458.068798, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 52
Event: time 1678980458.068798, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 52
Event: time 1678980458.068798, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 19
Event: time 1678980458.068798, -------------- SYN_REPORT ------------
Event: time 1678980458.092399, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 129
Event: time 1678980458.092399, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 152
Event: time 1678980458.092399, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 197
Event: time 1678980458.092399, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 44
Event: time 1678980458.092399, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 12
Event: time 1678980458.092399, -------------- SYN_REPORT ------------
Event: time 1678980458.104085, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 125
Event: time 1678980458.104085, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 149
Event: time 1678980458.104085, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 161
Event: time 1678980458.104085, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 35
Event: time 1678980458.104085, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 26
Event: time 1678980458.104085, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 6
Event: time 1678980458.104085, -------------- SYN_REPORT ------------
Event: time 1678980458.116413, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 124
Event: time 1678980458.116413, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 108
Event: time 1678980458.116413, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 17
Mar 16 18:33:44 reMarkable tarnish[22785]: UP (<Touch -1 (0, 0) released>)
Mar 16 18:33:44 reMarkable tarnish[22785]: Not swiping
Mar 16 18:33:44 reMarkable tarnish[22785]: UP (<Touch -1 (0, 0) released>)
Mar 16 18:33:44 reMarkable tarnish[22785]: Not swiping
Mar 16 18:33:44 reMarkable tarnish[22785]: UP (<Touch -1 (0, 0) released>)
Mar 16 18:33:44 reMarkable tarnish[22785]: Not swiping
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mWaiting for application to exit...[[0m
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: Input locale setting has changed, updating the key map.[[0m
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: Read a langCode of  ""[[0m
Mar 16 18:33:45 reMarkable tarnish[23157]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 16 18:33:45 reMarkable tarnish[23161]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 16 18:33:45 reMarkable tarnish[23160]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 16 18:33:45 reMarkable tarnish[23165]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 16 18:33:45 reMarkable tarnish[23169]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 16 18:33:45 reMarkable tarnish[22785]: DOWN (<Touch 3061 (1266, 253) pressed>)
Mar 16 18:33:45 reMarkable tarnish[22785]: MOVE (<Touch 3061 (1266, 258) pressed>)
Mar 16 18:33:45 reMarkable tarnish[22785]: UP (<Touch 3061 (1266, 258) released>)
Mar 16 18:33:45 reMarkable tarnish[22785]: Not swiping
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: No keymap set by QT settings or firmware, defaulting to US.[[0m
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: setting US keymap 293 147[[0m
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: numlock=0 , capslock=0, scrolllock=0[[0m
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: Input locale setting has changed, updating the key map.[[0m
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: Read a langCode of  ""[[0m
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: No keymap set by QT settings or firmware, defaulting to US.[[0m
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: setting US keymap 293 147[[0m
Mar 16 18:33:45 reMarkable codes.eeems.oxide[22785]: [[0;1;31m[[0;1;39m[[0;1;31mrm.epaperkeyboardhandler: numlock=0 , capslock=0, scrolllock=0[[0m
Mar 16 18:33:48 reMarkable tarnish[23172]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.

Input is very slow in this mode, I have to type multiple time to get it to react.

@Eeems
Copy link
Collaborator

Eeems commented Mar 16, 2023

I don't see anything in the log here saying that a swipe happened. It keeps logging Not swiping after touch up. Are you sure you captured the log at the right time? You can also filter out anything that doesn't start with reMarkable tarnish. I think you just need to follow the log with journalctl -fat tarnish

@X-Ryl669
Copy link
Author

X-Ryl669 commented Mar 16, 2023

That's what I did (journalctl -u tarnish). I don't see a swipe either (and I didn't do any), but the launcher triggered. I've no idea why it happened.

@Eeems
Copy link
Collaborator

Eeems commented Mar 16, 2023

That's what I did (journalctl -u tarnish). I don't see a swipe either (and I didn't do any), but the launcher triggered. I've no idea why it happened.

-u is for unit, -t is for identifier. journalctl -fat tarnish follows the tarnish identifier, and only shows logs for tarnish. journalctl -u tarnish outputs the logs for the tarnish service, and any subprocess. -u will have a bunch of extra logs that you don't really need to care about in it.
https://oxide.eeems.codes/faq.html#how-do-i-review-my-device-logs

Using journalctl -fat tarnish you should be able to see logs as they happen, so you would be able to see the swipe event as soon as it happens, as well as any surrounding logic. There will be logs when it switches applications, which the most recent logs you showed don't have.

@X-Ryl669
Copy link
Author

Here it is:

reMarkable: ~/ journalctl -fat tarnish
-- Logs begin at Thu 2023-03-16 18:36:36 UTC. --
Mar 24 13:11:09 reMarkable tarnish[28281]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:09 reMarkable tarnish[28284]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:09 reMarkable tarnish[28285]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:09 reMarkable tarnish[28289]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:09 reMarkable tarnish[28293]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:12 reMarkable tarnish[28296]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:12 reMarkable tarnish[28299]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:12 reMarkable tarnish[28300]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:12 reMarkable tarnish[28304]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:12 reMarkable tarnish[28308]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:15 reMarkable tarnish[28312]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:15 reMarkable tarnish[28315]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:15 reMarkable tarnish[28316]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:15 reMarkable tarnish[28320]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:15 reMarkable tarnish[28324]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:18 reMarkable tarnish[28328]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:18 reMarkable tarnish[28331]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:18 reMarkable tarnish[28332]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:18 reMarkable tarnish[28336]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:18 reMarkable tarnish[28340]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:18 reMarkable tarnish[24476]: rm.epaperkeyboardhandler: Input locale setting has changed, updating the key map.
Mar 24 13:11:18 reMarkable tarnish[24476]: rm.epaperkeyboardhandler: Read a langCode of  ""
Mar 24 13:11:18 reMarkable tarnish[24476]: rm.epaperkeyboardhandler: No keymap set by QT settings or firmware, defaulting to US.
Mar 24 13:11:18 reMarkable tarnish[24476]: rm.epaperkeyboardhandler: setting US keymap 293 147
Mar 24 13:11:18 reMarkable tarnish[24476]: rm.epaperkeyboardhandler: numlock=0 , capslock=0, scrolllock=0
Mar 24 13:11:18 reMarkable tarnish[24476]: rm.epaperkeyboardhandler: Input locale setting has changed, updating the key map.
Mar 24 13:11:18 reMarkable tarnish[24476]: rm.epaperkeyboardhandler: Read a langCode of  ""
Mar 24 13:11:18 reMarkable tarnish[24476]: rm.epaperkeyboardhandler: No keymap set by QT settings or firmware, defaulting to US.
Mar 24 13:11:18 reMarkable tarnish[24476]: rm.epaperkeyboardhandler: setting US keymap 293 147
Mar 24 13:11:18 reMarkable tarnish[24476]: rm.epaperkeyboardhandler: numlock=0 , capslock=0, scrolllock=0
Mar 24 13:11:21 reMarkable tarnish[28343]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:21 reMarkable tarnish[28346]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:21 reMarkable tarnish[28347]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:21 reMarkable tarnish[28351]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:21 reMarkable tarnish[28355]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:24 reMarkable tarnish[28358]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:24 reMarkable tarnish[28361]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:24 reMarkable tarnish[28362]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:24 reMarkable tarnish[28366]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:24 reMarkable tarnish[28370]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:27 reMarkable tarnish[28375]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:27 reMarkable tarnish[28378]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:27 reMarkable tarnish[28379]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:27 reMarkable tarnish[28383]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:27 reMarkable tarnish[28387]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:30 reMarkable tarnish[28390]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:30 reMarkable tarnish[28394]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:30 reMarkable tarnish[28393]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:30 reMarkable tarnish[28398]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:30 reMarkable tarnish[28402]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:33 reMarkable tarnish[28405]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:33 reMarkable tarnish[28408]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:33 reMarkable tarnish[28409]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:33 reMarkable tarnish[28413]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:33 reMarkable tarnish[28417]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:36 reMarkable tarnish[28420]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:36 reMarkable tarnish[28423]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:36 reMarkable tarnish[28424]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:36 reMarkable tarnish[28428]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:36 reMarkable tarnish[28432]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:37 reMarkable tarnish[24476]: Opening task switcher
Mar 24 13:11:37 reMarkable tarnish[24476]: Previous Applications ("codes.eeems.oxide", "xochitl")
Mar 24 13:11:37 reMarkable tarnish[24476]: Resuming  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Mar 24 13:11:37 reMarkable tarnish[24476]: Pausing  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Mar 24 13:11:37 reMarkable tarnish[24476]: Saving screen...
Mar 24 13:11:37 reMarkable tarnish[24476]: Compressing data...
Mar 24 13:11:37 reMarkable tarnish[24476]: Screen saved  151297 bytes
Mar 24 13:11:37 reMarkable tarnish[24476]: Paused  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Mar 24 13:11:37 reMarkable tarnish[24476]: Uncompressing screen...
Mar 24 13:11:37 reMarkable tarnish[24476]: Recalling screen...
Mar 24 13:11:37 reMarkable tarnish[24476]: Screen recalled.
Mar 24 13:11:37 reMarkable tarnish[24476]: Resumed  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Mar 24 13:11:38 reMarkable tarnish[28435]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:38 reMarkable tarnish[28438]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:38 reMarkable tarnish[28441]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:38 reMarkable tarnish[28444]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:39 reMarkable tarnish[28447]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:39 reMarkable tarnish[28450]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:39 reMarkable tarnish[28451]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:39 reMarkable tarnish[28455]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:39 reMarkable tarnish[28459]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:42 reMarkable tarnish[28462]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:42 reMarkable tarnish[28465]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:42 reMarkable tarnish[28466]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:42 reMarkable tarnish[28470]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:11:42 reMarkable tarnish[28474]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.

@X-Ryl669
Copy link
Author

And with debug:

Mar 24 13:22:03 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:04 reMarkable tarnish[30234]: DOWN (<Touch 4424 (1200, 229) pressed>)
Mar 24 13:22:04 reMarkable tarnish[30234]: UP (<Touch 4424 (1200, 229) released>)
Mar 24 13:22:04 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:04 reMarkable tarnish[30234]: DOWN (<Touch 4425 (1210, 221) pressed>)
Mar 24 13:22:04 reMarkable tarnish[30234]: MOVE (<Touch 4425 (1208, 222) pressed>)
Mar 24 13:22:04 reMarkable tarnish[30234]: UP (<Touch 4425 (1208, 222) released>)
Mar 24 13:22:04 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:04 reMarkable tarnish[30234]: DOWN (<Touch 4426 (1187, 237) pressed>)
Mar 24 13:22:04 reMarkable tarnish[31828]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:22:04 reMarkable tarnish[31831]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:22:04 reMarkable tarnish[31832]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:22:04 reMarkable tarnish[31836]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:22:04 reMarkable tarnish[31840]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:22:04 reMarkable tarnish[30234]: MOVE (<Touch 4426 (1187, 239) pressed>)
Mar 24 13:22:04 reMarkable tarnish[30234]: MOVE (<Touch 4426 (1187, 239) pressed>)
Mar 24 13:22:04 reMarkable tarnish[30234]: MOVE (<Touch 4426 (1187, 239) pressed>)
Mar 24 13:22:04 reMarkable tarnish[30234]: MOVE (<Touch 4426 (1187, 239) pressed>)
Mar 24 13:22:04 reMarkable tarnish[30234]: MOVE (<Touch 4426 (1185, 239) pressed>)
Mar 24 13:22:04 reMarkable tarnish[30234]: UP (<Touch 4426 (1185, 239) released>)
Mar 24 13:22:04 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:04 reMarkable tarnish[30234]: DOWN (<Touch 4427 (1179, 245) pressed>)
Mar 24 13:22:04 reMarkable tarnish[30234]: UP (<Touch 4427 (1179, 245) released>)
Mar 24 13:22:04 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:04 reMarkable tarnish[30234]: DOWN (<Touch 4428 (1180, 0) pressed>)
Mar 24 13:22:04 reMarkable tarnish[30234]: Swipe started 3
Mar 24 13:22:04 reMarkable tarnish[30234]: UP (<Touch 4428 (1180, 0) released>)
Mar 24 13:22:04 reMarkable tarnish[30234]: Swipe Cancelled
Mar 24 13:22:04 reMarkable tarnish[30234]: Write touch move <Touch 4428 (1180, 0) released>
Mar 24 13:22:04 reMarkable tarnish[30234]: Write touch up <Touch 4428 (1180, 0) released>
Mar 24 13:22:04 reMarkable tarnish[30234]: DOWN (<Touch 4429 (1184, 246) pressed>)
Mar 24 13:22:05 reMarkable tarnish[30234]: UP (<Touch 4429 (1184, 246) released>)
Mar 24 13:22:05 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:05 reMarkable tarnish[30234]: DOWN (<Touch 4430 (0, 245) pressed>)
Mar 24 13:22:05 reMarkable tarnish[30234]: Swipe started 1
Mar 24 13:22:05 reMarkable tarnish[30234]: UP (<Touch 4430 (0, 245) released>)
Mar 24 13:22:05 reMarkable tarnish[30234]: Swipe Cancelled
Mar 24 13:22:05 reMarkable tarnish[30234]: Write touch move <Touch 4430 (0, 245) released>
Mar 24 13:22:05 reMarkable tarnish[30234]: Write touch up <Touch 4430 (0, 245) released>
Mar 24 13:22:05 reMarkable tarnish[30234]: DOWN (<Touch 4431 (1185, 243) pressed>)
Mar 24 13:22:05 reMarkable tarnish[30234]: UP (<Touch 4431 (1185, 243) released>)
Mar 24 13:22:05 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:05 reMarkable tarnish[30234]: DOWN (<Touch 4432 (1200, 237) pressed>)
Mar 24 13:22:05 reMarkable tarnish[30234]: UP (<Touch 4432 (1200, 237) released>)
Mar 24 13:22:05 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:05 reMarkable tarnish[30234]: DOWN (<Touch 4433 (1197, 236) pressed>)
Mar 24 13:22:05 reMarkable tarnish[30234]: UP (<Touch 4433 (1197, 236) released>)
Mar 24 13:22:05 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:05 reMarkable tarnish[30234]: DOWN (<Touch 4434 (1201, 229) pressed>)
Mar 24 13:22:05 reMarkable tarnish[30234]: MOVE (<Touch 4434 (1199, 228) pressed>)
Mar 24 13:22:05 reMarkable tarnish[30234]: UP (<Touch 4434 (1199, 228) released>)
Mar 24 13:22:05 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:05 reMarkable tarnish[30234]: DOWN (<Touch 4435 (1200, 236) pressed>)
Mar 24 13:22:05 reMarkable tarnish[30234]: MOVE (<Touch 4435 (1197, 236) pressed>)
Mar 24 13:22:05 reMarkable tarnish[30234]: UP (<Touch 4435 (1197, 236) released>)
Mar 24 13:22:05 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:06 reMarkable tarnish[30234]: DOWN (<Touch 4436 (1191, 237) pressed>)
Mar 24 13:22:06 reMarkable tarnish[30234]: UP (<Touch 4436 (1191, 237) released>)
Mar 24 13:22:06 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:06 reMarkable tarnish[30234]: DOWN (<Touch 4437 (1206, 226) pressed>)
Mar 24 13:22:06 reMarkable tarnish[30234]: MOVE (<Touch 4437 (1206, 224) pressed>)
Mar 24 13:22:06 reMarkable tarnish[30234]: UP (<Touch 4437 (1206, 224) released>)
Mar 24 13:22:06 reMarkable tarnish[30234]: Not swiping
**Mar 24 13:22:06 reMarkable tarnish[30234]: DOWN (<Touch 4438 (0, 227) pressed>)**
Mar 24 13:22:06 reMarkable tarnish[30234]: Swipe started 1
Mar 24 13:22:06 reMarkable tarnish[30234]: MOVE (<Touch 4438 (1205, 224) pressed>)
Mar 24 13:22:06 reMarkable tarnish[30234]: UP (<Touch 4438 (1205, 224) released>)
Mar 24 13:22:06 reMarkable tarnish[30234]: Pausing  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Mar 24 13:22:06 reMarkable tarnish[30234]: Saving screen...
Mar 24 13:22:06 reMarkable tarnish[30234]: Compressing data...
Mar 24 13:22:06 reMarkable tarnish[30234]: Screen saved  337263 bytes
Mar 24 13:22:06 reMarkable tarnish[30234]: Paused  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Mar 24 13:22:06 reMarkable tarnish[30234]: Unable to find current application
Mar 24 13:22:06 reMarkable tarnish[30234]: Resuming  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Mar 24 13:22:06 reMarkable tarnish[30234]: Uncompressing screen...
Mar 24 13:22:07 reMarkable tarnish[30234]: Recalling screen...
Mar 24 13:22:07 reMarkable tarnish[30234]: Screen recalled.
Mar 24 13:22:07 reMarkable tarnish[30234]: Resumed  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Mar 24 13:22:07 reMarkable tarnish[30234]: Resuming previous application "codes.eeems.oxide"
Mar 24 13:22:07 reMarkable tarnish[30234]: Previous Applications ("xochitl")
Mar 24 13:22:07 reMarkable tarnish[30234]: Write touch move <Touch 4438 (-1, -1) released>
Mar 24 13:22:07 reMarkable tarnish[30234]: Write touch up <Touch 4438 (-1, -1) released>
Mar 24 13:22:07 reMarkable tarnish[30234]: Swipe direction 0
Mar 24 13:22:07 reMarkable tarnish[30234]: DOWN (<Touch 4439 (1198, 235) pressed>)
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch 4439 (1198, 235) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:07 reMarkable tarnish[30234]: DOWN (<Touch 4440 (1200, 237) pressed>)
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch 4440 (1200, 237) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:07 reMarkable tarnish[30234]: DOWN (<Touch 4441 (0, 227) pressed>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Swipe started 1
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch 4441 (0, 227) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Swipe Cancelled
Mar 24 13:22:07 reMarkable tarnish[30234]: Write touch move <Touch 4441 (0, 227) released>
Mar 24 13:22:07 reMarkable tarnish[30234]: Write touch up <Touch 4441 (0, 227) released>
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch -1 (0, 0) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch -1 (0, 0) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch -1 (0, 0) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch -1 (0, 0) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch -1 (0, 0) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch -1 (0, 0) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Not swiping
Mar 24 13:22:07 reMarkable tarnish[30234]: DOWN (<Touch 4443 (0, 238) pressed>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Swipe started 1
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch 4443 (0, 238) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Swipe Cancelled
Mar 24 13:22:07 reMarkable tarnish[30234]: Write touch move <Touch 4443 (0, 238) released>
Mar 24 13:22:07 reMarkable tarnish[30234]: Write touch up <Touch 4443 (0, 238) released>
Mar 24 13:22:07 reMarkable tarnish[30234]: DOWN (<Touch 4444 (1198, 224) pressed>)
Mar 24 13:22:07 reMarkable tarnish[31843]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:22:07 reMarkable tarnish[31846]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:22:07 reMarkable tarnish[31847]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:22:07 reMarkable tarnish[31851]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:22:07 reMarkable tarnish[31855]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Mar 24 13:22:07 reMarkable tarnish[30234]: UP (<Touch 4444 (1198, 224) released>)
Mar 24 13:22:07 reMarkable tarnish[30234]: Not swiping

This one shows a swipe detection. I've marked with ** the line with a suspicious down event with a X=0 value (in an ocean of X ~= 1200)

@X-Ryl669
Copy link
Author

By looking at the capture above, it seems that not all ABS_MT_POSITION_Y evdev's event are in pair with the ABS_MT_POSITION_X event, so it would confirm my suspicion. Maybe the event isn't send if there isn't any change in the value itself. Yet, the deserializing code to Touch instance expect to receive all of them to build a complete, valid instance.

@Eeems
Copy link
Collaborator

Eeems commented Mar 24, 2023

As I understand it, the code is serializing each member of the struct Touch one by one from the evdev's events.
So if one evdev event is missed, you can have missing members that are set in the Touch instance. It looks like it's the case, since the X or Y value isn't set and that's why it detects a swipe (huge swipe left since it's viewed as coming from 0 to 1200 for X, or huge swipe down when it's viewed as coming from 0 to 235 for Y).

It shouldn't be possible to miss events unless you create enough events to rotate through the ring buffer. I read them in a while loop with a yield to make sure the events are processed by the rest of the QT framework.

Having a sentinel value might not be a bad idea, but with the rest of the complexity around handling this, especially if we have the touch input grabbed where we have to echo it back after ungrabbing, we still need to be writing valid events instead of skipping them.

The -1 value used by touchup is not actually a sentinel value, it's because the invalid locations in theory will keep xochitl or any other software from properly registering this touch release as any action when tarnish handles the event. In practice, it rarely actually works.

By looking at the capture above, it seems that not all ABS_MT_POSITION_Y evdev's event are in pair with the ABS_MT_POSITION_X event, so it would confirm my suspicion. Maybe the event isn't send if there isn't any change in the value itself. Yet, the deserializing code to Touch instance expect to receive all of them to build a complete, valid instance.

Have you looked at the evtest output while this happens to confirm that it's missing events? Currently, you are only making guesses as to what might be happening without validating your hypothesis. On the reMarkable 1, ABS_MT_POSITION_X and ABS_MT_POSITION_Y are always sent, even if they haven't changed.

@X-Ryl669
Copy link
Author

Look at what I've posted last week, above. It contains the evtest output and it's missing the pair in multiple places.

@Eeems
Copy link
Collaborator

Eeems commented Mar 24, 2023

Looking at it, I don't see any missing pairs other than updates to existing touch slots, which would mean that both the x and the y are already populated. My code keeps track of the slots and just updates the existing Touch instance with any changes from an event for that slot. Since the first instance of that slot contains x/y already, it will have the full value.

https://github.com/Eeems-Org/oxide/blob/master/applications/system-service/systemapi.h#L482-L523

@X-Ryl669
Copy link
Author

X-Ryl669 commented Mar 24, 2023

Look at this extract:

A) Event: time 1678980453.805774, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1
Event: time 1678980453.805774, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2747
Event: time 1678980453.805774, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 295
Event: time 1678980453.805774, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 161
Event: time 1678980453.805774, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 219
Event: time 1678980453.805774, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 52
Event: time 1678980453.805774, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 96
Event: time 1678980453.805774, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 23
Event: time 1678980453.805774, -------------- SYN_REPORT ------------
B) Event: time 1678980453.829184, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1678980453.829184, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1

The slot is selected in A, the track become active and X and Y is set. Then the slot is changed in B and immediately, the track become unactive.
In the current code, when the slot is changed, a potentially zero/empty Touch instance will be fetched via getEvent and used from this.
Also, as soon as a track is unactive, the currentSlot becomes 0 in the code (line 492), but the capture clearly show that slot 0 is a potential value, like in this (later) extract:

Event: time 1678980454.891670, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1678980454.891670, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2748
Event: time 1678980454.891670, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 567
Event: time 1678980454.891670, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 268
Event: time 1678980454.891670, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 21
Event: time 1678980454.891670, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 8
Event: time 1678980454.891670, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 8
Event: time 1678980454.891670, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 1

So typically, the code might be writing a (wrong) X or Y value to slot 0 because it has seen a tracking id set to -1 anywhere before, and as such, erasing what true X or Y value in slot 0 that should have been. Or worse, it would use a stale data when slot 1 is selected but track id is set to -1 (so currentSlot becomes 0) and a SYN report is received. In that case, the touch for slot 0 will be loaded using whatever was in slot 0 at the time, while the last updated data has filled slot 1.

@Eeems
Copy link
Collaborator

Eeems commented Mar 24, 2023

Having stale data shouldn't be a problem, as ABS_MT_TRACKING_ID with a value that isn't -1 is always followed by setting all the other properties and then a EV_SYN and SYN_REPORT, which is where touch down/move/up are fired. So by the time those are handled, the Touch instance will now have the correct data.

My code also only uses the slots to identify the Touch instances, not the ABS_MT_TRACKING_ID. That is only used to track if a touch is down or up.

Since handling is single threaded, and each event is handled all the way through to the end before reading the next event, there should be no timing issues. That said, since this is on a rM2, and not a rM1, where the CPU is dual-core, it could be putting the threads on different cores and making this no longer work as expected. It might be worth trying to change the Qt::ConnectionType to Qt::BlockingQueuedConnection and testing to make sure that doesn't cause a deadlock. https://github.com/Eeems-Org/oxide/blob/master/applications/system-service/systemapi.h#L190-L193

@Eeems
Copy link
Collaborator

Eeems commented Mar 24, 2023

Okay, when a Touch has been released, it'll be removed from the slots: https://github.com/Eeems-Org/oxide/blob/master/applications/system-service/systemapi.h#L464-L469

From the logs you used as an example, this is what the state of the two slots would be, as well as when touchDown/touchUp are called. I included a little more of the context to show how it works.

                                                          | NULL,       NULL       |
type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2746 | (000, 000), NULL       |
type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 162   | (162, 000), NULL       |
type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 76    | (162, 076), NULL       |
type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 121     | (162, 076), NULL       |
type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 26   | (162, 076), NULL       |
type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 26   | (162, 076), NULL       |
type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 5    | (162, 076), NULL       |
-------------- SYN_REPORT ------------                    | (162, 076), NULL       | touchDown([(162, 076)])
type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 81    | (162, 081), NULL       |
type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 161     | (162, 081), NULL       |
type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 35   | (162, 081), NULL       |
type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 35   | (162, 081), NULL       |
type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 9    | (162, 081), NULL       |
-------------- SYN_REPORT ------------                    | (162, 081), NULL       | touchMove([(162, 081)])
type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1           | (162, 081), (000, 000) |
type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2747 | (162, 081), (000, 000) |
type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 295   | (162, 081), (295, 000) |
type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 161   | (162, 081), (295, 161) |
type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 219     | (162, 081), (295, 161) |
type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 52   | (162, 081), (295, 161) |
type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 96   | (162, 081), (295, 161) |
type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 23   | (162, 081), (295, 161) |
-------------- SYN_REPORT ------------                    | (162, 081), (295, 161) | touchDown([(295, 161)])
type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0           | (162, 081), (295, 161) |
type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1   | (162, 081), (295, 161) |
-------------- SYN_REPORT ------------                    | NULL,       (295, 161) | touchUp([(162, 081)])
type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0           | (000, 000), (295, 161) |
type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2748 | (000, 000), (295, 161) |
type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 567   | (567, 000), (295, 161) |
type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 268   | (567, 268), (295, 161) |
type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 21      | (567, 268), (295, 161) |
type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 8    | (567, 268), (295, 161) |
type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 8    | (567, 268), (295, 161) |
type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 1    | (567, 268), (295, 161) |
-------------- SYN_REPORT ------------                    | (567, 268), (295, 161) | touchDown([(567, 268)])

@X-Ryl669
Copy link
Author

X-Ryl669 commented Mar 27, 2023

Ok, nice step by step.
However, if you had:

-------------- SYN_REPORT ------------                    | (162, 081), (295, 161) | touchDown([(295, 161)])
type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1           | (162, 081), (295, 161) |
type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1   | (162, 081), (295, 161) |

(with MT_SLOT set to value 1 instead of 0),
then the next instance setting in the code will be targeting slot 0's Touch and not slot 1's Touch because of the currentSlot = 0 line in the code.

like these:

Event: time 1678980456.899877, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1678980456.899877, -------------- SYN_REPORT ------------
Event: time 1678980457.088908, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2752
Event: time 1678980457.088908, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 559
Event: time 1678980457.088908, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 323
Event: time 1678980457.088908, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 20
Event: time 1678980457.088908, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 8
Event: time 1678980457.088908, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 8
Event: time 1678980457.088908, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 1

The -1 will cause the good touchUp event, but the next events will use slot 0's Touch instance (instead of slot 1 since it wasn't unselected) to be filled and will corrupt it.

This might break what's set previously when the next MT_SLOT=0 / TRACKING_ID=-1 lines follow.
(like in the extract in your code above).

This could happen:

// Put one finger down somewhere
ABS_MT_SLOT = 0
ABS_MT_TRACKING_ID = XXX
ABS_MT_POS_X(y, pressure, I'mlazy) = some vector (1,2)
--- SYN-REPORT --  => slot0.touchDown(1,2)

// Put another finger down somewhere else
ABS_MT_SLOT = 1
ABS_MT_TRACKING_ID = XXX
ABS_MT_POS_X(y, pressure, I'mlazy) = some other vector (8,9)
--- SYN-REPORT --  => slot1.touchDown(8,9)

// Release second finger
ABS_MT_TRACKING_ID = -1 // Set currentSlot = 0!!!
--- SYN-REPORT => slot1.touchUp(8,9)

// Put the second finger down again
ABS_MT_TRACKING_ID = XXX
ABS_MT_POS_X(y, pressure, I'mlazy) = some other vector (8,9)
--- SYN-REPORT => slot0.touchDown(8,9)   // Or touchMove, or swipe, yet the first finger hasn't moved

Here, the touch for slot0 that happened at (1,2) is virtually moved to (8,9) because it's wrongly selected by the touch up event. This could cause an unwanted/wrong swipe.
Yet, the event stream hasn't explicitly selected slot0 here, so I think it's an error.

Also, we do observe half-filled touch instance, with either X or Y set to 0. So there's clearly some corruption going on here.

@Eeems
Copy link
Collaborator

Eeems commented Mar 27, 2023

Ah, I see what you are saying. I do believe that setting it to slot 0 is intentional, as things didn't work right if I didn't. I believe that I was seeing events where the slot wasn't changed to slot 0 even though it should have been after the touch was cleared.

Looking through the multi-touch-protocol, it doesn't talk about the slot changing after clearing a touch, so it is probably safe to assume that it shouldn't. I'll have to check with that line removed to see if things work as expected on my rM1. There is still the possibility of timing problems present on a rM2 that I can't replicate on a rM1.

Eeems added a commit that referenced this issue Mar 27, 2023
@Eeems
Copy link
Collaborator

Eeems commented Mar 27, 2023

Okay, a quick test with the following steps:

  1. Press one finger to the screen
  2. Press a second finger to the screen
  3. Remove the second finger
  4. Press the second finger
  5. Remove the second finger
  6. Remove the first finger

Produces the following:

Event: time 1679938268.837607, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 204
Event: time 1679938268.837607, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 380
Event: time 1679938268.837607, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 41
Event: time 1679938268.837607, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 122
Event: time 1679938268.837607, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 4
Event: time 1679938268.837607, -------------- SYN_REPORT ------------
Event: time 1679938269.095478, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1
Event: time 1679938269.095478, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 205
Event: time 1679938269.095478, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 196
Event: time 1679938269.095478, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 61
Event: time 1679938269.095478, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 142
Event: time 1679938269.095478, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 3
Event: time 1679938269.095478, -------------- SYN_REPORT ------------
Event: time 1679938269.182124, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1679938269.182124, -------------- SYN_REPORT ------------
Event: time 1679938269.399769, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 206
Event: time 1679938269.399769, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 194
Event: time 1679938269.399769, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 62
Event: time 1679938269.399769, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 159
Event: time 1679938269.399769, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 14
Event: time 1679938269.399769, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 5
Event: time 1679938269.399769, -------------- SYN_REPORT ------------
Event: time 1679938269.475359, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1679938269.475359, -------------- SYN_REPORT ------------
Event: time 1679938269.712505, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1679938269.712505, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1679938269.712505, -------------- SYN_REPORT ------------

So it does seem to match what you've identified. I've removed the currentSlot = 0 line and it works as expected. Likely this wasn't found before now, since my gestures are only for one finger, and people don't do a ton of on-screen keyboard typing that can confuse it. That or they haven't reported it.

Also, thank you for sticking with me through trying to explain this. I'm not operating at 100% right now, so it was quite difficult to keep my head around what we were talking about.

@Eeems Eeems removed the help wanted Extra attention is needed label Mar 27, 2023
@Eeems
Copy link
Collaborator

Eeems commented Apr 3, 2023

@X-Ryl669 would you be able to test the PR that should fix this? I'd like to know if it works or not.

@Eeems Eeems linked a pull request Apr 3, 2023 that will close this issue
@X-Ryl669
Copy link
Author

X-Ryl669 commented Apr 4, 2023

Tried with the linked PR and while it's better, it still happens (less often).

I'm getting these logs now:

reMarkable: ~/ journalctl -fat tarnish | grep -v "LD_PRELOAD"
-- Logs begin at Tue 2023-04-04 13:25:28 UTC. --
Apr 04 13:49:23 reMarkable tarnish[2240]: DOWN (<Touch 1120 (138, 1324) pressed>)
Apr 04 13:49:23 reMarkable tarnish[2240]: MOVE (<Touch 1120 (139, 1319) pressed>)
Apr 04 13:49:23 reMarkable tarnish[2240]: MOVE (<Touch 1120 (140, 1315) pressed>)
Apr 04 13:49:23 reMarkable tarnish[2240]: UP (<Touch 1120 (140, 1315) released>)
Apr 04 13:49:23 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:26 reMarkable tarnish[2240]: DOWN (<Touch 1121 (1065, 1293) pressed>)
Apr 04 13:49:26 reMarkable tarnish[2240]: MOVE (<Touch 1121 (1065, 1295) pressed>)
Apr 04 13:49:26 reMarkable tarnish[2240]: UP (<Touch 1121 (1065, 1295) released>)
Apr 04 13:49:26 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:27 reMarkable tarnish[2240]: DOWN (<Touch 1122 (1051, 1296) pressed>)
Apr 04 13:49:28 reMarkable tarnish[2240]: MOVE (<Touch 1122 (1051, 1298) pressed>)
Apr 04 13:49:28 reMarkable tarnish[2240]: UP (<Touch 1122 (1051, 1298) released>)
Apr 04 13:49:28 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:28 reMarkable tarnish[2240]: DOWN (<Touch 1123 (1010, 1300) pressed>)
Apr 04 13:49:28 reMarkable tarnish[2240]: UP (<Touch 1123 (1010, 1300) released>)
Apr 04 13:49:28 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:29 reMarkable tarnish[2240]: DOWN (<Touch 1124 (1021, 0) pressed>)
Apr 04 13:49:29 reMarkable tarnish[2240]: Swipe started 3
Apr 04 13:49:29 reMarkable tarnish[2240]: UP (<Touch 1124 (1021, 0) released>)
Apr 04 13:49:29 reMarkable tarnish[2240]: Swipe Cancelled
Apr 04 13:49:29 reMarkable tarnish[2240]: Write touch move <Touch 1124 (1021, 0) released>
Apr 04 13:49:29 reMarkable tarnish[2240]: Write touch up <Touch 1124 (1021, 0) released>
Apr 04 13:49:29 reMarkable tarnish[2240]: DOWN (<Touch 1125 (1009, 1309) pressed>)
Apr 04 13:49:29 reMarkable tarnish[2240]: UP (<Touch 1125 (1009, 1309) released>)
Apr 04 13:49:29 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:31 reMarkable tarnish[2240]: DOWN (<Touch 1126 (1036, 1285) pressed>)
Apr 04 13:49:31 reMarkable tarnish[2240]: UP (<Touch 1126 (1036, 1285) released>)
Apr 04 13:49:31 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:32 reMarkable tarnish[2240]: DOWN (<Touch 1127 (1035, 1293) pressed>)
Apr 04 13:49:32 reMarkable tarnish[2240]: UP (<Touch 1127 (1035, 1293) released>)
Apr 04 13:49:32 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:33 reMarkable tarnish[2240]: DOWN (<Touch 1128 (1050, 1289) pressed>)
Apr 04 13:49:33 reMarkable tarnish[2240]: MOVE (<Touch 1128 (1050, 1287) pressed>)
Apr 04 13:49:33 reMarkable tarnish[2240]: MOVE (<Touch 1128 (1049, 1287) pressed>)
Apr 04 13:49:33 reMarkable tarnish[2240]: UP (<Touch 1128 (1049, 1287) released>)
Apr 04 13:49:33 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:33 reMarkable tarnish[2240]: DOWN (<Touch 1129 (1001, 1298) pressed>)
Apr 04 13:49:33 reMarkable tarnish[2240]: UP (<Touch 1129 (1001, 1298) released>)
Apr 04 13:49:33 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:34 reMarkable tarnish[2240]: DOWN (<Touch 1130 (1000, 1271) pressed>)
Apr 04 13:49:34 reMarkable tarnish[2240]: UP (<Touch 1130 (1000, 1271) released>)
Apr 04 13:49:34 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:35 reMarkable tarnish[2240]: DOWN (<Touch 1131 (1037, 1282) pressed>)
Apr 04 13:49:35 reMarkable tarnish[2240]: UP (<Touch 1131 (1037, 1282) released>)
Apr 04 13:49:35 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:36 reMarkable tarnish[2240]: DOWN (<Touch 1132 (1059, 1285) pressed>)
Apr 04 13:49:36 reMarkable tarnish[2240]: MOVE (<Touch 1132 (1061, 1285) pressed>)
Apr 04 13:49:36 reMarkable tarnish[2240]: MOVE (<Touch 1132 (1064, 1285) pressed>)
Apr 04 13:49:36 reMarkable tarnish[2240]: MOVE (<Touch 1132 (1067, 1285) pressed>)
Apr 04 13:49:36 reMarkable tarnish[2240]: UP (<Touch 1132 (1067, 1285) released>)
Apr 04 13:49:36 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:40 reMarkable tarnish[2240]: DOWN (<Touch 1133 (1244, 221) pressed>)
Apr 04 13:49:40 reMarkable tarnish[2240]: UP (<Touch 1133 (1244, 221) released>)
Apr 04 13:49:40 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:40 reMarkable tarnish[2240]: DOWN (<Touch 1134 (1220, 230) pressed>)
Apr 04 13:49:40 reMarkable tarnish[2240]: UP (<Touch 1134 (1220, 230) released>)
Apr 04 13:49:40 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:40 reMarkable tarnish[2240]: DOWN (<Touch 1135 (1214, 224) pressed>)
Apr 04 13:49:40 reMarkable tarnish[2240]: UP (<Touch 1135 (1214, 224) released>)
Apr 04 13:49:40 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:40 reMarkable tarnish[2240]: DOWN (<Touch 1136 (0, 0) pressed>)
Apr 04 13:49:40 reMarkable tarnish[2240]: Swipe started 3
Apr 04 13:49:41 reMarkable tarnish[2240]: UP (<Touch 1136 (0, 0) released>)
Apr 04 13:49:41 reMarkable tarnish[2240]: Swipe Cancelled
Apr 04 13:49:41 reMarkable tarnish[2240]: Write touch move <Touch 1136 (0, 0) released>
Apr 04 13:49:41 reMarkable tarnish[2240]: Write touch up <Touch 1136 (0, 0) released>
Apr 04 13:49:41 reMarkable tarnish[2240]: DOWN (<Touch 1137 (1207, 214) pressed>)
Apr 04 13:49:41 reMarkable tarnish[2240]: UP (<Touch 1137 (1207, 214) released>)
Apr 04 13:49:41 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:41 reMarkable tarnish[2240]: DOWN (<Touch 1138 (1214, 210) pressed>)
Apr 04 13:49:41 reMarkable tarnish[2240]: UP (<Touch 1138 (1214, 210) released>)
Apr 04 13:49:41 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:41 reMarkable tarnish[2240]: DOWN (<Touch 1139 (1207, 0) pressed>)
Apr 04 13:49:41 reMarkable tarnish[2240]: Swipe started 3
Apr 04 13:49:41 reMarkable tarnish[2240]: UP (<Touch 1139 (1207, 0) released>)
Apr 04 13:49:41 reMarkable tarnish[2240]: Swipe Cancelled
Apr 04 13:49:41 reMarkable tarnish[2240]: Write touch move <Touch 1139 (1207, 0) released>
Apr 04 13:49:41 reMarkable tarnish[2240]: Write touch up <Touch 1139 (1207, 0) released>
Apr 04 13:49:41 reMarkable tarnish[2240]: DOWN (<Touch 1140 (1206, 208) pressed>)
Apr 04 13:49:41 reMarkable tarnish[2240]: UP (<Touch 1140 (1206, 208) released>)
Apr 04 13:49:41 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:41 reMarkable tarnish[2240]: DOWN (<Touch 1141 (1210, 202) pressed>)
Apr 04 13:49:41 reMarkable tarnish[2240]: UP (<Touch 1141 (1210, 202) released>)
Apr 04 13:49:41 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:41 reMarkable tarnish[2240]: DOWN (<Touch 1142 (1215, 194) pressed>)
Apr 04 13:49:41 reMarkable tarnish[2240]: UP (<Touch 1142 (1215, 194) released>)
Apr 04 13:49:41 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:41 reMarkable tarnish[2240]: DOWN (<Touch 1143 (1218, 197) pressed>)
Apr 04 13:49:42 reMarkable tarnish[2240]: UP (<Touch 1143 (1218, 197) released>)
Apr 04 13:49:42 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:42 reMarkable tarnish[2240]: DOWN (<Touch 1144 (1212, 205) pressed>)
Apr 04 13:49:42 reMarkable tarnish[2240]: UP (<Touch 1144 (1212, 205) released>)
Apr 04 13:49:42 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:42 reMarkable tarnish[2240]: DOWN (<Touch 1145 (1211, 220) pressed>)
Apr 04 13:49:42 reMarkable tarnish[2240]: UP (<Touch 1145 (1211, 220) released>)
Apr 04 13:49:42 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:42 reMarkable tarnish[2240]: DOWN (<Touch 1146 (0, 222) pressed>)
Apr 04 13:49:42 reMarkable tarnish[2240]: Swipe started 1
Apr 04 13:49:42 reMarkable tarnish[2240]: UP (<Touch 1146 (0, 222) released>)
Apr 04 13:49:42 reMarkable tarnish[2240]: Swipe Cancelled
Apr 04 13:49:42 reMarkable tarnish[2240]: Write touch move <Touch 1146 (0, 222) released>
Apr 04 13:49:42 reMarkable tarnish[2240]: Write touch up <Touch 1146 (0, 222) released>
Apr 04 13:49:42 reMarkable tarnish[2240]: DOWN (<Touch 1147 (1218, 225) pressed>)
Apr 04 13:49:42 reMarkable tarnish[2240]: UP (<Touch 1147 (1218, 225) released>)
Apr 04 13:49:42 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:42 reMarkable tarnish[2240]: DOWN (<Touch 1148 (1210, 220) pressed>)
Apr 04 13:49:42 reMarkable tarnish[2240]: UP (<Touch 1148 (1210, 220) released>)
Apr 04 13:49:42 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:42 reMarkable tarnish[2240]: DOWN (<Touch 1149 (1216, 231) pressed>)
Apr 04 13:49:42 reMarkable tarnish[2240]: UP (<Touch 1149 (1216, 231) released>)
Apr 04 13:49:42 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:42 reMarkable tarnish[2240]: DOWN (<Touch 1150 (1203, 233) pressed>)
Apr 04 13:49:43 reMarkable tarnish[2240]: UP (<Touch 1150 (1203, 233) released>)
Apr 04 13:49:43 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:43 reMarkable tarnish[2240]: DOWN (<Touch 1151 (1222, 226) pressed>)
Apr 04 13:49:43 reMarkable tarnish[2240]: UP (<Touch 1151 (1222, 226) released>)
Apr 04 13:49:43 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:43 reMarkable tarnish[2240]: DOWN (<Touch 1152 (1205, 236) pressed>)
Apr 04 13:49:43 reMarkable tarnish[2240]: UP (<Touch 1152 (1205, 236) released>)
Apr 04 13:49:43 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:43 reMarkable tarnish[2240]: DOWN (<Touch 1153 (1216, 235) pressed>)
Apr 04 13:49:43 reMarkable tarnish[2240]: MOVE (<Touch 1153 (1214, 235) pressed>)
Apr 04 13:49:43 reMarkable tarnish[2240]: UP (<Touch 1153 (1214, 235) released>)
Apr 04 13:49:43 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:43 reMarkable tarnish[2240]: DOWN (<Touch 1154 (1204, 238) pressed>)
Apr 04 13:49:43 reMarkable tarnish[2240]: UP (<Touch 1154 (1204, 238) released>)
Apr 04 13:49:43 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:43 reMarkable tarnish[2240]: DOWN (<Touch 1155 (1212, 233) pressed>)
Apr 04 13:49:43 reMarkable tarnish[2240]: MOVE (<Touch 1155 (1208, 233) pressed>)
Apr 04 13:49:43 reMarkable tarnish[2240]: UP (<Touch 1155 (1208, 233) released>)
Apr 04 13:49:43 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:43 reMarkable tarnish[2240]: DOWN (<Touch 1156 (1201, 244) pressed>)
Apr 04 13:49:43 reMarkable tarnish[2240]: UP (<Touch 1156 (1201, 244) released>)
Apr 04 13:49:43 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:43 reMarkable tarnish[2240]: DOWN (<Touch 1157 (1207, 237) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: UP (<Touch 1157 (1207, 237) released>)
Apr 04 13:49:44 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:44 reMarkable tarnish[2240]: DOWN (<Touch 1158 (1224, 236) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: MOVE (<Touch 1158 (1227, 234) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: UP (<Touch 1158 (1227, 234) released>)
Apr 04 13:49:44 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:44 reMarkable tarnish[2240]: DOWN (<Touch 1159 (1223, 231) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: MOVE (<Touch 1159 (1220, 231) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: UP (<Touch 1159 (1220, 231) released>)
Apr 04 13:49:44 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:44 reMarkable tarnish[2240]: DOWN (<Touch 1160 (1226, 240) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: UP (<Touch 1160 (1226, 240) released>)
Apr 04 13:49:44 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:44 reMarkable tarnish[2240]: DOWN (<Touch 1161 (1201, 248) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: UP (<Touch 1161 (1201, 248) released>)
Apr 04 13:49:44 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:44 reMarkable tarnish[2240]: DOWN (<Touch 1162 (1226, 239) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: UP (<Touch 1162 (1226, 239) released>)
Apr 04 13:49:44 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:44 reMarkable tarnish[2240]: DOWN (<Touch 1163 (1194, 255) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: UP (<Touch 1163 (1194, 255) released>)
Apr 04 13:49:44 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:44 reMarkable tarnish[2240]: DOWN (<Touch 1164 (1215, 242) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: MOVE (<Touch 1164 (1213, 242) pressed>)
Apr 04 13:49:44 reMarkable tarnish[2240]: UP (<Touch 1164 (1213, 242) released>)
Apr 04 13:49:44 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:45 reMarkable tarnish[2240]: DOWN (<Touch 1165 (1196, 256) pressed>)
Apr 04 13:49:45 reMarkable tarnish[2240]: UP (<Touch 1165 (1196, 256) released>)
Apr 04 13:49:45 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:45 reMarkable tarnish[2240]: DOWN (<Touch 1166 (1197, 249) pressed>)
Apr 04 13:49:45 reMarkable tarnish[2240]: UP (<Touch 1166 (1197, 249) released>)
Apr 04 13:49:45 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:45 reMarkable tarnish[2240]: DOWN (<Touch 1167 (1207, 247) pressed>)
Apr 04 13:49:45 reMarkable tarnish[2240]: UP (<Touch 1167 (1207, 247) released>)
Apr 04 13:49:45 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:45 reMarkable tarnish[2240]: DOWN (<Touch 1168 (1206, 0) pressed>)
Apr 04 13:49:45 reMarkable tarnish[2240]: Swipe started 3
Apr 04 13:49:45 reMarkable tarnish[2240]: UP (<Touch 1168 (1206, 0) released>)
Apr 04 13:49:45 reMarkable tarnish[2240]: Swipe Cancelled
Apr 04 13:49:45 reMarkable tarnish[2240]: Write touch move <Touch 1168 (1206, 0) released>
Apr 04 13:49:45 reMarkable tarnish[2240]: Write touch up <Touch 1168 (1206, 0) released>
Apr 04 13:49:45 reMarkable tarnish[2240]: DOWN (<Touch 1169 (1215, 233) pressed>)
Apr 04 13:49:45 reMarkable tarnish[2240]: UP (<Touch 1169 (1215, 233) released>)
Apr 04 13:49:45 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:45 reMarkable tarnish[2240]: DOWN (<Touch 1170 (1210, 228) pressed>)
Apr 04 13:49:45 reMarkable tarnish[2240]: UP (<Touch 1170 (1210, 228) released>)
Apr 04 13:49:45 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:45 reMarkable tarnish[2240]: DOWN (<Touch 1171 (1216, 225) pressed>)
Apr 04 13:49:45 reMarkable tarnish[2240]: UP (<Touch 1171 (1216, 225) released>)
Apr 04 13:49:45 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:46 reMarkable tarnish[2240]: DOWN (<Touch 1172 (1212, 228) pressed>)
Apr 04 13:49:46 reMarkable tarnish[2240]: UP (<Touch 1172 (1212, 228) released>)
Apr 04 13:49:46 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:46 reMarkable tarnish[2240]: DOWN (<Touch 1173 (1214, 222) pressed>)
Apr 04 13:49:46 reMarkable tarnish[2240]: UP (<Touch 1173 (1214, 222) released>)
Apr 04 13:49:46 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:46 reMarkable tarnish[2240]: DOWN (<Touch 1174 (1210, 223) pressed>)
Apr 04 13:49:46 reMarkable tarnish[2240]: UP (<Touch 1174 (1210, 223) released>)
Apr 04 13:49:46 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:46 reMarkable tarnish[2240]: DOWN (<Touch 1175 (0, 225) pressed>)
Apr 04 13:49:46 reMarkable tarnish[2240]: Swipe started 1
Apr 04 13:49:46 reMarkable tarnish[2240]: UP (<Touch 1175 (0, 225) released>)
Apr 04 13:49:46 reMarkable tarnish[2240]: Swipe Cancelled
Apr 04 13:49:46 reMarkable tarnish[2240]: Write touch move <Touch 1175 (0, 225) released>
Apr 04 13:49:46 reMarkable tarnish[2240]: Write touch up <Touch 1175 (0, 225) released>
Apr 04 13:49:46 reMarkable tarnish[2240]: DOWN (<Touch 1176 (1213, 217) pressed>)
Apr 04 13:49:46 reMarkable tarnish[2240]: UP (<Touch 1176 (1213, 217) released>)
Apr 04 13:49:46 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:46 reMarkable tarnish[2240]: DOWN (<Touch 1177 (1209, 228) pressed>)
Apr 04 13:49:46 reMarkable tarnish[2240]: UP (<Touch 1177 (1209, 228) released>)
Apr 04 13:49:46 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:46 reMarkable tarnish[2240]: DOWN (<Touch 1178 (1210, 227) pressed>)
Apr 04 13:49:46 reMarkable tarnish[2240]: UP (<Touch 1178 (1210, 227) released>)
Apr 04 13:49:46 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:47 reMarkable tarnish[2240]: DOWN (<Touch 1179 (1198, 237) pressed>)
Apr 04 13:49:47 reMarkable tarnish[2240]: UP (<Touch 1179 (1198, 237) released>)
Apr 04 13:49:47 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:47 reMarkable tarnish[2240]: DOWN (<Touch 1180 (1196, 238) pressed>)
Apr 04 13:49:47 reMarkable tarnish[2240]: UP (<Touch 1180 (1196, 238) released>)
Apr 04 13:49:47 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:47 reMarkable tarnish[2240]: DOWN (<Touch 1181 (1195, 239) pressed>)
Apr 04 13:49:47 reMarkable tarnish[2240]: UP (<Touch 1181 (1195, 239) released>)
Apr 04 13:49:47 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:47 reMarkable tarnish[2240]: DOWN (<Touch 1182 (1200, 0) pressed>)
Apr 04 13:49:47 reMarkable tarnish[2240]: Swipe started 3
Apr 04 13:49:47 reMarkable tarnish[2240]: UP (<Touch 1182 (1200, 0) released>)
Apr 04 13:49:47 reMarkable tarnish[2240]: Swipe Cancelled
Apr 04 13:49:47 reMarkable tarnish[2240]: Write touch move <Touch 1182 (1200, 0) released>
Apr 04 13:49:47 reMarkable tarnish[2240]: Write touch up <Touch 1182 (1200, 0) released>
Apr 04 13:49:47 reMarkable tarnish[2240]: DOWN (<Touch 1183 (1198, 238) pressed>)
Apr 04 13:49:47 reMarkable tarnish[2240]: UP (<Touch 1183 (1198, 238) released>)
Apr 04 13:49:47 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:47 reMarkable tarnish[2240]: DOWN (<Touch 1184 (1195, 237) pressed>)
Apr 04 13:49:47 reMarkable tarnish[2240]: UP (<Touch 1184 (1195, 237) released>)
Apr 04 13:49:47 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:47 reMarkable tarnish[2240]: DOWN (<Touch 1185 (1194, 238) pressed>)
Apr 04 13:49:47 reMarkable tarnish[2240]: UP (<Touch 1185 (1194, 238) released>)
Apr 04 13:49:47 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:47 reMarkable tarnish[2240]: DOWN (<Touch 1186 (1201, 234) pressed>)
Apr 04 13:49:48 reMarkable tarnish[2240]: MOVE (<Touch 1186 (1198, 234) pressed>)
Apr 04 13:49:48 reMarkable tarnish[2240]: UP (<Touch 1186 (1198, 234) released>)
Apr 04 13:49:48 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:48 reMarkable tarnish[2240]: DOWN (<Touch 1187 (1191, 244) pressed>)
Apr 04 13:49:48 reMarkable tarnish[2240]: UP (<Touch 1187 (1191, 244) released>)
Apr 04 13:49:48 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:48 reMarkable tarnish[2240]: DOWN (<Touch 1188 (1190, 243) pressed>)
Apr 04 13:49:48 reMarkable tarnish[2240]: UP (<Touch 1188 (1190, 243) released>)
Apr 04 13:49:48 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:48 reMarkable tarnish[2240]: DOWN (<Touch 1189 (1193, 245) pressed>)
Apr 04 13:49:48 reMarkable tarnish[2240]: UP (<Touch 1189 (1193, 245) released>)
Apr 04 13:49:48 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:48 reMarkable tarnish[2240]: DOWN (<Touch 1190 (1186, 248) pressed>)
Apr 04 13:49:48 reMarkable tarnish[2240]: UP (<Touch 1190 (1186, 248) released>)
Apr 04 13:49:48 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:48 reMarkable tarnish[2240]: DOWN (<Touch 1191 (1198, 238) pressed>)
Apr 04 13:49:48 reMarkable tarnish[2240]: UP (<Touch 1191 (1198, 238) released>)
Apr 04 13:49:48 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:48 reMarkable tarnish[2240]: DOWN (<Touch 1192 (0, 235) pressed>)
Apr 04 13:49:48 reMarkable tarnish[2240]: Swipe started 1
Apr 04 13:49:48 reMarkable tarnish[2240]: MOVE (<Touch 1192 (1196, 235) pressed>)
Apr 04 13:49:48 reMarkable tarnish[2240]: UP (<Touch 1192 (1196, 235) released>)
Apr 04 13:49:48 reMarkable tarnish[2240]: Pausing  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Apr 04 13:49:48 reMarkable tarnish[2240]: Saving screen...
Apr 04 13:49:49 reMarkable tarnish[2240]: Compressing data...
Apr 04 13:49:49 reMarkable tarnish[2240]: Screen saved  338654 bytes
Apr 04 13:49:49 reMarkable tarnish[2240]: Paused  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Apr 04 13:49:49 reMarkable tarnish[2240]: Unable to find current application
Apr 04 13:49:49 reMarkable tarnish[2240]: Resuming  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Apr 04 13:49:49 reMarkable tarnish[2240]: Uncompressing screen...
Apr 04 13:49:49 reMarkable tarnish[2240]: Recalling screen...
Apr 04 13:49:49 reMarkable tarnish[2240]: Screen recalled.
Apr 04 13:49:49 reMarkable tarnish[2240]: Resumed  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Apr 04 13:49:49 reMarkable tarnish[2240]: Resuming previous application "codes.eeems.oxide"
Apr 04 13:49:49 reMarkable tarnish[2240]: Previous Applications ()
Apr 04 13:49:49 reMarkable tarnish[2240]: Write touch move <Touch 1192 (-1, -1) released>
Apr 04 13:49:49 reMarkable tarnish[2240]: Write touch up <Touch 1192 (-1, -1) released>
Apr 04 13:49:49 reMarkable tarnish[2240]: Swipe direction 0
Apr 04 13:49:49 reMarkable tarnish[2240]: DOWN (<Touch 1193 (1190, 238) pressed>)
Apr 04 13:49:49 reMarkable tarnish[2240]: UP (<Touch 1193 (1190, 238) released>)
Apr 04 13:49:49 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:49 reMarkable tarnish[2240]: DOWN (<Touch 1194 (1182, 231) pressed>)
Apr 04 13:49:49 reMarkable tarnish[2240]: MOVE (<Touch 1194 (1180, 231) pressed>)
Apr 04 13:49:49 reMarkable tarnish[2240]: UP (<Touch 1194 (1180, 231) released>)
Apr 04 13:49:49 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:49 reMarkable tarnish[2240]: DOWN (<Touch 1195 (1187, 0) pressed>)
Apr 04 13:49:49 reMarkable tarnish[2240]: Swipe started 3
Apr 04 13:49:49 reMarkable tarnish[2240]: UP (<Touch 1195 (1187, 0) released>)
Apr 04 13:49:49 reMarkable tarnish[2240]: Swipe Cancelled
Apr 04 13:49:49 reMarkable tarnish[2240]: Write touch move <Touch 1195 (1187, 0) released>
Apr 04 13:49:49 reMarkable tarnish[2240]: Write touch up <Touch 1195 (1187, 0) released>
Apr 04 13:49:49 reMarkable tarnish[2240]: DOWN (<Touch 1196 (1200, 235) pressed>)
Apr 04 13:49:49 reMarkable tarnish[2240]: MOVE (<Touch 1196 (1200, 235) pressed>)
Apr 04 13:49:49 reMarkable tarnish[2240]: MOVE (<Touch 1197 (1195, 221) pressed>)
Apr 04 13:49:49 reMarkable tarnish[2240]: UP (<Touch 1197 (1195, 221) released>)
Apr 04 13:49:49 reMarkable tarnish[2240]: Not swiping
Apr 04 13:49:49 reMarkable tarnish[2240]: DOWN (<Touch 1198 (1192, 0) pressed>)
Apr 04 13:49:49 reMarkable tarnish[2240]: Swipe started 3
Apr 04 13:49:49 reMarkable tarnish[2240]: UP (<Touch 1198 (1192, 0) released>)
Apr 04 13:49:49 reMarkable tarnish[2240]: Swipe Cancelled
Apr 04 13:49:49 reMarkable tarnish[2240]: Write touch move <Touch 1198 (1192, 0) released>
Apr 04 13:49:49 reMarkable tarnish[2240]: Write touch up <Touch 1198 (1192, 0) released>
Apr 04 13:49:49 reMarkable tarnish[2240]: DOWN (<Touch 1199 (1195, 228) pressed>)
Apr 04 13:49:49 reMarkable tarnish[2240]: MOVE (<Touch 1199 (1193, 228) pressed>)
Apr 04 13:49:49 reMarkable tarnish[2240]: UP (<Touch 1199 (1193, 228) released>)
Apr 04 13:49:49 reMarkable tarnish[2240]: Not swiping

So it's clearly the x=0 or y=0 that triggers the issue.

Another shot, this time with both evtest and the tarnish logs:

Apr 04 14:13:47 reMarkable tarnish[7491]: DOWN (<Touch 2548 (1297, 224) pressed>)
Apr 04 14:13:47 reMarkable tarnish[7491]: UP (<Touch 2548 (1297, 224) released>)
Apr 04 14:13:47 reMarkable tarnish[7491]: Not swiping
Apr 04 14:13:47 reMarkable tarnish[7491]: DOWN (<Touch 2549 (1274, 222) pressed>)
Apr 04 14:13:47 reMarkable tarnish[7491]: UP (<Touch 2549 (1274, 222) released>)
Apr 04 14:13:47 reMarkable tarnish[7491]: Not swiping
Apr 04 14:13:47 reMarkable tarnish[7491]: DOWN (<Touch 2550 (1272, 201) pressed>)
Apr 04 14:13:47 reMarkable tarnish[7491]: UP (<Touch 2550 (1272, 201) released>)
Apr 04 14:13:47 reMarkable tarnish[7491]: Not swiping
Apr 04 14:13:47 reMarkable tarnish[7491]: DOWN (<Touch 2551 (1271, 204) pressed>)
Apr 04 14:13:47 reMarkable tarnish[7491]: UP (<Touch 2551 (1271, 204) released>)
Apr 04 14:13:47 reMarkable tarnish[7491]: Not swiping
Apr 04 14:13:47 reMarkable tarnish[7491]: DOWN (<Touch 2552 (1263, 0) pressed>)
Apr 04 14:13:47 reMarkable tarnish[7491]: Swipe started 3
Apr 04 14:13:48 reMarkable tarnish[7491]: MOVE (<Touch 2552 (1263, 202) pressed>)
Apr 04 14:13:48 reMarkable tarnish[7491]: UP (<Touch 2552 (1263, 202) released>)
Apr 04 14:13:48 reMarkable tarnish[7491]: Previous Applications ("codes.eeems.oxide", "xochitl")
Apr 04 14:13:48 reMarkable tarnish[7491]: Launching  "/codes/eeems/oxide1/apps/661a3023fc785f5b8d244960d7da0db5"
Apr 04 14:13:48 reMarkable tarnish[7491]: Pausing  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Apr 04 14:13:48 reMarkable tarnish[7491]: Saving screen...
Apr 04 14:13:48 reMarkable tarnish[7491]: Compressing data...
Apr 04 14:13:48 reMarkable tarnish[7491]: Screen saved  265270 bytes
Apr 04 14:13:48 reMarkable tarnish[7491]: Paused  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Apr 04 14:13:48 reMarkable tarnish[7491]: Application "codes.eeems.corrupt" is starting.
Apr 04 14:13:48 reMarkable tarnish[7491]: Application "codes.eeems.corrupt" is running.
Apr 04 14:13:48 reMarkable tarnish[7491]: Write touch move <Touch 2552 (-1, -1) released>
Apr 04 14:13:48 reMarkable tarnish[7491]: Write touch up <Touch 2552 (-1, -1) released>
Apr 04 14:13:48 reMarkable tarnish[7491]: Swipe direction 0
Apr 04 14:13:48 reMarkable tarnish[7491]: DOWN (<Touch 2553 (1252, 207) pressed>)
Apr 04 14:13:48 reMarkable tarnish[7491]: MOVE (<Touch 2553 (1252, 210) pressed>)
Apr 04 14:13:48 reMarkable tarnish[7491]: UP (<Touch 2553 (1252, 210) released>)
Apr 04 14:13:48 reMarkable tarnish[7491]: Not swiping
Apr 04 14:13:48 reMarkable tarnish[7491]: DOWN (<Touch 2554 (1263, 197) pressed>)
Apr 04 14:13:48 reMarkable tarnish[7491]: UP (<Touch 2554 (1263, 197) released>)
Apr 04 14:13:48 reMarkable tarnish[7491]: Not swiping
Apr 04 14:13:48 reMarkable tarnish[7491]: DOWN (<Touch 2555 (1259, 170) pressed>)
Apr 04 14:13:48 reMarkable tarnish[7491]: UP (<Touch 2555 (1259, 170) released>)
Apr 04 14:13:48 reMarkable tarnish[7491]: Not swiping
Apr 04 14:13:48 reMarkable tarnish[7491]: DOWN (<Touch 2556 (1262, 182) pressed>)
Apr 04 14:13:48 reMarkable tarnish[7491]: Checking permission "screen" from requestAPI
Apr 04 14:13:48 reMarkable tarnish[7491]: "codes.eeems.corrupt" true
Apr 04 14:13:48 reMarkable tarnish[7491]: UP (<Touch 2556 (1262, 182) released>)
Apr 04 14:13:48 reMarkable tarnish[7491]: Not swiping
Apr 04 14:13:48 reMarkable tarnish[7491]: Checking permission "apps" from requestAPI
Apr 04 14:13:48 reMarkable tarnish[7491]: "codes.eeems.corrupt" true
Apr 04 14:13:48 reMarkable tarnish[7491]: Checking permission "apps" from getApplicationPath
Apr 04 14:13:48 reMarkable tarnish[7491]: "codes.eeems.corrupt" true
Apr 04 14:13:48 reMarkable tarnish[7491]: DOWN (<Touch 2557 (1263, 186) pressed>)
Apr 04 14:13:48 reMarkable tarnish[7491]: UP (<Touch 2557 (1263, 186) released>)
Apr 04 14:13:48 reMarkable tarnish[7491]: Not swiping

and evtest output running at the same time:

Event: time 1680617627.382610, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2548
Event: time 1680617627.382610, type 3 (EV_ABS), code 25 (ABS_DISTANCE), value 0
Event: time 1680617627.382610, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1297
Event: time 1680617627.382610, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 224
Event: time 1680617627.382610, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 67
Event: time 1680617627.382610, -------------- SYN_REPORT ------------
Event: time 1680617627.483975, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617627.483975, -------------- SYN_REPORT ------------
Event: time 1680617627.555235, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2549
Event: time 1680617627.555235, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1274
Event: time 1680617627.555235, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 222
Event: time 1680617627.555235, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 68
Event: time 1680617627.555235, -------------- SYN_REPORT ------------
Event: time 1680617627.638009, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617627.638009, -------------- SYN_REPORT ------------
Event: time 1680617627.721068, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2550
Event: time 1680617627.721068, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1272
Event: time 1680617627.721068, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 201
Event: time 1680617627.721068, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 73
Event: time 1680617627.721068, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 17
Event: time 1680617627.721068, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 8
Event: time 1680617627.721068, -------------- SYN_REPORT ------------
Event: time 1680617627.803963, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617627.803963, -------------- SYN_REPORT ------------
Event: time 1680617627.863602, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2551
Event: time 1680617627.863602, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1271
Event: time 1680617627.863602, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 204
Event: time 1680617627.863602, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 72
Event: time 1680617627.863602, type 3 (EV_ABS), code 49 (ABS_MT_TOUCH_MINOR), value 17
Event: time 1680617627.863602, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 3
Event: time 1680617627.863602, -------------- SYN_REPORT ------------
Event: time 1680617627.946307, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617627.946307, -------------- SYN_REPORT ------------
Event: time 1680617627.993790, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2552
Event: time 1680617627.993790, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1263
Event: time 1680617627.993790, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 70
Event: time 1680617627.993790, -------------- SYN_REPORT ------------
Event: time 1680617628.053466, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 202
Event: time 1680617628.053466, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 40
Event: time 1680617628.053466, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 4
Event: time 1680617628.053466, -------------- SYN_REPORT ------------
Event: time 1680617628.088330, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617628.088330, -------------- SYN_REPORT ------------
Event: time 1680617628.112355, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2553
Event: time 1680617628.112355, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1252
Event: time 1680617628.112355, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 207
Event: time 1680617628.112355, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 66
Event: time 1680617628.112355, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 3
Event: time 1680617628.112355, -------------- SYN_REPORT ------------
Event: time 1680617628.230725, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 210
Event: time 1680617628.230725, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 35
Event: time 1680617628.230725, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 8
Event: time 1680617628.230725, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 2
Event: time 1680617628.230725, -------------- SYN_REPORT ------------
Event: time 1680617628.265983, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617628.265983, -------------- SYN_REPORT ------------
Event: time 1680617628.349174, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2554
Event: time 1680617628.349174, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1263
Event: time 1680617628.349174, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 197
Event: time 1680617628.349174, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 69
Event: time 1680617628.349174, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 17
Event: time 1680617628.349174, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 4
Event: time 1680617628.349174, -------------- SYN_REPORT ------------
Event: time 1680617628.431795, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617628.431795, -------------- SYN_REPORT ------------
Event: time 1680617628.515091, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2555
Event: time 1680617628.515091, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1259
Event: time 1680617628.515091, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 170
Event: time 1680617628.515091, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 62
Event: time 1680617628.515091, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 8
Event: time 1680617628.515091, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 2
Event: time 1680617628.515091, -------------- SYN_REPORT ------------
Event: time 1680617628.597831, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617628.597831, -------------- SYN_REPORT ------------
Event: time 1680617628.645274, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2556
Event: time 1680617628.645274, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1262
Event: time 1680617628.645274, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 182
Event: time 1680617628.645274, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 65
Event: time 1680617628.645274, -------------- SYN_REPORT ------------
Event: time 1680617628.739836, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617628.739836, -------------- SYN_REPORT ------------
Event: time 1680617628.811120, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2557
Event: time 1680617628.811120, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1263
Event: time 1680617628.811120, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 186
Event: time 1680617628.811120, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 66
Event: time 1680617628.811120, -------------- SYN_REPORT ------------
Event: time 1680617628.905577, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617628.905577, -------------- SYN_REPORT ------------

If you look at problematic touch with id 2552, a syn_report happens before the Y value is sent, and it seems tarnish handles it before it's complete.

@X-Ryl669
Copy link
Author

X-Ryl669 commented Apr 4, 2023

So, I've made this patch:

diff --git a/applications/system-service/systemapi.h b/applications/system-service/systemapi.h
index 112d044..3e6dd29 100644
--- a/applications/system-service/systemapi.h
+++ b/applications/system-service/systemapi.h
@@ -43,8 +43,8 @@ struct Inhibitor {
 struct Touch {
     int slot = 0;
     int id = -1;
-    int x = 0;
-    int y = 0;
+    int x = -1;
+    int y = -1;
     bool active = false;
     bool existing = false;
     bool modified = true;
@@ -55,6 +55,9 @@ struct Touch {
     string debugString() const{
         return "<Touch " + to_string(id) + " (" + to_string(x) + ", " + to_string(y) + ") " + (active ? "pressed" : "released") + ">";
     }
+    bool valid() const{
+        return x != -1 && y != -1;
+    }
 };
 QDebug operator<<(QDebug debug, const Touch& touch);
 QDebug operator<<(QDebug debug, Touch* touch);
@@ -433,6 +436,9 @@ private slots:
                         QList<Touch*> pressed;
                         QList<Touch*> moved;
                         for(auto touch : touches.values()){
+                            if(!touch->valid()){
+                                continue;
+                            }
                             if(touch->id == -1){
                                 touch->active = false;
                                 released.append(touch);

And relaunched tarnish and it works. I actually ignore SYN_REPORT until all elements are set (x, y). I think some spurious report are being emitted and it doesn't match the assumption of the code that's expecting such report to happen only when all information from the event is sent.

@X-Ryl669
Copy link
Author

X-Ryl669 commented Apr 4, 2023

Maybe the position for the valid touch test should be moved after the id==-1 part or the valid method should ignore those when id == -1. This patch also work, and I think it's better since it won't capture the id==-1 case like the previous one:

diff --git a/applications/system-service/systemapi.h b/applications/system-service/systemapi.h
index 112d044..a202b09 100644
--- a/applications/system-service/systemapi.h
+++ b/applications/system-service/systemapi.h
@@ -43,8 +43,8 @@ struct Inhibitor {
 struct Touch {
     int slot = 0;
     int id = -1;
-    int x = 0;
-    int y = 0;
+    int x = -1;
+    int y = -1;
     bool active = false;
     bool existing = false;
     bool modified = true;
@@ -55,6 +55,9 @@ struct Touch {
     string debugString() const{
         return "<Touch " + to_string(id) + " (" + to_string(x) + ", " + to_string(y) + ") " + (active ? "pressed" : "released") + ">";
     }
+    bool valid() const{
+        return id == -1 || (x != -1 && y != -1);
+    }
 };
 QDebug operator<<(QDebug debug, const Touch& touch);
 QDebug operator<<(QDebug debug, Touch* touch);
@@ -428,6 +431,10 @@ private slots:
                     case SYN_REPORT:
                         // Always mark the current slot as modified
                         auto touch = getEvent(currentSlot);
+                        // Ignore spurious SYN_REPORT if the event isn't complete
+                        if(!touch->valid()){
+                            break;
+                        }
                         touch->modified = true;
                         QList<Touch*> released;
                         QList<Touch*> pressed;

@Eeems
Copy link
Collaborator

Eeems commented Apr 4, 2023

Okay, so this seems to be the problem event:

Event: time 1680617627.993790, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 2552
Event: time 1680617627.993790, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1263
Event: time 1680617627.993790, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 70
Event: time 1680617627.993790, -------------- SYN_REPORT ------------
Event: time 1680617628.053466, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 202
Event: time 1680617628.053466, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 40
Event: time 1680617628.053466, type 3 (EV_ABS), code 52 (ABS_MT_ORIENTATION), value 4
Event: time 1680617628.053466, -------------- SYN_REPORT ------------
Event: time 1680617628.088330, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
Event: time 1680617628.088330, -------------- SYN_REPORT ------------

For some reason, the touch event is sent with only ABS_MT_POSITION_X and then the ABS_MT_POSITION_Y is sent in the next report. This doesn't seem valid at all to me, and seems to be a bug with the driver. Since this is possible, I'll concede to adding a guard value.

@Eeems
Copy link
Collaborator

Eeems commented Apr 4, 2023

I've pushed an update with the guard in place.

@eeems-sentry
Copy link

eeems-sentry bot commented Apr 4, 2023

Sentry issue: OXIDE-4

@X-Ryl669
Copy link
Author

X-Ryl669 commented Apr 4, 2023

I think your patch doesn't work. I've tried a similar approach at first, but it fails, some swipe aren't detected anymore.

Please check my review of your patch for the explanation.

@Eeems
Copy link
Collaborator

Eeems commented Apr 4, 2023

I had a crash report come in while you were testing. Since nobody other than you and I would have it report as v2.6, since I fixed the version number reporting in the PR, and since I have a rM1, not a rM2, my guess is that this was from you @X-Ryl669. I don't have debug symbols for the PR uploaded, so I didn't get a ton of information. Did you happen to notice a crash at all?
Here is the public view for the issue: https://sentry.eeems.codes/share/issue/ac06801484ef4e55877983328835fddf/

The breadcrumbs don't really give a ton to work with either:
image

@Eeems
Copy link
Collaborator

Eeems commented Apr 4, 2023

I think your patch doesn't work. I've tried a similar approach at first, but it fails, some swipe aren't detected anymore.

Please check my review of your patch for the explanation.

I don't see anything on the PR yet, did you forget to hit submit?

@X-Ryl669
Copy link
Author

X-Ryl669 commented Apr 4, 2023

Right, that was me. I didn't know it had telemetry. You can probably ignore those since I've played with the code with multiple fixes until I had something working correctly. Also, I don't really understand the relation between tarnish and oxide startup sequence, so I've started oxide without stopping tarnish, updated the former, the latter and that crashed. I had to reboot to get the tablet to work again.

Also, Xochitl crashes a lot with the new text feature, but I guess it's not due to tarnish, but on poorly tested code from them.

@Eeems
Copy link
Collaborator

Eeems commented Apr 4, 2023

Right, that was me. I didn't know it had telemetry.

Did you not get the opt-in prompt on first launch? If not, that would be a bug. Telemetry starts enabled by default just in case it crashes out before you can get to the opt-in prompt, but then there is an opt-in prompt that lets you specify what level of telemetry you want:

You can trigger this flow with the following steps:

xdg-settings set firstLaunch true
rot apps call getApplicationPath "QString:\"codes.eeems.decay\"" \
     | jq -cr | sed 's|/codes/eeems/oxide1/||' \
     | xargs -I {} rot --object Application:{} apps call stop
xdg-open oxide:codes.eeems.decay

You can probably ignore those since I've played with the code with multiple fixes until I had something working correctly. Also, I don't really understand the relation between tarnish and oxide startup sequence, so I've started oxide without stopping tarnish, updated the former, the latter and that crashed. I had to reboot to get the tablet to work again.

Tarnish is the only thing you need to launch, it'll start everything else. You can think of it as a mini-init system. Oxide and other applications use the DBus API provided by tarnish, and will fail to run if it's not running. They also have to be started from tarnish so that tarnish is aware of the application and can manage it properly. At some point I'll get around to implementing a re-parenting system and let applications register themselves as running under tarnish.

Also, Xochitl crashes a lot with the new text feature, but I guess it's not due to tarnish, but on poorly tested code from them.

I've heard that the betas have been crashing a lot recently. They have their own crash reporting, so in theory they should be working on it. I don't get crash reports for xochitl, only oxide applications if you have telemetry enabled.

@X-Ryl669
Copy link
Author

X-Ryl669 commented Apr 4, 2023

I'm not running their beta software, only the official release (currently 3.2 something IIRC).

Maybe I had the telemetry dialog when I first installed Oxide, but it was years ago, I don't remember. Anyway, it's ok for me if it's helpful.

As for xochitl crashing, I haven't kept the tarnish log (sorry, I didn't know it would be useful), but tarnish was crashing too when it's happened. And since I haven't started it with systemctl, it didn't restart and only a reboot saved the day.

There are multiple issue with locking reported in the logs, and sometime the screen is corrupted (see the rm2fb issue thread for more details). I haven't figured out the exact sequence to reproduce it. I know that it happens when restarting tarnish a lot. You need to start Xochitl too. Sometimes it fails spectacularly (you'd get half the screen rendered by Oxide and half the screen by xochitl) and in that case, it crashes easily by touching everywhere.

I guess it would be another issue report then.

@Eeems
Copy link
Collaborator

Eeems commented Apr 4, 2023

There are multiple issue with locking reported in the logs, and sometime the screen is corrupted (see the rm2fb issue thread for more details). I haven't figured out the exact sequence to reproduce it. I know that it happens when restarting tarnish a lot. You need to start Xochitl too. Sometimes it fails spectacularly (you'd get half the screen rendered by Oxide and half the screen by xochitl) and in that case, it crashes easily by touching everywhere.

Sounds like you somehow have the tarnish and xochitl service running at the same time. If tarnish crashes, it can also leave behind some of the running applications, and they might hold onto the lock as they are in a paused state. You can always just check the running processes and kill -9 the ones that are paused but not children of the active tarnish service.

Eeems added a commit that referenced this issue Apr 24, 2023
* Fix #296

* Add code to handle skipping SYN_DROPPED events

* Fix version reporting to sentry

* Handle invalid touch events

* Add install-lib methods, don't set existing if invalid touch event
@github-project-automation github-project-automation bot moved this to Done in Oxide Apr 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working 📱 reMarkable 2
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants