diff --git a/Readme.md b/Readme.md index ad45a66..bf6b214 100644 --- a/Readme.md +++ b/Readme.md @@ -1088,7 +1088,7 @@ See the LICENSE file in the repository for full terms. **Recent Updates (v1.0.3):** - **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. +- **Touch gesture fix (libinput):** any touch screen is now forced to the `libinput` driver via `/etc/X11/xorg.conf.d/99-finger-libinput.conf` (matched by hardware capability, so it works on any brand and never affects keyboards, mice, or the pen/stylus). Some drivers — notably `wacom` — only do single-touch pointer emulation and never pass real multitouch to Chromium, so 1-finger and 2-finger swipe gestures could not fire. libinput delivers proper multitouch. - **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 diff --git a/ubuntu-based-kiosk-v1.0.3.sh b/ubuntu-based-kiosk-v1.0.3.sh index e04d482..bc6f723 100644 --- a/ubuntu-based-kiosk-v1.0.3.sh +++ b/ubuntu-based-kiosk-v1.0.3.sh @@ -7358,17 +7358,18 @@ LAUNCHER echo "[18/27] Configuring Openbox with AGGRESSIVE screen keep-alive..." sudo -u "$KIOSK_USER" mkdir -p "$KIOSK_HOME/.config/openbox" "$KIOSK_HOME/.config/pulse" - # Force finger touch screens to use the libinput driver instead of wacom. - # The wacom driver does single-touch pointer emulation and does NOT pass - # real multitouch through to Chromium, so app gestures (2-finger swipe, - # 1-finger swipe) never fire. libinput delivers proper XI2 multitouch - # which Chromium turns into real JS touch events. The pen/stylus is left - # on the wacom driver (this rule only matches "Finger" touch screens). + # Force any touch screen to use the libinput driver. + # Some drivers (notably wacom) only do single-touch pointer emulation and + # never pass real multitouch through to Chromium, so app gestures (2-finger + # swipe, 1-finger swipe) never fire. libinput delivers proper XI2 multitouch + # which Chromium turns into real JS touch events, and is the correct driver + # for any touch screen. MatchIsTouchscreen is set by udev from hardware + # capabilities, so this matches finger touch screens only — never keyboards, + # mice, or the pen/stylus (those stay on their existing driver). sudo mkdir -p /etc/X11/xorg.conf.d sudo tee /etc/X11/xorg.conf.d/99-finger-libinput.conf > /dev/null <<'TOUCHCFG' Section "InputClass" - Identifier "Finger touch use libinput" - MatchProduct "Finger" + Identifier "Touch screen use libinput" MatchIsTouchscreen "on" Driver "libinput" EndSection @@ -11294,15 +11295,14 @@ upgrade_kiosk() { sudo rm -f "$config_backup" fi - # Force finger touch screens to use libinput (proper multitouch for Chromium). + # Force any touch screen to use libinput (proper multitouch for Chromium). # Remove the old wacom-touch override from earlier versions — it sorts after # this file and would otherwise win and re-bind the device to the wacom driver. sudo mkdir -p /etc/X11/xorg.conf.d sudo rm -f /etc/X11/xorg.conf.d/99-wacom-touch.conf sudo tee /etc/X11/xorg.conf.d/99-finger-libinput.conf > /dev/null <<'TOUCHCFG' Section "InputClass" - Identifier "Finger touch use libinput" - MatchProduct "Finger" + Identifier "Touch screen use libinput" MatchIsTouchscreen "on" Driver "libinput" EndSection