Upali i ugasi tačped

Objavljeno: Sri, 06 Dec 2017
Ažurirano: Uto, 26 Dec 2017

Kategorija: Linux

Tagovi: touchpad

Prevodi: en

Na laptopu ima obilježeno dugme za promjenu statusa tačpeda. To je zapravo XF86TouchpadToggle dugme i samo po sebi je beskorisno. Većina desktop okruženja ima podešeno da pri njegovom pritiskanju pokrene neki program i da promjeni status tačpeda. Koristim Openbox i pošto on to nema u svom sastavu, niti je u njegovom obimu zadataka, morao sam "ručno" riješiti problem.

Riješenje

Za promjenu statusa tačpeda, kao i svih drugih unosnih uređaja, koristan je xinput. Sklepao sam malu Bash skriptu koja provjerava status tačpeda i ako je on upaljen, gasi ga i obrnuto.

Mala izmjena: Lookbehind regex je lijepše riješenje od dvostrukog "cut".

#!/usr/bin/bash

# ružno
# id=$(xinput | grep -i touchpad | cut -f 2 | cut -d "=" -f 2)
id=$(xinput | grep -i touchpad | grep -oP "(?<=id=)\d*")

if xinput list-props "$id" | grep -q "Device Enabled.*1$"; then
  xinput disable "$id"
  notify-send "Touchpad turned OFF" --icon=input-touchpad
else
  xinput enable "$id"
  notify-send "Touchpad turned ON" --icon=input-touchpad
fi

Malo urednije riješenje

Na početku sam gore navedenu stvar držao u "lokalnom" direktoriju gdje držim male, korisne skripte. Podesio sam Openboxov konfiguracioni fajl da pri pritisku XF86TouchpadToggle dugmeta pokrene taj skript. Radilo je super dok nisam primjetio jednu manu: radilo je samo za mene. Pošto isti Openbox konfiguracioni fajl kopiram i za druge korisnike, pri pritisku dugmeta je izbacivalo grešku da ne može naći toggle-touch program jer se nalazio u mom HOME direktoriju.

Riješenje je bilo pomjeriti skriptu u standardni /usr/bin/ da bude koristan svim korisnicima.

Napomena: Prešao sam na Wayland. xinput, kao što ime implicira, radi samo na X, tako da sam prestao voditi PKGBUILD za skriptu gore.

Da stvar bude još čistija, spakirao sam ga za svoju distribuciju radi lakšeg instaliranja. Korisnici ArchLinuxa mogu preuzeti PKGBUILD ovdje.