Le Dell XPS 13 est une petite machine formidable pour y faire tourner une distribution GNU/Linux. Son clavier rétro-éclairé, sa faible bordure autour de l’écran et son autonomie très correcte en font une machine de choix pour tout amateur de machine compacte mais productive.

Lors de l’installation de Ubuntu (plus précisément Xubuntu) sur cette machine, nous avons été confrontés à un désagrément : il est possible de glisser une fenêtre sans cliquer sur le pavé tactile, mais tout simplement en tapant dessus. Malgré une exploration complète des paramètres du touchpad, nous n’avons pas trouvé la manière de désactiver cette fonctionnalité. Ou plutôt : tous les paramètres modifiés (y compris la désactivation du touchpad) n’avaient aucun effet. Mais nous avons fini par trouver une solution !

Le fonctionnement (complexe) du touchpad sur le XPS 13

Il y a une petite éternité, les ordinateurs ont commencé à adopter le protocole PS/2 comme interface pour brancher un clavier et une souris. C’est un protocole très simple à utiliser, qu’on soit concepteur de périphériques informatique ou développeur de systèmes d’exploitation.

Beaucoup d’années sont passées, et nos besoins en périphériques d’interface utilisateur ont énormément évolué, avec l’apparition de dalles tactiles très bavardes en informations (détection de plusieurs pressions simultanées, niveaux de pression, etc.). Les interfaces ont évolué depuis : on utilise majoritairement de l’USB ou de l’I2C aujourd’hui.

Revenons-en à notre Dell XPS 13, en l’occurrence le modèle 9360 (les anciens semblent aussi touchés). Son touchpad utilise l’I2C pour transmettre des informations à l’ordinateur afin de pouvoir transmettre plus d’informations que via du PS/2, tout en consommant moins en énergie qu’avec de l’USB.

Rétro-compatibilité et conflits internes

Le PS/2 étant un protocole très simple, il est géré sans pilote additionnel par un grand nombre de systèmes d’exploitation, contrairement à beaucoup de périphériques I2C et parfois USB. C’est pourquoi beaucoup d’ordinateurs implémentent des mécanismes de rétro-compatibilité qui émulent un périphérique PS/2 à partir d’un périphérique I2C ou USB pour permettre sa gestion par un système d’exploitation.

Le Dell XPS 13 fait partie de ces ordinateurs. Le couac, c’est qu’après installation complète d’une distribution Ubuntu, l’ordinateur reconnaît DEUX périphériques pour le même touchpad (ce que l’on voit avec la commande xinput) : un périphérique souris générique PS/2 émulé (à partir des données du touchpad), et le touchpad lui-même en I2C. Cela cause des soucis car les outils de configuration comme synclient ciblent le touchpad émulé, et donc n’ont aucun effet sur le vrai.

Nous devons donc désactiver le périphérique PS/2 émulé. Pour ce faire, ouvrez le fichier :

/usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf

J’ai utilisé la commande suivante :

sudo nano /usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf

Il faut ensuite y ajouter les lignes suivantes :

Section "InputClass"
        Identifier "SynPS/2 Synaptics TouchPad"
        MatchProduct "SynPS/2 Synaptics TouchPad"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/event*"
        Option "Ignore" "on"
EndSection

Sauvegardez le fichier puis redémarrez votre système.

Désactiver le tapé-glissé

On arrive enfin à notre but. Taper cette commande dans un shell va vous permettre de désactiver ce geste :

synclient TapAndDragGesture=0

Cependant, il reste possible d’avoir ce glissé sur des petites distances. Pour désactiver complètement le tapé-glissé, il faut aussi utiliser cette commande :

synclient MaxTapMove=0

Le mieux est de lancer ces commandes à chaque démarrage ; Xfce et Gnome intègrent des utilitaires pour configurer l’exécution de commandes au démarrage d’une machine.

Conclusion

Après s’être cassé la tête pendant de longues heures à comprendre pourquoi nous n’arrivions pas à configurer ce XPS 13, nous somme très heureux d’avoir un comportement jugé normal du touchpad sur cette machine.