[Linux] lancer un script à la connexion d'un périphérique

Jerome Ferry jerome.ferry@::1
Mar 1 Avr 11:42:40 CEST 2014


Bonjour à tous,

J'utilise actuellement une tablette wacom sur un laptop installé sous
Debian/testing.
Le paramétrage des boutons de raccourcis de la tablette se configurent avec
la commande xsetwacom. J'ai donc écris un petit script qui configure les
boutons comme je veux.
Le seul soucis, c'est que si je déconnecte la tablette, et que je la
reconnecte, la configuration est perdue, et je dois relancer le script
manuellement.

J'ai donc cherché un moyen de lancer le script automatiquement à la
connexion de la tablette. J'ai trouvé que je pouvais le faire via le
fichier /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules.
Dans ce fichier, j'ai ajouté les lignes suivantes (l'utilisateur toto est
en dur car je suis le seul à utiliser cet ordi. Je ne sais pas s'il y a un
moyen de généraliser ça.):

*ATTRS{idVendor}=="056a", ACTION=="add", RUN+="/usr/bin/env DISPLAY=:0
/usr/bin/sudo -u toto /usr/local/bin/wacom.sh 1 &"ATTRS{idVendor}=="056a",
ACTION=="remove", RUN+="/usr/bin/env DISPLAY=:0 /usr/bin/sudo -u toto
/usr/local/bin/wacom.sh 0 &"*
Le script /usr/local/bin/wacom.sh lance une série de commandes xsetwacom,
puis une commande kdialog pour afficher un popup sous kde (afficher que la
tablette est connectée ou déconnectée).

A ce stade, lorsque je connecte la tablette, le script se lance bien car le
popup s'affiche sur KDE, mais par contre, les touches ne sont pas
paramétrées. Pourtant, si je lance le script à la main, cela fonctionne.

Voici le contenu de mon script:



















*#!/bin/bashcase $1 in        0)                /usr/bin/kdialog
--passivepopup 'Wacom DISCONNECTED' 2                 ;;
1)                /usr/bin/xsetwacom set "Wacom Intuos PT S Finger touch"
button 9 "key +ctrl"                /usr/bin/xsetwacom set "Wacom Intuos PT
S Finger touch" button 3 "key +ctrl z"                 /usr/bin/xsetwacom
set "Wacom Intuos PT S Pen stylus" button 2 "button +2"
/usr/bin/xsetwacom set "Wacom Intuos PT S Pen stylus" button 3 "key +ctrl"
                /usr/bin/xsetwacom set "Wacom Intuos PT S (WL) Finger pad"
button 1 "key +ctrl"                /usr/bin/xsetwacom set "Wacom Intuos PT
S (WL) Finger pad" button 3 "key +ctrl z"
/usr/bin/xsetwacom set "Wacom Intuos PT S (WL) Finger pad" button 9 "key
+alt +shift ="                /usr/bin/xsetwacom set "Wacom Intuos PT S
(WL) Finger pad" button 8 "key +alt -"                 /usr/bin/xsetwacom
set "Wacom Intuos PT S (WL) Pen stylus" button 2 "button +2"
/usr/bin/xsetwacom set "Wacom Intuos PT S (WL) Pen stylus" button 3 "key
+ctrl"                 /usr/bin/kdialog --passivepopup 'Wacom Connected'
2                ;;esac*


Quelqu'un aurait une idée de comment je peux lancer ces commandes et
qu'elles soient prises en compte ?

Bonne journée,
*____________*
*_Jérôme Ferry*
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://strasbourg.linuxfr.org/pipermail/linux/attachments/20140401/45842eff/attachment.html>


Plus d'informations sur la liste de diffusion linux