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:
@@ -1088,7 +1088,7 @@ See the LICENSE file in the repository for full terms.
|
|||||||
|
|
||||||
**Recent Updates (v1.0.3):**
|
**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 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 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
|
- **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
|
- **Authelia fix:** 10-second timeout on Authelia login fetch prevents white screen when Authelia is slow to respond
|
||||||
|
|||||||
@@ -7358,17 +7358,18 @@ LAUNCHER
|
|||||||
echo "[18/27] Configuring Openbox with AGGRESSIVE screen keep-alive..."
|
echo "[18/27] Configuring Openbox with AGGRESSIVE screen keep-alive..."
|
||||||
sudo -u "$KIOSK_USER" mkdir -p "$KIOSK_HOME/.config/openbox" "$KIOSK_HOME/.config/pulse"
|
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.
|
# Force any touch screen to use the libinput driver.
|
||||||
# The wacom driver does single-touch pointer emulation and does NOT pass
|
# Some drivers (notably wacom) only do single-touch pointer emulation and
|
||||||
# real multitouch through to Chromium, so app gestures (2-finger swipe,
|
# never pass real multitouch through to Chromium, so app gestures (2-finger
|
||||||
# 1-finger swipe) never fire. libinput delivers proper XI2 multitouch
|
# swipe, 1-finger swipe) never fire. libinput delivers proper XI2 multitouch
|
||||||
# which Chromium turns into real JS touch events. The pen/stylus is left
|
# which Chromium turns into real JS touch events, and is the correct driver
|
||||||
# on the wacom driver (this rule only matches "Finger" touch screens).
|
# 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 mkdir -p /etc/X11/xorg.conf.d
|
||||||
sudo tee /etc/X11/xorg.conf.d/99-finger-libinput.conf > /dev/null <<'TOUCHCFG'
|
sudo tee /etc/X11/xorg.conf.d/99-finger-libinput.conf > /dev/null <<'TOUCHCFG'
|
||||||
Section "InputClass"
|
Section "InputClass"
|
||||||
Identifier "Finger touch use libinput"
|
Identifier "Touch screen use libinput"
|
||||||
MatchProduct "Finger"
|
|
||||||
MatchIsTouchscreen "on"
|
MatchIsTouchscreen "on"
|
||||||
Driver "libinput"
|
Driver "libinput"
|
||||||
EndSection
|
EndSection
|
||||||
@@ -11294,15 +11295,14 @@ upgrade_kiosk() {
|
|||||||
sudo rm -f "$config_backup"
|
sudo rm -f "$config_backup"
|
||||||
fi
|
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
|
# 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.
|
# this file and would otherwise win and re-bind the device to the wacom driver.
|
||||||
sudo mkdir -p /etc/X11/xorg.conf.d
|
sudo mkdir -p /etc/X11/xorg.conf.d
|
||||||
sudo rm -f /etc/X11/xorg.conf.d/99-wacom-touch.conf
|
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'
|
sudo tee /etc/X11/xorg.conf.d/99-finger-libinput.conf > /dev/null <<'TOUCHCFG'
|
||||||
Section "InputClass"
|
Section "InputClass"
|
||||||
Identifier "Finger touch use libinput"
|
Identifier "Touch screen use libinput"
|
||||||
MatchProduct "Finger"
|
|
||||||
MatchIsTouchscreen "on"
|
MatchIsTouchscreen "on"
|
||||||
Driver "libinput"
|
Driver "libinput"
|
||||||
EndSection
|
EndSection
|
||||||
|
|||||||
Reference in New Issue
Block a user