Tous mes ordinateurs tournent sous un OS basé sur
Linux. Comme il faut, malgré tout, varier un petit peu les supplices,
j'en ai quelques uns (essentiellement, mes serveurs) qui
utilisent Debian (la distribution
qui retire tout ce qui ressemble à de la documentation, histoire que
vous soyez plus Libres), et quelques uns (mon Eee PC, ma
machine de bureau) qui utilisent le dérivé de Debian beaucoup plus
populaire que l'original, Ubuntu.
Les maux sont différents : Debian, par exemple, prend un grand soin à
ce que la version de Firefox distribuée ne s'appelle pas Firefox, mais
Iceweasel (parce que Firefox n'est pas
Libre[#]), et, comme il leur
faut quelque chose comme deux ans pour rechercher et remplacer toutes
les occurrences de Firefox
par Iceweasel
, on se retrouve
avec une version bien ancienne sur le système. Avec Ubuntu, le
problème est plutôt que dès que vous jouez à configurer ne serait-ce
qu'epsilonesquement le système, vous êtes sûrs qu'à la prochaine
version votre configuration sera partie à l'eau.
Tous les six mois, donc, j'installe la nouvelle Ubuntu, et tous les six mois je dois passer quelques jours à me battre contre la façon dont Ubuntu a décidé de m'empêcher de configurer mon système aux petits oignons[#2].
Le gag récurrent, c'est le touchpad de mon Eee PC. Je
tiens à désactiver un truc affreux qui s'appelle
le tapping
(c'est-à-dire le fait que tapper
simplement le touchpad, sans déplacer le doigt, simule un click de
souris) : je trouve cette fonctionnalité insupportable parce qu'elle
provoque des clicks intempestifs dès qu'on effleure le touchpad. En
revanche, comme un touchpad n'a pas de molette, j'aime avoir une
méthode de scrolling, soit en déplaçant le doigt au bord du touchpad
(scrolling au bord), soit en déplaçant deux doigts n'importe
où sur le touchpad (scrolling à deux doigts). À chaque nouvelle
Ubuntu, donc, je dois trouver moyen de configurer le touchpad pour
désactiver le tapping et activer le scrolling au bord et le
scrolling à deux doigts (si possible, horizontal aussi bien que
vertical).
Avec la Ubuntu 8.04, je faisais ma configuration du touchpad en
mettant la section suivante dans le
fichier xorg.conf
:
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "VertEdgeScroll" "true" Option "HorizEdgeScroll" "true" Option "UpDownScrolling" "false" Option "LeftRightScrolling" "false" Option "LeftEdge" "53" Option "RightEdge" "1099" Option "TopEdge" "48" Option "BottomEdge" "720" Option "PalmDetect" "0" Option "TapButton1" "0" Option "TapButton2" "0" Option "TapButton3" "0" Option "SHMConfig" "true" Option "RBCornerButton" "0" Option "RTCornerButton" "0" Option "MinSpeed" "0.4" Option "MaxSpeed" "0.8" Option "VertTwoFingerScroll" "true" Option "HorizTwoFingerScroll" "true" EndSection
Ubunut 8.10 a décidé que ce n'était plus ça la bonne façon de
faire : il fallait maintenant passer par le
démon HAL.
J'ai donc dû réécrire ma config sous forme d'un
fichier /etc/hal/fdi/policy/dmadore-elantech-touchpad.fdi
,
contenant :
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- --> <deviceinfo version="0.2"> <device> <match key="info.product" string="ETPS/2 Elantech Touchpad"> <!-- Elantech touchpad should be handled by Synaptics driver --> <merge key="input.x11_driver" type="string">synaptics</merge> <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge> <merge key="input.x11_options.SHMConfig" type="string">true</merge> <merge key="input.x11_options.VertEdgeScroll" type="string">true</merge> <merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge> <merge key="input.x11_options.UpDownScrolling" type="string">false</merge> <merge key="input.x11_options.LeftRightScrolling" type="string">false</merge> <merge key="input.x11_options.LeftEdge" type="string">53</merge> <merge key="input.x11_options.RightEdge" type="string">1099</merge> <merge key="input.x11_options.TopEdge" type="string">48</merge> <merge key="input.x11_options.BottomEdge" type="string">720</merge> <merge key="input.x11_options.PalmDetect" type="string">0</merge> <merge key="input.x11_options.TapButton1" type="string">0</merge> <merge key="input.x11_options.TapButton2" type="string">0</merge> <merge key="input.x11_options.TapButton3" type="string">0</merge> <merge key="input.x11_options.RBCornerButton" type="string">0</merge> <merge key="input.x11_options.RTCornerButton" type="string">0</merge> <merge key="input.x11_options.MinSpeed" type="string">0.4</merge> <merge key="input.x11_options.MaxSpeed" type="string">0.8</merge> <merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge> <merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge> </match> </device> </deviceinfo>
Avec la Ubuntu 9.04, miraculeusement, le touchpad a continué à
fonctionner comme je le voulais. Avec la 9.10, il a de nouveau
cassé : cette fois-ci, le coupable était le
démon gnome-settings-daemon
, qui venait écraser mes
réglages. Vous allez me dire : que ne m'en réjouis-je ? Ubuntu/Gnome
a enfin prévu une façon de régler le fonctionnement du touchpad par
une interface graphique (et notamment de désactiver le tapping,
hosanna alléluia gloria in excelcis Gnomo). Le problème est que cette
interface graphique est nettement moins fine que tous les réglages que
je viens de décrire, et ne permet notamment pas d'activer à la
fois le scrolling au bord et le scrolling à deux doigts. Mais un
ami a fini par me donner la solution : on peut désactiver
sélectivement des bouts de gnome-settings-daemon
, en
l'occurrence en positionnant à faux la
clé /apps/gnome_settings_daemon/plugins/mouse/active
dans
l'éditeur de configuration Gnome (=le mammouth qui est en train de se
mettre à ressembler à la base de registres Windows).
Ubuntu 10.04 : les choses ont de nouveau cassé : le
démon HAL, qui était le Brave New
World il y a 1½ an est maintenant rejeté et banni : mon
fichier /etc/hal/fdi/policy/dmadore-elantech-touchpad.fdi
est maintenant sans effet. Maintenant il faut passer par le
programme xinput
et ajouter quelque chose comme ceci
dans le .gnomerc
ou ailleurs :
# Was: 2, 3, 0, 0, 1, 3, 2 xinput --set-prop "ETPS/2 Elantech Touchpad" "Synaptics Tap Action" 0 0 0 0 0 0 0 # Was: 75 xinput --set-prop "ETPS/2 Elantech Touchpad" "Synaptics Middle Button Timeout" 90 # Was: 1, 0, 0 xinput --set-prop "ETPS/2 Elantech Touchpad" "Synaptics Edge Scrolling" 1 1 0 # Was: 1, 0 xinput --set-prop "ETPS/2 Elantech Touchpad" "Synaptics Two-Finger Scrolling" 1 1 # Was: 0.400000, 0.700000, 0.036711, 40.000000 xinput --set-prop "ETPS/2 Elantech Touchpad" "Synaptics Move Speed" 0.4 0.8 0.04 40.0 # Was: 53, 1099, 48, 720 #xinput --set-prop "ETPS/2 Elantech Touchpad" "Synaptics Edges" 53 1099 48 720
(Je n'ai pas configuré exactement les mêmes choses que dans les exemples précédent, mais c'est l'idée.)
Bon sang, moi je m'en fous de comment on configure le touchpad, je suis d'accord pour écrire ce genre de trucs à la mains quand je veux une configuration plus fine que ce que l'interface graphique standard permet, et je suis même d'accord que le nouveau système est plutôt meilleur (beaucoup plus pratique à modifier au vol), mais, bordel de merde, est-ce vraiment indispensable que le mécanisme de configuration change tous les six mois ?
(Remarquez qu'il n'y a pas qu'Ubuntu qui joue à ça : je me suis aussi énervé, sur l'ordinateur de ma maman qui est un Mac, contre Apple qui s'est amusé à éliminer dans Mac OS 10.5 ou 10.6 la base de données NetInfo qui était censée être Le Grand Truc de Mac OS, et pareil pour la découverte des imprimantes par CUPS remplacée par Bonjour.)
[#] Ne cherchez pas, ce
sont des psychorigides qui ont une notion de liberté à peu près aussi
déconnectée de la réalité que l'est l'usage du mot ouvert
quand
Apple/Adobe (vous savez, les deux big brothers interchangeables qui se
livrent
une guéguerre
de cour de récré) dit promouvoir les standards ouverts sur le
Web.
[#2] Quand je raconte
mes malheurs, les gens réagissent souvent soit en me disant ah ?
moi je n'ai pas de problèmes
, soit en me disant que c'est bien ma
faute, je n'avais qu'à utiliser Windows / Mac OS / quidlibet. La
seule conclusion à en tirer, c'est que les gens ne configurent pas le
système comme moi : je n'ai jamais trouvé d'explication, par exemple,
sur comment avoir
une touche
Compose convenable sous Windows ou Mac OS (de sorte que taper
Compose+apostrophe+e donne un ‘é’, par exemple).