Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/05/2011, à 22:52

Greewi

[Tuto]Tablette graphique (Wacom) et multi-écran (Twinview) avec Natty

Bonjour à vous,

Je vais traiter ici de l'utilisation (et plus particulièrement de la configuration) d'une tablette graphique Wacom en conjonction avec un environnement multi-écran basé sur Twinview. Le but sera d'avoir l'affichage sur deux écran (ouf) et surtout une tablette graphique fonctionnant sur le premier écran sans déborder sur l'autre. Il faut savoir que par défaut, une fois TwinView activé, la surface de la tablette recouvre l'ensemble des deux écrans, déformant considérablement les déplacements du stylet (tracer un cercle sur la tablette déplace le curseur sur une ellipse très étirée).

Il existe une tonne de didacticiels pour faire fonctionner les tablettes graphiques de maque Wacom sur le net. La mauvaise nouvelle c'est que la quasi-totalité ne convient pas avec l'environnement de Natty (Ubuntu 11.04) : entre la migration des paramètres des tablettes de xorg.conf, vers les fichiers de xorg.conf.d (le répertoire ayant lui même déménagé depuis la version précédente...) et des changements au niveau des drivers wacom et nvidia...

TwinView
La première chose à faire est de configurer Twinview. On va générer un fichier de configuration xorg au propre en utilisant l'outil de nvidia avec la commande suivante :

nvidia-xconfig -o ~/xorg.conf --force-generate --twinview --twinview-orientation="RightOf"

Éditez ensuite le fichier "xorg.conf" qui a été créé à la racine de votre compte et supprimez les entrées relatives aux clavier et à la souris (qui sont gérée par un autre moyen plus efficace désormais). Votre fichier devrait alors ressembler à quelque chose comme :

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 270.41.06  (buildmeister@swio-display-x86-rhel47-07.nvidia.com)  Mon Apr 18 15:15:12 PDT 2011

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
EndSection

Section "Files"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "True"
    Option         "MetaModes" "nvidia-auto-select, nvidia-auto-select"
    Option         "TwinViewOrientation" "RightOf"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Faites une sauvegarde du fichier xorg.conf de votre système :

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

Et copiez votre nouveau fichier :

sudo cp ~/xorg.conf /etc/X11/xorg.conf

Redémarrez le serveur graphique (déconnectez et reconnectez-vous), normalement vos deux écrans devraient êtres actifs et utilisable.

La tablette graphique
Si vous essayez directement votre tablette graphique vous notez qu'elle fonctionne mais que la surface de la tablette n'est pas restreinte à un seul de vos écrans, mais bel et bien étirée sur les deux écrans... Essayez de tracer un beau cercle pour voir !

Normalement, il existe une solution simple, un petit paramètre ("KeepShape") à ajouter pour que le rapport d'étirement vertical et horizontal soient identique. Malheureusement sous Natty, il semble que ce paramètre fonctionne à l'inverse (amplifiant encore le phénomène !)... Et puis de toutes façon, la plupart (y compris moi) préfèrent restreindre la tablette à un seul écran, l'écran principal de surcroît.

Je ne vais pas vous le cacher, mais nous allons avoir besoin d'un peu de maths. Rien d'insurmontable rassurez vous !

Tout d'abord nous avons besoin de connaître les dimensions de votre tablette (en points), et donc de connaître le nom de votre périphérique. La commande suivant vous permettra de le savoir :

xsetwacom list

Elle devrait vous retourner un résultat du genre :

Wacom Graphire3 eraser              id: 8    type: ERASER    
Wacom Graphire3 cursor              id: 9    type: CURSOR    
Wacom Graphire3 stylus              id: 10    type: STYLUS  

Ici je retiendrais le nombre 10 (qui correspond au stylet). Nous allons nous servir de cet identifiant dans la commande suivante qui va nous donner les dimensions de la tablette (en points) :

xsetwacom get 10 area

(Remplacez évidemment le 10 par le nombre que vous avez trouvé juste avant.) Vous obtiendrez quatre nombres (les deux premiers étant '0'). Notez les quelques part (sur papier de préférence). Il s'agit dans l'ordre du TopX, TopY, BottomX, BottomY que l'on peut trouver dans les versions précédentes de cet outils et qu'on utilisera par la suite sous le nom X0, Y0, X1, Y1 dans nos formules.

Trouvez aussi la résolution de vos deux écrans que nous noterons R1X et R1Y pour l'écran de gauche et R2X, R2Y pour l'écran de droite.

Passons aux maths promises (ne fuyez pas, ce n'est qu'une règle de trois). Nous allons calculer une nouvelle valeur pour TopX et BottomX. Si vous souhaitez utiliser la tablette sur l'écran de gauche, on trouveras ces deux valeurs avec les formules suivantes (tous les arrondis doivent être fait à l'entier supérieur) :

TopX = 0
BottomX = X1 * (R1X+R2X) / R1X

Si vous souhaitez utiliser l'écran de droite, ce sera :

TopX = X1 * (-R1X) / R2X
BottomX = X1

Si vos deux écrans n'ont pas la même résolution verticale et que vous souhaitez utiliser celui qui a a plus faible, vous devez aussi calculer un nouveau BottomY avec la formule suivante (Inversez R1Y et R2Y si l'écran gauche est le plus grand):

BottomY = Y1 * R1Y/R2Y

Une fois ces valeurs magiques calculées éditez le fichier 50-wacom.conf :

gksudo gedit /usr/share/X11/xorg.conf.d/50-wacom.conf

Ajoutez les valeurs que vous avez trouvez dans la première section (celle avec l'identifiant "Wacom class"). Par exemple pour mon cas, j'ai obtenu le fichier suivant :

Section "InputClass"
    Identifier "Wacom class"
# WALTOP needs a patched kernel driver, that isn't in mainline lk yet,
# so for now just let it fall through and be picked up by evdev instead.
#    MatchProduct "Wacom|WALTOP|WACOM"
    MatchProduct "Wacom|WACOM|Hanwang"
    MatchDevicePath "/dev/input/event*"
    Driver "wacom"
        Option "Mode" "Absolute"
    Option "BottomX" "18375"
    Option "BottomY" "8447"
EndSection

Section "InputClass"
    Identifier "Wacom serial class"
    MatchProduct "Serial Wacom Tablet"
    Driver "wacom"
EndSection

Section "InputClass"
        Identifier "Wacom serial class identifiers"
        MatchProduct "WACf|FUJ02e5|FUJ02e7"
        Driver "wacom"
EndSection


# N-Trig Duosense Electromagnetic Digitizer
Section "InputClass"
    Identifier "Wacom N-Trig class"
    MatchProduct "HID 1b96:0001|N-Trig Pen"
    MatchDevicePath "/dev/input/event*"
    Driver "wacom"
    Option "Button2" "3"
EndSection

Les lignes que j'ai ajoutée sont :

    Option "BottomX" "18375"
    Option "BottomY" "8447"

Ajoutez celle qui correspondent à votre cas.

Ceci fait, redémarrez une dernière fois votre serveur graphique (déconnectez et reconnectez-vous) et ce sera bon.

Quelques notes en vrac
- Durant toute ces manipulations vous devriez avoir créé un fichier xorg.conf à la racine de votre compte. Une fois copié, et si Twinview fonctionne bien, il ne vous est plus utile, pensez à le supprimer ou le ranger.
- Les dimensions de la tablette sont données en points. Beaucoup de monde se demandent à quoi correspondent ces unités. Comme un écran, une tablette divise son espace selon une grille. Les coordonnées qu'elle renvoi au système sont des entiers qui correspondent au coordonnées de ces cases. Un peu comme des pixels. Si je prends les données de ma Graphire 3 A6, je trouve une résolution de 10208x7424. Cette tablette a une précision de 2000dpi (Dot Per Inch, point par pouces), je peux en déduire qu'elle fait 5.104 par 3.712 pouces, soit 10.80cm par 7.85cm ce qui correspond effectivement aux dimensions de la surface active de ma tablette.

Hors ligne

#2 Le 26/10/2011, à 14:59

Greewi

Re : [Tuto]Tablette graphique (Wacom) et multi-écran (Twinview) avec Natty

Ma configuration ayant sauté après la mise à jour, je peux confirmer que ce tutorial fonctionne toujours (avec ubuntu 11.10).

Hors ligne

#3 Le 26/10/2011, à 16:22

Greewi

Re : [Tuto]Tablette graphique (Wacom) et multi-écran (Twinview) avec Natty

Note utile : pour ceux qui comptent utiliser gimp. Installez une version 2.7.x. La version 2.6 fournie avec ubuntu pose un gros problème avec les tablettes...

Hors ligne

#4 Le 21/11/2012, à 14:36

galinux

Re : [Tuto]Tablette graphique (Wacom) et multi-écran (Twinview) avec Natty

salut ! juste pour dire que ça fonctionne encore avec 12.04 MAIS NE PAS TOUCHE à xorg.conf pour supprimez les entrés relatives au clavier souris !!!


vieux packard bell imedia, intel core2 duo 1.86 ghz, 2.5 Go ram, nvidia gt 220 LMDE (xfce) 64 b + voyager 12.10 32 b sur clef pour l emmené partout
un brin d' insomnie, un chouillat d ' agoraphobie, un peu geek ................. linux addict !!!! :)
http://gallienart.blogspot.fr/

Hors ligne