Connexion
Personnaliser son bureau Gnome

Gnome et multitouch

-- Introduction -- Tout d’abord bonjour à toi :hello:
Ce tuto concerne Gnome et le multi-touch
--- A qui est destiné ce tuto? ---

Un utilisateur dont le pavé tactile Synaptic, n’aurait pas de fonctionnalité multi-touch d’activée en utilisant Gnome, alors que son matériel le gère très bien. Vous avez probablement déjà utilisé le multi-touch sous Plasma/Xfce par exemple, et vous êtes surpris de pas le retrouver sous Gnome.

MAJ: Le tuto reste valide mais il suffisait de redémarrer :mrgreene:


Dans le tuto suivant, je propose une méthode pour corriger ce petit bug :super:
Le pourquoi du comment:
Gnome utilisant ses propres paramètres, il est possible que votre matériel fonctionne parfaitement sous d’autres gestionnaires de bureau. Dans ce tuto nous allons forcer Gnome à activer cette fonctionnalité.


--- Qu’est-ce que le multi-touch? ---
Wikipédia :

Le dispositif se compose d’un pavé tactile ou d’une surface tactile transparente appliquée sur un écran tactile, qui reconnaissent des points de contact simultanés et multiples, ainsi que d’un logiciel qui interprète ces contacts simultanés. Ceci inclut en général la position (et éventuellement le degré de pression) de chaque point de contact de façon indépendante, ce qui permet d’effectuer des gestes et d’interagir avec plusieurs doigts ou avec les mains, et de créer une interaction riche par des gestes intuitifs

Pour plus d’informations je vous renvoie vers ces liens:

--- Prérequis techniques ---
  • Une version de Gnome> 3.18)
  • Un pavé tactile Synaptics
  • Avoir les droits administrateurs (root) de sa machine

--- Vérifier le modèle de son pavé tactile ---Ouvrer un terminal et taper la commande
Code BASH :
libinput-list-devices

Elle vous listera tout vos périphériques d’entrée.
Le paragraphe qui nous intéresse devrait ressembler à celui-ci:
Code BASH :
 
Device:           SynPS/2 Synaptics TouchPad
Kernel:           /dev/input/event15
Group:            7
Seat:             seat0, default
Size:             76.46x44.31mm
Capabilities:     pointer 
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   *two-finger edge
Click methods:    none
Disable-w-typing: enabled
Accel profiles:   none
Rotation:         n/a
 

Les deux lignes importantes sont celles-ci
Device: SynPS/2 Synaptics TouchPad
Scroll methods: *two-finger edge
Nous y apprenons que pour le driver libinput (utilisé par défaut par Gnome)
  • J’ai bien un pavé tactile Synaptics
  • La méthode de scrolling utilise les bords de mon pavé tactile

---- Rappel: méthode de scrolling ----Je vous renvoie au rappel ci-dessous sur les différentes méthodes de scrolling:
Caché :

Type de scrolling
Scrolling vertical sur le bord Edge-scrolling
Scrolling à deux doigts

Pour aller plus loin:
Walyand scrolling
Wayland tapping


Pour une raison que j’ignore libinput croit que mon pavé tactile ne gère pas le multi-touch. C’est d’ailleurs pour cella que le menu Gnome concernant le pavé tactile est très pauvre en options. Les autres paramètres nous sont cachés.


Pour contourner le problème il y a plusieurs façons de faire:
  1. Soit modifier les paramètres Gnome
  2. Soit agir au niveau du pilote


Sources: Libinput FAQ


La première solution est la meilleure car paramètres gnome seront chargés à chaque démarrage. Cependant je ne sais pas où se trouve le fichier de configuration et quel paramètre modifier. (N’hésiter à me faire un retour la dessus)
À défaut le plan d’attaque est simple:

  1. Utiliser le driver Synaptic pour modifier certains réglages du pavé tactile
  2. Créer un script pour automatiser les modifications
  3. Lancer le script automatiquement au démarrage de Gnome

-- Vérifier que son matériel gère le multi-touch --Tout d’abord vous devez installer le pilote Synaptics pour le serveur d’affichage Xorg, si ce n’est pas déjà fait. Ils a de grande chance d’être déjà installé si vous avez déjà utilisé un bureau tournant sur Xorg comme Xfce par exemple.



Ouvrer un terminal et taper la commande
Code BASH :
synclient

Vous devriez obtenir en réponse tous les paramètres de votre pavé tactile.
Code BASH :
[vous@localhost ~]$ synclient
Parameter settings:
    LeftEdge                = 1464
    RightEdge               = 5476
    TopEdge                 = 1192
    BottomEdge              = 4660
    FingerLow               = 25
    FingerHigh              = 30
    MaxTapTime              = 180
    MaxTapMove              = 271
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 75
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 123
    HorizScrollDelta        = 123
    VertEdgeScroll          = 1
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 0
    HorizTwoFingerScroll    = 0
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0324412
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 0
    RBCornerButton          = 0
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 2
    ClickFinger1            = 1
    ClickFinger2            = 1
    ClickFinger3            = 1
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0ième
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 0
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 8
    VertHysteresis          = 8
    ClickPad                = 0
 

Les paramètres qui nous intéresse sont:
  • VertEdgeScroll -> Scrolling vertical sur le bord droit
  • HorizEdgeScroll -> Scrolling horizontal sur le bord bas
  • VertTwoFingerScroll -> Scrolling vertical à deux doigts
  • HorizTwoFingerScroll -> Scrolling horizontal à deux doigts

S’ils ne sont pas présents, votre pavé tactile ne gère surement pas le multi-touch. Dans mon cas, mon pavé tactile Synaptic ne peut suivre que 2 doigts max simultanément, mais peut détecter jusqu'à 3 doigts. C’est-à-dire que le 3ième doigt ne mets utile que pour tapoter le paver afin de faire un clique droit ou un clique gauche.


--- Modifier les paramètres qui vous intéresse ---Dans mon cas, nous allons activer le scrolling à deux doigts avec les commandes suivantes:
Code BASH :
synclient VertTwoFingerScroll=1
synclient HorizTwoFingerScroll=1

Vous pouvez également activer la détection de la paume de la main pendant la frappe avec:
Code BASH :
synclient PalmDetect=1

Pour les autres paramètres je vous renvois à la documentation avec la commande
Code BASH :
 man synaptics 

--- Tester vos modifications ---

Vous pouvez tester vos paramètres dans les paramètres Gnome « souris et pavé tactile »

Onglet « tester vos paramètres »


-- Automatiser vos modifications dans un script --

Créer un script


Pour créer un script, c’est relativement simple il suffit créer un fichier texte. Par convention avec une extension ".sh"ce n’est pas obligatoire
Code BASH :
 
#Description:
#Ajout le scrolling à deux doigts non présent par défaut 
#!/bin/bash   #Choix du langage shell (si non utilise par défaut celui du système) 
#Vos paramètres personnalisés  
synclient VertTwoFingerScroll=1  #Autorise le scrolling vertical
synclient HorizTwoFingerScroll=1#Autorise le scrolling horizontal
synclient PalmDetect=1#Détection de la paume de la main pendant la frappe

Il n’y a plus qu’à enregistrer votre fichier.sh
Pour lancer exécuter votre fichier dans un terminal vous devez préciser son emplacement
Code BASH :
Vous@localhost ~]$emplacementdevotrefichier/fichier.sh

Dans le paragraphe suivant nous verront comment éviter de renseigner l’emplacement de votre fichier
--- Placer votre script avec les autres applications ---Il suffit de placer votre fichier dans le répertoire suivant avec les autres applications installées:
Pour ce faire nous allons ouvrir un l'explorateur en de fichier mode administrateur (root) avec les commandes suivantes.
Dans un terminal taper:
Code BASH :
 
[vous@localhost ~]$ su
Mot de passe : 
[root@localhost vous]# nautilus 

Votre mot de passe ne s’affichera pas c’est normal.
Aller dans le dossier /usr/share/ et copier votre script.sh J’ai mis mon fichier « Gnome-Twofingerscroll.sh » dans un dossier parce que j’aime bien les choses ordonnées mais vous êtes pas obligé d'être aussi maniaque :mrgreene:




Je vous conseille de laisser l’explorateur de fichier en mode administrateur ouvert dans un coin. Il nous servira par la suite.
-- Lancer votre script automatiquement au démarrage de Gnome --Dans ce chapitre nous allons utiliser l’outil maison de Gnome pour lancer automatique une application au démarrage de Gnome.
Si vous avez d’autres gestionnaires de bureau installés, ils ne pourront pas être affectés par votre script.
Aller dans l’outil de personnalisation de Gnome onglet « Applications au démarrage »



Appui sur le "+" afin d’ajouter une application


Votre fichier.sh ne fait pas partie ce la liste d’application :pleur4:
Mais ne vous découragez pas vous y êtes presque. Pour ajouter votre application à cette liste vous devez lui créer un fichier.desktop

--- Créer un fichier.desktop --- Un « .desktop » est un simple fichier texte avec une extension atypique =). Il vous suffit donc créer un fichier texte avec cette extension.
Ce type de fichier se compose comme ceci:
Code TEXT :
 
[Desktop Entry]
Name=Gnome-Twofingerscroll
Comment[en_FR]=Autorise le scroll à deux doigts (horizontal et vertical)
Comment=enable two finger scroll on synaptic touchpad
Exec=/usr/share/Gnome-Twofingerscroll/Gnome-Twofingerscroll.sh
Type=Application
Terminal=true
Keywords=multitouch;multi-touch;scroll;pavé tactile; Synaptic
 

Les seules paramètres importants sont:
  • Name=lenomdevotrescript
  • Exec=/usr/share/../votrefichier.sh
  • Terminal=true -> votre script n’a aucune interface graphique

Les autres paramètres sont plus là pour le fun comme la catégorie de recherche ou les mots clés qui seront liés à votre script.
Ils vous suffit de compléter votre fichier texte comme ceux-ci:
[code=text]
[Desktop Entry]
Name=Le nom de votre que vous voulez donner à votre application
Exec=/usr/share/.../votre fichier.sh /.../ en fonction si vous l’avez mis dans un dossier ou non
Type=Application
/code]
--- Ajouter votre script à la liste d’application ---

Enregistrer et à déposer votre « fichier.desktop » dans le dossier /usr/share/applications



Il ne vous reste plus qu’à retourner dans le menu de personnalisation de Gnome onglet Application au démarrage et ajouter votre application maison

appli-demarrage-liste

Vous pouvez tester le résultat en déconnectant/reconnectant.
Et voilà maintenant le multi-touch fontionne sous Gnome, vous pouvez être fier de vous! :winner:
Cette page a été vue 8430 fois