MyPaint 1.0.0 avec une tablette graphique

MYPAINT a été spécialement écrit pour l'utilisation d'une tablette graphique avec un stylet sensible à la pression, permettant les nuances. Ce logiciel est plus accessible que Gimp en ce qui concerne la gestion des «brosses» (crayons ou pinceaux) éditables de façon très fine. Il n'y a pas de sélection, découpe ou copier-coller, et se résume à une gestion des couleurs, calques et quelques effets non sauvegardables comme le zoom, les renversements et rotations de l'image.

Cette page explique le minimum à connaître sur un système GNU/Linux (ligne de commande, système de fichiers…)

Attention: l'installation de la version 1.2 sur Debian n'avait pas été possible, la seule méthode fonctionnant nécessitait FlatPack, ce que je ne recommande pas. Plus de problème avec la version 2.0 sur Debian 11 Bullseye.

1. Préalables

1.1 Pilotes
1.2 xsetwacom

2. Paramétrages

2.1 Préférences
2.2 Brosses

3. Les fonctions

3.1 Calques

La tablette utilisée est en l'occurrence la Wacom Bambou CTH-670, de format dit A4 (36x21cm), mais d'une surface sensible limitée à un A5 (8x6pouces, 22x14cm, 21648x13700px) ce qui est déjà assez confortable. Le stylet, capable de rendre 1024 niveaux de sensibilités, est libre et ne doit pas être alimenté, et quelques pointes de rechange sont fournies: elles s'usent pour que la surface de la tablette s'use moins.

C'est une «Pen and Touch», c'est-à-dire qu'il est possible de l'utiliser comme un pavé tactile, avec la possibilité de défilement avec deux doigts, qui ne semble pas nécessaire: il est possible de le désactiver). Je n'avais pas besoin de cette fonction «Touch», mais la Bambou version «Pen» (CTL-460) me semblait trop petite.

Il est possible de recouvrir la tablette d'une mince feuille plastique légèrement rigide (genre chemise pour feuilles A4): le trait est plus fluide, la pointe du stylet s'use moins vite, c'est moins froid et (si vous n'avez pas désactivé TOUCH) il devrait y avoir moins d'interférences avec la main qui se déplace.

1. Préalables

1.1 Pilotes

Le CD ne contient qu'une douzaine de pdf de 500Ko concernant la licence et quelques informations sur les caractéristiques, ainsi qu'un exécutable Windows de 58Mo qui sert probablement au paramétrage de la tablette.

Linux Mint Debian Edition et Debian Jessie (et plus que probablement les autres distributions GNU/Linux) disposent du pilote wacom du paquet xserver-xorg-input-wacom si l'option «Tous les pilotes disponibles» a été activée lors de l'installation de Jessie, normalement par défaut, sinon installer le paquet nécessaire (la seconde ligne concerne les tablettes aiptek):

#En mode super-utilisateur: su - [Enter] apt install xserver-xorg-input-wacom
#En mode super-utilisateur: su - [Enter] apt install xserver-xorg-input-aiptek

Le système devrait normalement reconnaître la tablette au plugin et charger le module. Si ce n'est pas le cas, tentez l'une ou l'autre de ces lignes:

#En mode super-utilisateur: su - [Enter] modprobe wacom
#En mode super-utilisateur: su - [Enter] modprobe aiptek

Il semblerait que Debian 8 Jessie puisse faire fonctionner une Wacom Cintiq 13HD, tablette avec affichage HDMI.

1.2 xsetwacom

L'interface graphique KDE dispose de l'application kde-config-tablet permettant de paramétrer la tablette. Avec un autre bueau que KDE, l'installation de ce configurateur vous fera télécharger 70Mo de paquets, qui prendront 192Mo sur le disque dur.

Ceux que la ligne de commande ne rebute pas utiliseront xsetwacom (fourni avec le paquet xserver-xorg-input-wacom), mais beaucoup de ces paramétrages sont de toute façon possibles avec MyPaint.

S'informer: get

La première information à trouver est l'ensemble de périphériques et surtout leurs identificateurs, qui peuvent changer d'une session à l'autre (Finger touch et Finger pad semblent être la même chose sur une Bamboo 16FG).

jc@villon:~$ xsetwacom list dev
Wacom Bamboo 16FG 6x8 Pen stylus    id: 14  type: STYLUS
Wacom Bamboo 16FG 6x8 Pen eraser    id: 15  type: ERASER
Wacom Bamboo 16FG 6x8 Finger touch  id: 16  type: TOUCH
Wacom Bamboo 16FG 6x8 Finger pad    id: 17  type: PAD

xsetwacom list dev ayant attribué 14 au stylet, xsetwacom get 14 all retourne toutes ses valeurs de paramétrage:

toto@villon:~$ xsetwacom get 14 all
Option "Area" "0 0 21648 13700"
'Button' requires exactly 1 value(s).
Option "ToolDebugLevel" "0"
Option "TabletDebugLevel" "0"
Option "Suppress" "2"
Option "RawSample" "4"
Option "PressureCurve" "0 0 100 100"
Option "Mode" "Absolute"
Option "TabletPCButton" "off"
Option "Touch" "off"
Property 'Wacom Hardware Touch Switch' does not exist on device.
Option "Gesture" "off"
Option "ZoomDistance" "0"
Option "ScrollDistance" "0"
Option "TapTime" "250"
Property 'Wacom Proximity Threshold' does not exist on device.
Option "Rotate" "none"
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Option "Threshold" "27"
Option "ToolType" "612"
Option "ToolSerial" "0"
Option "ToolID" "0"
Option "ToolSerialPrevious" "1"
Option "BindToSerial" "0"
Option "TabletID" "223"
Option "PressureRecalibration" "on"

Il est possible de remplacer all par une autre «option»:

xsetwacom get 14 Threshold
xsetwacom get 14 Area

xsetwacom list mod affiche les touches paramétrables (f1-f35, esc, up, down, left, backspace, tab…) et les modificateurs de touches (ctr, lctrl, rctrl, alt, lalt, ralt…).

ModificateursTouches pouvants être modifiées
ctrl
ctl
control  
lctrl
rctrl
meta
lmeta
rmeta
alt
lalt
ralt
shift
lshift
rshift
super
lsuper
rsuper
hyper
lhyper
rhyper  
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10  
f11
f12
f13
f14
f15
f16
f17
f18
f19
f20  
f21  
f22
f23
f24
f25
f26
f27
f28
f29
f30
f31
f32
f33
f34
f35
esc
up
down  
left
right
backspace  
tab
PgUp
PgDn
del
home
end
`
-
=
[
]
\
;
'
,
.
/
~  
!
@  
#
$
%
^
&
*
(
)
_
+
{
}
|
:
"
<
>
?

Régler la tablette: set

Pour désactiver la sensibilité au doigt d'une tablette "Pen and Touch" (xsetwacom list dev permet de trouver le numéro de périphérique, par exemple 16):

Wacom Bamboo 16FG 6x8 Pen stylusid:    9 type: STYLUS
Wacom Bamboo 16FG 6x8 Pen eraserid:   10 type: ERASER
Wacom Bamboo 16FG 6x8 Finger touchid: 16 type: TOUCH
Wacom Bamboo 16FG 6x8 Finger padid:   17 type: PAD

Dans ce cas, il suffit pour enlever la sensibillité aux doigts:

xsetwacom set 16 touch off

Les lignes suivantes permettent de retourner la tablette (cw pour un quart de tour horaire, ccw pour un quart de tour anti-horaire, none pour annuler):

xsetwacom set 9 rotate half
xsetwacom set 10 rotate half

Attention: une rotation d'un quart de tour (ccw) signifie que le rectangle horizontal de l'écran correspond a priori au rectangle vertical de la tablette. Un cercle tracé sur la tablette donne alors une ellipse sur l'écran. Pour changer les rapports (ajuster selon les dimensions en pixels de l'écran):

xsetwacom set 9 MapToOutput 1366x2200+0+0
xsetwacom set 10 MapToOutput 1366x2200+0+0

signifie que la tablette adresse 1366 pixels d'écran en largeur et 2000 en hauteur, ce qui devrait être corriger la proportion. Notez que le haut de la tablette correspond alors au haut de l'écran. Pour plutôt utiliser le bas de la tablette, il faut prévoir un décalage vertical négatif:

xsetwacom set 9 MapToOutput 1366x2200+0-1200
xsetwacom set 10 MapToOutput 1366x2200+0-1200

L'automatisation du paramétrage s'avère un peu plus délicate, les identifiants pouvant changer selon les circonstances. Le script suivant les récupère donc, awk (paquet gawk) retournant l'identificateur de la fonction:

#! /bin/bash
# desactive le touchpad de certaines tablettes wacom

# xsetwacom retourne des chaines sous cette forme:
# Wacom Bamboo 16FG 6x8 Finger touch id: 9  type: TOUCH
# $1    $2     $3   $4  $5     $6    $7  $8 $9    $10

# awk teste si le dixième champ est TOUCH, et
# retourne alors le 8e sous la forme de variable 't'

t=$(xsetwacom list dev | awk '$10 == "TOUCH" {print $8}')
xsetwacom set $t touch off

t=$(xsetwacom list dev | awk '$10 == "STYLUS" {print $8}')
xsetwacom set $t rotate ccw
xsetwacom set $t MapToOutput 1366x2200+0-1200

t=$(xsetwacom list dev | awk '$10 == "ERASER" {print $8}')
xsetwacom set $t rotate ccw
xsetwacom set $t MapToOutput 1366x2200+0-1200

read -n 1 -p "Une touche…" dummy # pour attendre une (seule) touche

Pour les identifiants du stylet et de la gomme, remplacer 'TOUCH' par 'STYLUS' et 'ERASER', les lignes suivantes devant être ajoutées:

s=$(xsetwacom list dev | awk '$10 == "STYLUS" {print $8}')
xsetwacom set $s rotate half

e=$(xsetwacom list dev | awk '$10 == "ERASER" {print $8}')
xsetwacom set $e rotate half

Pour plus de précisions sur la programmation bash, voyez cette page

xsetwacom list mod permet d'obtenir une liste de modificateurs de touches (à suivre).

2. Paramétrages

Le survol de la tablette graphique par le stylet fait apparaître un petit cercle sur la fenêtre de MyPaint. Ce n'est normalement que le toucher avec la pointe qui marque l'écran selon la brosse et les effets choisis (il faudra sinon régler l'opacité).

Par défaut, l'image n'a pas de limite. Dessiner un trait et faire glisser l'image par maintien de la touche basse du stylet permet de s'en éloigner autant qu'on le désire (et que la mémoire le permet). La sauvegarde tient compte du dessin en laissant une marge confortable.

Pour les tablettes sensibles au stylet et à la main (Touch&Pen) il arrive que l'action conjointe de la main (qui influence la position du curseur) et du stylet ait une influence sur le paramétrage (changement de couleur, de brosse): il vaut mieux éviter de poser la main sur la surface sensible. Le paramétrage des boutons du stylet permet de désactiver certains raccourcis par tablette interposée, mais il est également possible de désactiver la fonction Touch.

2.1 Édition » Préférences

Onglet «Entrée du stylet»

Permet de donner une courbe de réponse de pression, où l'abscisse est la pression et l'ordonnée la réponse. Lorsque le graphique représente une droite de 0,0 (bas/gauche) vers 1,0 (haut/droite), la réponse est linéairement progressive.

Il est possible de multiplier le nombre de points (jusqu'à huit: cliquer sur la ligne pour en ajouter) pour dessiner une courbe de réponse plus complexe. Une courbe qui commence de façon abrupte rend le stylet plus sensible. Avec le point de gauche déjà élevé, le simple survol du stylet (sans pression) déclenche déjà un marquage.

Pour une réponse moins réactive, qui permet de commencer avec ligne très fine, faites une courbe qui démarre lentement.

Trois modes sont possibles. Le mode «Désactivé» est équivalent au bouton gauche de la souris: 50% ; dans le mode «Écran», la surface de la tablette correspond à la surface totale de l'écran ; le mode «Fenêtre» fait correspondre la surface de la tablette à celle de la fenêtre de mypaint, avec le problème que l'endroit marquant n'est pas celui du marqueur de pointeur.

Onglet «Boutons»

Trois boutons du stylet sont paramétrables: le premier est la pointe du stylet (ou la «gomme») touchant la tablette, le deuxième est le bouton bas, le troisième le bouton médian. Les boutons bas et médian ne fonctionnent que lorsque le stylet survole la surface, sans la toucher.

Les actions des trois boutons, combinables avec [ctrl], [alt] et [shift] ("Supérieure"), sont prédéfinies, mais il est possible de changer cette affectation. Il peut également être intéressant de désactiver certaines tâches inutiles qui se déclenchent intempestivement par l'action conjointe du stylet et de la main.

Note: MyPaint 1.1 gère l'édition des raccourcis des tâches par un autre procédé:

Onglet «Enregistrer»

Il est possible de paramétrer l'enregistrement par défaut au format .ora (OpenRaster) qui permet de sauvegarder les différent calques dans le fichier, .png ou .jpg (qualité 90%). Ce format est lisible par Gimp 2.8 (disponible à partir de Debian Wheezy ; un greffon existerait pour les versions 2.6 et 2.7 mais semble-t-il pas dans les paquets de Debian/Squeeze).

Le répertoire par défaut de la sauvegarde est définissable.

Onglet «Affichage»

Vue par défaut: 25, 50, 100 ou 200%, en précisant si l'agrandissement doit être de haute qualité, ce qui risque de ralentir l'affichage lors d'un défilement.

Concernant le plein écran, il est possible de cacher la barre de menu, la barre d'outil et/ou les outils. Le plein écran est accessible en cliquant sur la barre des icones, tout à droite ; on revient au mode fenêtre avec la touche [Esc] (haut/gauche du clavier)

2.2 Brosse » Éditeur des réglages de la brosse

Attention, pour les tablettes qui réagissent également aux doigts, les paramètres peuvent varier de façon aléatoire: mieux vaut utiliser la souris ou le touchpad (ou les touches [←], [→]) que le stylet. Les paramétrages ont été testés avec ma brosse de prédilection, kabura, il n'est pas exclu que d'autres brosses réagissent différemment.

Basiques

Opacité

Touches

Barbouiller

Vitesse

Pistage

Tracé, Couleur et Personnalisé n'ont pas eu l'air d'affecter la brosse kabura

3. Les fonctions

Le programme MyPaint est volontairement limité. Il y a néanmoins certaines facilités.

3.1 Calques

Calques » Calques ou [L] permet de faire apparaître l'outil «calque». A priori, l'image (chargée ou par défaut) comporte toujours au moins un calque. Le format OpenRaster (.ora) permet de sauvegarder une image en conservant chacun des calques ; ce format est reconnu par Gimp à partir de la version 2.8.

Pour réaliser un dessin à partir d'un brouillon: