Parancs futtatása eszköz érzékelésekor

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

Fórum: 

Sziasztok!

Van egy régi Wacom rajztáblám, és azon felbuzdulva, hogy a GIMP szintet lépett, feltelepítve azt, gondoltam előveszem a rajztáblát, bedugom, lássuk mi lesz :) Persze nem csalódtam a Linux Mint 22.1 azonnal felismerte, és már használhattam is.
 

A GIMP is szépen müködött vele, csakhogy ez touchpad is, nemcsak rajzeszköz.
a

~$ xsetwacom --list devices

parancs, a következőket adja

Wacom Intuos PT S 2 Pad pad         id: 18    type: PAD
Wacom Intuos PT S 2 Pen stylus      id: 19    type: STYLUS
Wacom Intuos PT S 2 Finger touch    id: 20    type: TOUCH

Tehát ezekkel az eszközökkel rendelkezik, és minden megy egyszerre, ami zavaró rajzolás közben, mert folyton elugrál a tollhegy, ahogy ráteszem a kezem, vagy a repülő menü jön fel. Így gondoltam, mert emlékeztem, hogy a a rendszerbeállításokban láttam digitalizáló táblát, megpróbálom ott kikapcsolni a touch funkciót.


Ám itt nincs erre lehetőség.

Ezért utána néztem, hogy ezt hogyan tehetném meg, és rátaláltam az xsetwacom --set lehetőségére, amivel szépen ki/be tudom kapcsolni a touch lehetőséget.

$ xsetwacom --set 20 Touch off

(A 20 az id-ja a touch érzékelőnek.) Ez rendben van, szépen működik, meg minden, ám, ha kihúzom, majd visszadugom az eszközt, ismét ki kell kapcsolnom a touch pad fukcióját.

Mit tehetnék, milyen lehetőségeim vannak arra, hogy egy utasítás akkor fusson le, amikor a linux érzékeli az eszközt, azaz, amikor csatlakoztattam?

udev

Értékelés: 

0
Még nincs értékelve

#1 Köszi!

Konkrétabbat nem tudnál mutatni esetleg? blush

Rákerestem, ám vagy nem jól, vagy megint eltévedtem az erdőben és nem találom a kiutat.

crying

udev

Értékelés: 

5
Átlag: 5 (1 szavazat)

#2 nagy vonalakban, mert nincs hasonló eszközöm, hogy kipróbáljam

van (vagy nincs) egy mappa: /etc/udev/rules.d/

Ebbe szkriptfájlokat lehet tenni, amiket hardver eseményenként végig néz és feldolgoz a rendszer. A fájlok megnevezése két számjeggyel kezdődik, és kiterjesztésük .rules.

A legkisebb számjegyű lesz előbb felhasználva, aztán a következő, és így tovább.

csinálj ide egy fájlt, legyen a neve 00-wacom.rules

Ebbe a fájlba kell beleírni a szabályt, amit szeretnél. Na most, ennek a szintaxisa C nyelv szerinti, nem kell megijedni, hanem kiokoskodni, hogyan működik. ha begépeled a man udev -t terminálba, akkor láthatod kb. milyen kulcsszavakat lehet használni. Általában egy sorban megírt parancsok szoktak sikeresek lenni, pl valami ilyesmi (alábbi szakasz egy sor):

KERNEL=="ide olyan azonosító kell, ami kernel szinten azonosít egy eszközt vagy családot, lehet csak egy részlet az elejéből és *", DRIVER!=" Ide a driver neve kell, ezt az inxi is megmutatja, pl. pendrájv esetén:usb-storage", RUN+="/bin/sh -c 'Ide írd a parancsot amit futtatni kell, pl. xsetwacom --set 20 Touch off '"

Lehet precízebben is konkrétabban is, de ehhez olyan ismeretek kellenek, amik nem biztos, hogy rendelkezésre állnak

valahogy így:

KERNEL=="kernelmodul neve", OWNER="root", GROUP="root"
SUBSYSTEM=="usb_device", ACTION=="add", RUN+="/usr/lib/mappaneve/szkriptfájl.sh"
SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="/usr/lib/mappaneve/másikszkriptfájl.sh"

fenti USB eszköz behelyezésekor, meg eltávolításkor is lefuttat egy szkriptet.

ha vannak fájlok a /etc/udev/rules.d/ mappában, akkor puskázhatsz, bár nem valószínű hogy lennének.

 

udev

Értékelés: 

0
Még nincs értékelve

#4 Kedves István!

Hálásan köszönöm! 
Ez egy pont olyan leírásnak és magyarázatnak tűnik, amiből egy magam fajta gyenge felfogású is tökéletesen meg tudja érteni, hogy mit kell csinálni. Megnéztem, és van  /etc/udev/rules.d/ könyvtár a gépemen, van is benne gy fájl, bár az üres :) De sebaj.

"Sajnos" most indul pár perc múlva a javascript kurzusom, ami csak késő délután ér véget. Ám ahogy egyet szusszantam, ki is próbálom, és beszámolok a fejleményekről!

Még egyszer hálásan köszönöm!