fix: resolve touch input with keyring flag + libinput driver
Two genuinely separate root causes were behind the dead touchscreen: 1. GNOME keyring grab — under LightDM autologin the keyring stays locked. When Chromium accessed it, the gcr-prompter unlock dialog grabbed all keyboard and touch input at the X level. The app rendered (timers ran) but ignored every tap and keypress. Fix: --password-store=basic stops Electron from using the keyring, so the dialog never appears. 2. Wacom driver single-touch emulation — the wacom X driver only does single-touch pointer emulation and never passes real multitouch to Chromium, so 1-finger and 2-finger swipe gestures could not fire. Fix: force the finger touch device to the libinput driver via /etc/X11/xorg.conf.d/99-finger-libinput.conf. libinput delivers proper XI2 multitouch which Chromium turns into real JS touch events. The pen/stylus stays on the wacom driver. Removed the earlier dead-end attempts (xsetwacom MapToOutput / CTM reset, Wacom Enable Touch Gesture, 99-wacom-touch.conf) which were all chasing the wrong cause while the keyring grab masked any real testing. The upgrade path removes the stale 99-wacom-touch.conf so it can't override libinput. https://claude.ai/code/session_01EyjEQLWbTXcZgbMDarf7NU
This commit is contained in:
@@ -1087,7 +1087,8 @@ See the LICENSE file in the repository for full terms.
|
||||
**Current Version:** 1.0.3
|
||||
|
||||
**Recent Updates (v1.0.3):**
|
||||
- **Touch screen detection:** startup now auto-detects any touch screen (Wacom, ELAN, eGalax, Goodix, etc.) instead of requiring a hardcoded device name
|
||||
- **Touch input fix (keyring):** added `--password-store=basic` to the Electron launch. Under LightDM autologin the GNOME keyring stays locked; when Chromium accessed it, the keyring unlock dialog grabbed all keyboard/touch input — the kiosk rendered fine but ignored every tap and keypress. This flag stops Electron from using the keyring, so the dialog never appears.
|
||||
- **Touch gesture fix (libinput):** finger touch screens are now forced to the `libinput` driver via `/etc/X11/xorg.conf.d/99-finger-libinput.conf`. The `wacom` driver only does single-touch pointer emulation and never passes real multitouch to Chromium, so 1-finger and 2-finger swipe gestures could not fire. libinput delivers proper multitouch; the pen/stylus stays on the wacom driver.
|
||||
- **Upgrade reliability:** `start.sh` is now refreshed on every upgrade alongside `main.js` and `preload.js`
|
||||
- **Upgrade fix:** node_modules no longer wiped during upgrade — preserves the ~120MB Electron binary so upgrades don't fail on slow/unreliable connections
|
||||
- **Authelia fix:** 10-second timeout on Authelia login fetch prevents white screen when Authelia is slow to respond
|
||||
|
||||
Reference in New Issue
Block a user