Merge pull request #100 from outis1one/claude/gifted-bohr-dfzdig

feat: match any touch screen for libinput (universal touch support)
This commit is contained in:
Outis
2026-06-16 11:05:53 -04:00
committed by GitHub
2 changed files with 12 additions and 12 deletions
+1 -1
View File
@@ -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
+11 -11
View File
@@ -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