这是indexloc提供的服务,不要输入任何密码
Skip to content

FR: Tie disable depending on input from keyboard or other device(s) - and help needed #3

@ryanwwest

Description

@ryanwwest

It would be nice if titdb could disable the trackpad / flex mode only when keyboard is typing to emulate palm rejection. Another option would be to disable tap-to-touch behavior on the virtual trackpad during this instead of fully disabling.

Though I'm actually having trouble getting this working at all on Kubuntu 25.10 with wayland. I'm running sudo ./titdb -d /dev/input/event29 -m s -l 80 -r 80 -t 80 -b 80 which in theory should make the trackpad mostly or completely unusable, but it still works fine despite sudo libinput debug-events --verbose clearly showing the event source switch to the virtual trackpad when titdb is running:

 event29  POINTER_MOTION           10  +0.706s    0.23/  0.00 ( +1.00/ +0.00)             <-- before starting titdb, event29
 event29  POINTER_MOTION           11  +0.721s    0.23/  0.00 ( +1.00/ +0.00)
 event29  POINTER_MOTION           12  +0.795s   -0.19/ -0.38 ( -1.00/ -2.00)
 event29  POINTER_MOTION           13  +0.803s   -0.26/ -0.52 ( -1.00/ -2.00)
 127: event29 - button state: touch 0 from BUTTON_STATE_AREA    event BUTTON_EVENT_UP          to BUTTON_STATE_NONE  
  ... event29 - gesture: [1fg] event GESTURE_STATE_POINTER_MOTION → GESTURE_EVENT_END → GESTURE_STATE_NONE
-event16  KEYBOARD_KEY                 +2.528s  *** (-1) pressed
 event16  KEYBOARD_KEY                 +2.559s  *** (-1) pressed
 event16  KEYBOARD_KEY                 +2.671s  *** (-1) released
 event16  KEYBOARD_KEY                 +2.738s  *** (-1) released
 event16  KEYBOARD_KEY                 +3.930s  KEY_UP (103) pressed
 event16  KEYBOARD_KEY                 +3.983s  KEY_UP (103) released
 event16  KEYBOARD_KEY                 +5.167s  *** (-1) pressed
 event16  KEYBOARD_KEY                 +5.245s  *** (-1) released
event30 - ASUS Zenbook Duo Keyboard Touchpad: is tagged by udev as: Touchpad     <-- once keyboard started titdb, virtual event30
 138: event30 - thumb: enabled thumb detection (area)
event30 - ASUS Zenbook Duo Keyboard Touchpad: device is a touchpad
  ... event30 - palm: dwt activated with ASUS Zenbook Duo Keyboard Touchpad<->ASUS Zenbook Duo Keyboard
-event30  DEVICE_ADDED                 ASUS Zenbook Duo Keyboard Touchpad seat0 default group14 cap:pg  size 129x72mm tap (dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger
 139: event30 - button state: touch 0 from BUTTON_STATE_NONE    event BUTTON_EVENT_IN_AREA     to BUTTON_STATE_AREA  
  ... event30 - gesture: [1fg] event GESTURE_STATE_NONE → GESTURE_EVENT_FINGER_DETECTED → GESTURE_STATE_UNKNOWN
  ... event30 - gesture: [1fg] state GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN
 145: event30 - gesture: [1fg] event GESTURE_STATE_UNKNOWN → GESTURE_EVENT_HOLD_TIMEOUT → GESTURE_STATE_HOLD
 event30  GESTURE_HOLD_BEGIN           +7.982s  1
 147: event30 - gesture: [1fg] event GESTURE_STATE_HOLD → GESTURE_EVENT_HOLD_AND_MOTION_START → GESTURE_STATE_HOLD_AND_MOTION
  ... event30 - gesture: [1fg] state GESTURE_STATE_HOLD → GESTURE_STATE_HOLD_AND_MOTION
 event30  POINTER_MOTION               +7.995s    0.00/  0.12 ( +0.00/ +1.00)
 event30  POINTER_MOTION            2  +8.002s    0.19/  0.00 ( +1.00/ +0.00)
 event30  POINTER_MOTION            3  +8.011s    0.23/  0.00 ( +1.00/ +0.00)
 event30  POINTER_MOTION            4  +8.018s    0.26/  0.26 ( +1.00/ +1.00)
 event30  POINTER_MOTION            5  +8.026s    0.66/  0.33 ( +2.00/ +1.00)
 event30  POINTER_MOTION            6  +8.033s    0.68/  0.34 ( +2.00/ +1.00)
 event30  POINTER_MOTION            7  +8.041s    0.68/  0.34 ( +2.00/ +1.00)
 event30  POINTER_MOTION            8  +8.048s    0.68/  0.34 ( +2.00/ +1.00)
 event30  POINTER_MOTION            9  +8.056s    0.68/  0.00 ( +2.00/ +0.00)
 156: event30 - gesture: [1fg] event GESTURE_STATE_HOLD_AND_MOTION → GESTURE_EVENT_CANCEL → GESTURE_STATE_NONE
  ... event30 - gesture: [1fg] event GESTURE_STATE_HOLD_AND_MOTION → GESTURE_EVENT_POINTER_MOTION_START → GESTURE_STATE_POINTER_MOTION
  ... event30 - gesture: [1fg] state GESTURE_STATE_HOLD_AND_MOTION → GESTURE_STATE_POINTER_MOTION
 event30  POINTER_MOTION               +8.063s    0.68/  0.34 ( +2.00/ +1.00)
 event30  GESTURE_HOLD_END             +8.063s  1 cancelled
 event30  POINTER_MOTION               +8.070s    0.68/  0.34 ( +2.00/ +1.00)
 event30  POINTER_MOTION            2  +8.077s    0.68/  0.34 ( +2.00/ +1.00)
 event30  POINTER_MOTION            3  +8.086s    0.68/  0.00 ( +2.00/ +0.00)

event30 is created only when titdb runs:

sudo libinput list-devices
...
Device:                  ASUS Zenbook Duo Keyboard Touchpad
Kernel:                  /dev/input/event30
Id:                      bluetooth:0b05:1bf3
Group:                   13
Seat:                    seat0, default
Size:                    129x72mm
Capabilities:            pointer gesture
Tap-to-click:            disabled
Tap-and-drag:            enabled
Tap button map:          left/right/middle
Tap drag lock:           disabled
Left-handed:             disabled
Nat.scrolling:           disabled
Middle emulation:        disabled
Calibration:             n/a
Scroll methods:          *two-finger edge
Scroll button:           n/a
Scroll button lock:      n/a
Click methods:           *button-areas clickfinger
Clickfinger button map:  left/right/middle
Disable-w-typing:        n/a
Disable-w-trackpointing: n/a
Accel profiles:          flat *adaptive custom
Rotation:                n/a
Area rectangle:          n/a

Device:                  ASUS Zenbook Duo Keyboard Touchpad
Kernel:                  /dev/input/event29
Id:                      bluetooth:0b05:1bf3
Group:                   14
Seat:                    seat0, default
Size:                    129x72mm
Capabilities:            pointer gesture
Tap-to-click:            disabled
Tap-and-drag:            enabled
Tap button map:          left/right/middle
Tap drag lock:           disabled
Left-handed:             disabled
Nat.scrolling:           disabled
Middle emulation:        disabled
Calibration:             n/a
Scroll methods:          *two-finger edge
Scroll button:           n/a
Scroll button lock:      n/a
Click methods:           *button-areas clickfinger
Clickfinger button map:  left/right/middle
Disable-w-typing:        n/a
Disable-w-trackpointing: n/a
Accel profiles:          flat *adaptive custom
Rotation:                n/a
Area rectangle:          n/a

I'd love a pointer if I'm doing something wrong. Is wayland an issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions