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

rM: Disable input shenanigans on mainline kernels #10168

Merged
merged 11 commits into from Mar 2, 2023

Conversation

NiLuJe
Copy link
Member

@NiLuJe NiLuJe commented Feb 28, 2023

Fix #10012


This change is Reviewable

@NiLuJe
Copy link
Member Author

NiLuJe commented Feb 28, 2023

(Untested)

Comment on lines 167 to 170
if not is_mainline then
self.input:registerEventAdjustHook(adjustAbsEvt)
self.input:registerEventAdjustHook(self.adjustTouchEvent, {mt_scale_x=scalex, mt_scale_y=scaley})
end
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Only thing is that the Y values still need to be inverted for mainline

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change also breaks the Wacom input that worked before this change

Copy link
Member Author

@NiLuJe NiLuJe Mar 1, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does a wacom input frame look like?

The fact that the panel spits out (duplicate, as it already send the MT ones first) ABS_X & ABS_Y (non-MT) events might make cohabitation between the two tricky, as we don't track which device events come from.

I might be able to finagle something based on the tool type reported in the frame, though...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The wacom frames don't include the MT ones, but the MT ones don't seem to work with touch

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a Wacom touch frame:

Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x2d1f product 0x95 version 0x100
Input device name: "hid-over-i2c 2D1F:0095 Stylus"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 320 (BTN_TOOL_PEN)
    Event code 321 (BTN_TOOL_RUBBER)
    Event code 330 (BTN_TOUCH)
    Event code 331 (BTN_STYLUS)
    Event code 332 (BTN_STYLUS2)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value   3602
      Min        0
      Max    20966
      Resolution     100
    Event code 1 (ABS_Y)
      Value  11158
      Min        0
      Max    15725
      Resolution     100
    Event code 2 (ABS_Z)
      Value    -82
      Min     -255
      Max        0
      Resolution      10
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max     4095
    Event code 26 (ABS_TILT_X)
      Value    500
      Min    -9000
      Max     9000
      Resolution    5730
    Event code 27 (ABS_TILT_Y)
      Value   -300
      Min    -9000
      Max     9000
      Resolution    5730
    Event code 40 (ABS_MISC)
      Value      0
      Min        0
      Max        3
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 1677671460.594944, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 1
Event: time 1677671460.594944, type 3 (EV_ABS), code 0 (ABS_X), value 3581
Event: time 1677671460.594944, type 3 (EV_ABS), code 1 (ABS_Y), value 6421
Event: time 1677671460.594944, type 3 (EV_ABS), code 26 (ABS_TILT_X), value 200
Event: time 1677671460.594944, type 3 (EV_ABS), code 27 (ABS_TILT_Y), value -500
Event: time 1677671460.594944, type 3 (EV_ABS), code 2 (ABS_Z), value -76
Event: time 1677671460.594944, -------------- SYN_REPORT ------------
Event: time 1677671460.598575, type 3 (EV_ABS), code 0 (ABS_X), value 3582
Event: time 1677671460.598575, -------------- SYN_REPORT ------------
Event: time 1677671460.601368, type 3 (EV_ABS), code 2 (ABS_Z), value -75
Event: time 1677671460.601368, -------------- SYN_REPORT ------------
Event: time 1677671460.606231, type 3 (EV_ABS), code 0 (ABS_X), value 3583
Event: time 1677671460.606231, type 3 (EV_ABS), code 1 (ABS_Y), value 6422
Event: time 1677671460.606231, type 3 (EV_ABS), code 2 (ABS_Z), value -74
Event: time 1677671460.606231, -------------- SYN_REPORT ------------
Event: time 1677671460.609093, type 3 (EV_ABS), code 0 (ABS_X), value 3584
Event: time 1677671460.609093, type 3 (EV_ABS), code 2 (ABS_Z), value -73
Event: time 1677671460.609093, -------------- SYN_REPORT ------------
Event: time 1677671460.611620, type 3 (EV_ABS), code 0 (ABS_X), value 3585
Event: time 1677671460.611620, type 3 (EV_ABS), code 2 (ABS_Z), value -72
Event: time 1677671460.611620, -------------- SYN_REPORT ------------
Event: time 1677671460.614295, type 3 (EV_ABS), code 0 (ABS_X), value 3587
Event: time 1677671460.614295, type 3 (EV_ABS), code 2 (ABS_Z), value -71
Event: time 1677671460.614295, -------------- SYN_REPORT ------------
Event: time 1677671460.616957, type 3 (EV_ABS), code 0 (ABS_X), value 3589
Event: time 1677671460.616957, type 3 (EV_ABS), code 2 (ABS_Z), value -69
Event: time 1677671460.616957, -------------- SYN_REPORT ------------
Event: time 1677671460.619706, type 3 (EV_ABS), code 0 (ABS_X), value 3594
Event: time 1677671460.619706, type 3 (EV_ABS), code 1 (ABS_Y), value 6423
Event: time 1677671460.619706, type 3 (EV_ABS), code 2 (ABS_Z), value -67
Event: time 1677671460.619706, -------------- SYN_REPORT ------------
Event: time 1677671460.622810, type 3 (EV_ABS), code 0 (ABS_X), value 3599
Event: time 1677671460.622810, type 3 (EV_ABS), code 1 (ABS_Y), value 6424
Event: time 1677671460.622810, type 3 (EV_ABS), code 2 (ABS_Z), value -65
Event: time 1677671460.622810, -------------- SYN_REPORT ------------
Event: time 1677671460.624919, type 3 (EV_ABS), code 0 (ABS_X), value 3605
Event: time 1677671460.624919, type 3 (EV_ABS), code 1 (ABS_Y), value 6426
Event: time 1677671460.624919, type 3 (EV_ABS), code 2 (ABS_Z), value -63
Event: time 1677671460.624919, -------------- SYN_REPORT ------------
Event: time 1677671460.627174, type 3 (EV_ABS), code 0 (ABS_X), value 3612
Event: time 1677671460.627174, type 3 (EV_ABS), code 1 (ABS_Y), value 6427
Event: time 1677671460.627174, type 3 (EV_ABS), code 2 (ABS_Z), value -62
Event: time 1677671460.627174, -------------- SYN_REPORT ------------
Event: time 1677671460.630125, type 3 (EV_ABS), code 0 (ABS_X), value 3619
Event: time 1677671460.630125, type 3 (EV_ABS), code 1 (ABS_Y), value 6429
Event: time 1677671460.630125, type 3 (EV_ABS), code 2 (ABS_Z), value -59
Event: time 1677671460.630125, -------------- SYN_REPORT ------------
Event: time 1677671460.632829, type 3 (EV_ABS), code 0 (ABS_X), value 3627
Event: time 1677671460.632829, type 3 (EV_ABS), code 1 (ABS_Y), value 6431
Event: time 1677671460.632829, type 3 (EV_ABS), code 2 (ABS_Z), value -57
Event: time 1677671460.632829, -------------- SYN_REPORT ------------
Event: time 1677671460.635625, type 3 (EV_ABS), code 0 (ABS_X), value 3637
Event: time 1677671460.635625, type 3 (EV_ABS), code 1 (ABS_Y), value 6434
Event: time 1677671460.635625, type 3 (EV_ABS), code 2 (ABS_Z), value -55
Event: time 1677671460.635625, -------------- SYN_REPORT ------------
Event: time 1677671460.638323, type 3 (EV_ABS), code 0 (ABS_X), value 3648
Event: time 1677671460.638323, type 3 (EV_ABS), code 1 (ABS_Y), value 6437
Event: time 1677671460.638323, type 3 (EV_ABS), code 2 (ABS_Z), value -53
Event: time 1677671460.638323, -------------- SYN_REPORT ------------
Event: time 1677671460.641098, type 3 (EV_ABS), code 0 (ABS_X), value 3658
Event: time 1677671460.641098, type 3 (EV_ABS), code 1 (ABS_Y), value 6440
Event: time 1677671460.641098, type 3 (EV_ABS), code 2 (ABS_Z), value -51
Event: time 1677671460.641098, -------------- SYN_REPORT ------------
Event: time 1677671460.643884, type 3 (EV_ABS), code 0 (ABS_X), value 3667
Event: time 1677671460.643884, type 3 (EV_ABS), code 1 (ABS_Y), value 6444
Event: time 1677671460.643884, type 3 (EV_ABS), code 2 (ABS_Z), value -49
Event: time 1677671460.643884, -------------- SYN_REPORT ------------
Event: time 1677671460.646717, type 3 (EV_ABS), code 0 (ABS_X), value 3682
Event: time 1677671460.646717, type 3 (EV_ABS), code 1 (ABS_Y), value 6452
Event: time 1677671460.646717, type 3 (EV_ABS), code 2 (ABS_Z), value -46
Event: time 1677671460.646717, -------------- SYN_REPORT ------------
Event: time 1677671460.649630, type 3 (EV_ABS), code 0 (ABS_X), value 3695
Event: time 1677671460.649630, type 3 (EV_ABS), code 1 (ABS_Y), value 6459
Event: time 1677671460.649630, type 3 (EV_ABS), code 2 (ABS_Z), value -44
Event: time 1677671460.649630, -------------- SYN_REPORT ------------
Event: time 1677671460.652278, type 3 (EV_ABS), code 0 (ABS_X), value 3709
Event: time 1677671460.652278, type 3 (EV_ABS), code 1 (ABS_Y), value 6468
Event: time 1677671460.652278, type 3 (EV_ABS), code 2 (ABS_Z), value -38
Event: time 1677671460.652278, -------------- SYN_REPORT ------------
Event: time 1677671460.654985, type 3 (EV_ABS), code 0 (ABS_X), value 3721
Event: time 1677671460.654985, type 3 (EV_ABS), code 1 (ABS_Y), value 6477
Event: time 1677671460.654985, type 3 (EV_ABS), code 2 (ABS_Z), value -32
Event: time 1677671460.654985, -------------- SYN_REPORT ------------
Event: time 1677671460.657751, type 3 (EV_ABS), code 0 (ABS_X), value 3732
Event: time 1677671460.657751, type 3 (EV_ABS), code 1 (ABS_Y), value 6487
Event: time 1677671460.657751, type 3 (EV_ABS), code 2 (ABS_Z), value -28
Event: time 1677671460.657751, -------------- SYN_REPORT ------------
Event: time 1677671460.660693, type 3 (EV_ABS), code 0 (ABS_X), value 3741
Event: time 1677671460.660693, type 3 (EV_ABS), code 1 (ABS_Y), value 6495
Event: time 1677671460.660693, type 3 (EV_ABS), code 2 (ABS_Z), value -24
Event: time 1677671460.660693, -------------- SYN_REPORT ------------
Event: time 1677671460.663273, type 3 (EV_ABS), code 0 (ABS_X), value 3775
Event: time 1677671460.663273, type 3 (EV_ABS), code 1 (ABS_Y), value 6524
Event: time 1677671460.663273, type 3 (EV_ABS), code 2 (ABS_Z), value -17
Event: time 1677671460.663273, -------------- SYN_REPORT ------------
Event: time 1677671460.666052, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1677671460.666052, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1677671460.666052, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3145
Event: time 1677671460.666052, type 3 (EV_ABS), code 2 (ABS_Z), value -11
Event: time 1677671460.666052, -------------- SYN_REPORT ------------
Event: time 1677671460.668953, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3407
Event: time 1677671460.668953, type 3 (EV_ABS), code 0 (ABS_X), value 3769
Event: time 1677671460.668953, type 3 (EV_ABS), code 1 (ABS_Y), value 6523
Event: time 1677671460.668953, type 3 (EV_ABS), code 27 (ABS_TILT_Y), value -300
Event: time 1677671460.668953, type 3 (EV_ABS), code 2 (ABS_Z), value -4
Event: time 1677671460.668953, -------------- SYN_REPORT ------------
Event: time 1677671460.671707, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3344
Event: time 1677671460.671707, type 3 (EV_ABS), code 0 (ABS_X), value 3766
Event: time 1677671460.671707, type 3 (EV_ABS), code 2 (ABS_Z), value -7
Event: time 1677671460.671707, -------------- SYN_REPORT ------------
Event: time 1677671460.674459, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3362
Event: time 1677671460.674459, type 3 (EV_ABS), code 0 (ABS_X), value 3770
Event: time 1677671460.674459, type 3 (EV_ABS), code 1 (ABS_Y), value 6526
Event: time 1677671460.674459, -------------- SYN_REPORT ------------
Event: time 1677671460.677197, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3377
Event: time 1677671460.677197, type 3 (EV_ABS), code 0 (ABS_X), value 3772
Event: time 1677671460.677197, type 3 (EV_ABS), code 1 (ABS_Y), value 6528
Event: time 1677671460.677197, -------------- SYN_REPORT ------------
Event: time 1677671460.680171, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3392
Event: time 1677671460.680171, type 3 (EV_ABS), code 0 (ABS_X), value 3774
Event: time 1677671460.680171, -------------- SYN_REPORT ------------
Event: time 1677671460.682696, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3400
Event: time 1677671460.682696, type 3 (EV_ABS), code 1 (ABS_Y), value 6527
Event: time 1677671460.682696, -------------- SYN_REPORT ------------
Event: time 1677671460.685558, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3411
Event: time 1677671460.685558, type 3 (EV_ABS), code 0 (ABS_X), value 3772
Event: time 1677671460.685558, type 3 (EV_ABS), code 1 (ABS_Y), value 6528
Event: time 1677671460.685558, -------------- SYN_REPORT ------------
Event: time 1677671460.688414, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3422
Event: time 1677671460.688414, type 3 (EV_ABS), code 1 (ABS_Y), value 6529
Event: time 1677671460.688414, type 3 (EV_ABS), code 26 (ABS_TILT_X), value 100
Event: time 1677671460.688414, -------------- SYN_REPORT ------------
Event: time 1677671460.691028, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3427
Event: time 1677671460.691028, type 3 (EV_ABS), code 0 (ABS_X), value 3773
Event: time 1677671460.691028, type 3 (EV_ABS), code 1 (ABS_Y), value 6528
Event: time 1677671460.691028, -------------- SYN_REPORT ------------
Event: time 1677671460.693796, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3430
Event: time 1677671460.693796, -------------- SYN_REPORT ------------
Event: time 1677671460.696610, type 3 (EV_ABS), code 1 (ABS_Y), value 6529
Event: time 1677671460.696610, -------------- SYN_REPORT ------------
Event: time 1677671460.699549, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3436
Event: time 1677671460.699549, -------------- SYN_REPORT ------------
Event: time 1677671460.702140, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3438
Event: time 1677671460.702140, -------------- SYN_REPORT ------------
Event: time 1677671460.704775, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3433
Event: time 1677671460.704775, -------------- SYN_REPORT ------------
Event: time 1677671460.707546, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3420
Event: time 1677671460.707546, -------------- SYN_REPORT ------------
Event: time 1677671460.710408, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3374
Event: time 1677671460.710408, -------------- SYN_REPORT ------------
Event: time 1677671460.713142, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3257
Event: time 1677671460.713142, -------------- SYN_REPORT ------------
Event: time 1677671460.715859, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3024
Event: time 1677671460.715859, type 3 (EV_ABS), code 0 (ABS_X), value 3774
Event: time 1677671460.715859, type 3 (EV_ABS), code 2 (ABS_Z), value -6
Event: time 1677671460.715859, -------------- SYN_REPORT ------------
Event: time 1677671460.718648, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 2575
Event: time 1677671460.718648, type 3 (EV_ABS), code 1 (ABS_Y), value 6530
Event: time 1677671460.718648, type 3 (EV_ABS), code 2 (ABS_Z), value -4
Event: time 1677671460.718648, -------------- SYN_REPORT ------------
Event: time 1677671460.721508, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 1779
Event: time 1677671460.721508, type 3 (EV_ABS), code 0 (ABS_X), value 3773
Event: time 1677671460.721508, type 3 (EV_ABS), code 1 (ABS_Y), value 6529
Event: time 1677671460.721508, type 3 (EV_ABS), code 2 (ABS_Z), value -2
Event: time 1677671460.721508, -------------- SYN_REPORT ------------
Event: time 1677671460.724323, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 328
Event: time 1677671460.724323, type 3 (EV_ABS), code 0 (ABS_X), value 3774
Event: time 1677671460.724323, type 3 (EV_ABS), code 2 (ABS_Z), value 0
Event: time 1677671460.724323, -------------- SYN_REPORT ------------
Event: time 1677671460.727054, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1677671460.727054, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1677671460.727054, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1677671460.727054, type 3 (EV_ABS), code 2 (ABS_Z), value -5
Event: time 1677671460.727054, -------------- SYN_REPORT ------------
Event: time 1677671460.729255, type 3 (EV_ABS), code 0 (ABS_X), value 3777
Event: time 1677671460.729255, type 3 (EV_ABS), code 1 (ABS_Y), value 6531
Event: time 1677671460.729255, -------------- SYN_REPORT ------------
Event: time 1677671460.731416, type 3 (EV_ABS), code 0 (ABS_X), value 3778
Event: time 1677671460.731416, type 3 (EV_ABS), code 1 (ABS_Y), value 6532
Event: time 1677671460.731416, type 3 (EV_ABS), code 2 (ABS_Z), value -14
Event: time 1677671460.731416, -------------- SYN_REPORT ------------
Event: time 1677671460.733548, type 3 (EV_ABS), code 0 (ABS_X), value 3780
Event: time 1677671460.733548, type 3 (EV_ABS), code 1 (ABS_Y), value 6533
Event: time 1677671460.733548, type 3 (EV_ABS), code 2 (ABS_Z), value -20
Event: time 1677671460.733548, -------------- SYN_REPORT ------------
Event: time 1677671460.735660, type 3 (EV_ABS), code 0 (ABS_X), value 3783
Event: time 1677671460.735660, type 3 (EV_ABS), code 1 (ABS_Y), value 6535
Event: time 1677671460.735660, type 3 (EV_ABS), code 2 (ABS_Z), value -23
Event: time 1677671460.735660, -------------- SYN_REPORT ------------
Event: time 1677671460.738404, type 3 (EV_ABS), code 0 (ABS_X), value 3788
Event: time 1677671460.738404, type 3 (EV_ABS), code 1 (ABS_Y), value 6539
Event: time 1677671460.738404, type 3 (EV_ABS), code 2 (ABS_Z), value -26
Event: time 1677671460.738404, -------------- SYN_REPORT ------------
Event: time 1677671460.741023, type 3 (EV_ABS), code 0 (ABS_X), value 3795
Event: time 1677671460.741023, type 3 (EV_ABS), code 1 (ABS_Y), value 6543
Event: time 1677671460.741023, type 3 (EV_ABS), code 2 (ABS_Z), value -24
Event: time 1677671460.741023, -------------- SYN_REPORT ------------
Event: time 1677671460.743863, type 3 (EV_ABS), code 0 (ABS_X), value 3805
Event: time 1677671460.743863, type 3 (EV_ABS), code 1 (ABS_Y), value 6547
Event: time 1677671460.743863, type 3 (EV_ABS), code 2 (ABS_Z), value -26
Event: time 1677671460.743863, -------------- SYN_REPORT ------------
Event: time 1677671460.746642, type 3 (EV_ABS), code 0 (ABS_X), value 3818
Event: time 1677671460.746642, type 3 (EV_ABS), code 1 (ABS_Y), value 6551
Event: time 1677671460.746642, type 3 (EV_ABS), code 2 (ABS_Z), value -27
Event: time 1677671460.746642, -------------- SYN_REPORT ------------
Event: time 1677671460.749409, type 3 (EV_ABS), code 0 (ABS_X), value 3829
Event: time 1677671460.749409, type 3 (EV_ABS), code 1 (ABS_Y), value 6554
Event: time 1677671460.749409, type 3 (EV_ABS), code 2 (ABS_Z), value -29
Event: time 1677671460.749409, -------------- SYN_REPORT ------------
Event: time 1677671460.752085, type 3 (EV_ABS), code 0 (ABS_X), value 3842
Event: time 1677671460.752085, type 3 (EV_ABS), code 1 (ABS_Y), value 6555
Event: time 1677671460.752085, type 3 (EV_ABS), code 2 (ABS_Z), value -32
Event: time 1677671460.752085, -------------- SYN_REPORT ------------
Event: time 1677671460.754876, type 3 (EV_ABS), code 0 (ABS_X), value 3848
Event: time 1677671460.754876, type 3 (EV_ABS), code 1 (ABS_Y), value 6556
Event: time 1677671460.754876, type 3 (EV_ABS), code 2 (ABS_Z), value -34
Event: time 1677671460.754876, -------------- SYN_REPORT ------------
Event: time 1677671460.757656, type 3 (EV_ABS), code 0 (ABS_X), value 3861
Event: time 1677671460.757656, type 3 (EV_ABS), code 2 (ABS_Z), value -37
Event: time 1677671460.757656, -------------- SYN_REPORT ------------
Event: time 1677671460.760575, type 3 (EV_ABS), code 0 (ABS_X), value 3880
Event: time 1677671460.760575, type 3 (EV_ABS), code 1 (ABS_Y), value 6555
Event: time 1677671460.760575, type 3 (EV_ABS), code 2 (ABS_Z), value -41
Event: time 1677671460.760575, -------------- SYN_REPORT ------------
Event: time 1677671460.763220, type 3 (EV_ABS), code 0 (ABS_X), value 3902
Event: time 1677671460.763220, type 3 (EV_ABS), code 1 (ABS_Y), value 6554
Event: time 1677671460.763220, type 3 (EV_ABS), code 2 (ABS_Z), value -46
Event: time 1677671460.763220, -------------- SYN_REPORT ------------
Event: time 1677671460.766066, type 3 (EV_ABS), code 0 (ABS_X), value 3925
Event: time 1677671460.766066, type 3 (EV_ABS), code 1 (ABS_Y), value 6552
Event: time 1677671460.766066, type 3 (EV_ABS), code 2 (ABS_Z), value -52
Event: time 1677671460.766066, -------------- SYN_REPORT ------------
Event: time 1677671460.768949, type 3 (EV_ABS), code 0 (ABS_X), value 3954
Event: time 1677671460.768949, type 3 (EV_ABS), code 1 (ABS_Y), value 6550
Event: time 1677671460.768949, type 3 (EV_ABS), code 2 (ABS_Z), value -60
Event: time 1677671460.768949, -------------- SYN_REPORT ------------
Event: time 1677671460.771520, type 3 (EV_ABS), code 0 (ABS_X), value 3983
Event: time 1677671460.771520, type 3 (EV_ABS), code 1 (ABS_Y), value 6548
Event: time 1677671460.771520, type 3 (EV_ABS), code 2 (ABS_Z), value -66
Event: time 1677671460.771520, -------------- SYN_REPORT ------------
Event: time 1677671460.774008, type 3 (EV_ABS), code 0 (ABS_X), value 4010
Event: time 1677671460.774008, type 3 (EV_ABS), code 1 (ABS_Y), value 6544
Event: time 1677671460.774008, -------------- SYN_REPORT ------------
Event: time 1677671460.776777, type 3 (EV_ABS), code 0 (ABS_X), value 4033
Event: time 1677671460.776777, type 3 (EV_ABS), code 1 (ABS_Y), value 6538
Event: time 1677671460.776777, -------------- SYN_REPORT ------------
Event: time 1677671460.779500, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 0
Event: time 1677671460.779500, -------------- SYN_REPORT ------------

local mainlineInputMangling = function(this, ev)
if ev.type == C.EV_ABS then
-- Mirror Y for the touch panel
if ev.code == C.ABS_MT_POSITION_Y then
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be if ev.code == C.ABS_Y then

Copy link
Member Author

@NiLuJe NiLuJe Mar 1, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would break Wacom, which is the whole conundrum ;o).

@NiLuJe
Copy link
Member Author

NiLuJe commented Mar 1, 2023

The last few commits should handle that conundrum sanely ;).

(And the pen will no longer stomp on (most) panel slots; that fix also applies to stock kernels).

Copy link
Contributor

@alistair23 alistair23 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! This works for me

getCurrentMtSlotData will return `nil` if no tool has been seen,
`nil == 1` is perfectly valid test, no need for an explicit nil guard.
Copy link
Member Author

@NiLuJe NiLuJe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 2 of 2 files at r4, 1 of 1 files at r5, all commit messages.
Reviewable status: all files reviewed, 3 unresolved discussions (waiting on @alistair23 and @Frenzie)

@NiLuJe NiLuJe merged commit 9f37863 into koreader:master Mar 2, 2023
@Frenzie Frenzie added this to the 2023.03 milestone Mar 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

reMarkable 2: touch events not correctly detected on newer kernels
3 participants