« Trucs:Utiliser les boutons de son scanneur » : différence entre les versions
mAucun résumé des modifications |
|||
(24 versions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:Trucs Matériel]] | |||
= Introduction = | = Introduction = | ||
Nos numériseurs sont de mieux en mieux reconnus par | Nos numériseurs sont de mieux en mieux reconnus par SANE, mais je me suis trouvé un peu perplexe devant mon superbe epson 3490 : Maman ! Et les boutons qu'il y a dessus ? | ||
Un début de solution nous est proposé par le projet '''scanbuttond | Un début de solution nous est proposé par le projet '''scanbuttond | ||
''' actuellement proposé en version 0.2.3 | ''' actuellement proposé en version 0.2.3 | ||
Cependant '''scanbuttond''' - qui n'est pas basé sur SANE - ne supporte pas non plus tous les scanneurs, et l'apparition du support des boutons dans SANE est en cours. Par exemple le backend <code>avision</code> propose un support des boutons. Cependant, pour que vous puissiez l'utiliser, il vous faudra l'équivalent de scanbuttond. Le projet se nomme '''KScannerButtons''' (voir plus bas). | |||
= scanbuttond = | |||
Cet article est écrit sur la base d'un numériseur Epson Prefection Photo 3490 sur une machine tournant sur Debian Sarge. | Cet article est écrit sur la base d'un numériseur Epson Prefection Photo 3490 sur une machine tournant sur Debian Sarge. | ||
Ligne 13 : | Ligne 16 : | ||
C'est en fait un petit démon que vous lancerez quand vous le désirez et qui va régulièrement poller le scanneur afin de voir si un des boutons est pressé, et donc éventuellement relaché. Dans le cas d'une action, il va lancer une numérisation et éventuellement d'autres actions sur la base d'un script que vous allez peaufiner vous-même. | C'est en fait un petit démon que vous lancerez quand vous le désirez et qui va régulièrement poller le scanneur afin de voir si un des boutons est pressé, et donc éventuellement relaché. Dans le cas d'une action, il va lancer une numérisation et éventuellement d'autres actions sur la base d'un script que vous allez peaufiner vous-même. | ||
= Installation = | == Installation == | ||
== Récupération du logiciel == | === Récupération du logiciel === | ||
{{Preferer un paquetage|scanbuttond}} | |||
- récupérez le fichier scanbuttond-0.2.3.tar.gz sur http://sourceforge.net/project/showfiles.php?group_id=121589 | - récupérez le fichier scanbuttond-0.2.3.tar.gz sur http://sourceforge.net/project/showfiles.php?group_id=121589 | ||
Ligne 29 : | Ligne 32 : | ||
</code> | </code> | ||
== Compilation proprement dite, installation == | === Compilation proprement dite, installation === | ||
Ce n'est que du grand classique en fait ;) | Ce n'est que du grand classique en fait ;) | ||
Ligne 75 : | Ligne 78 : | ||
</code> | </code> | ||
Essayez donc de suivre en temps réel les évènements, comme cela se passe dans le fichier /var/log/daemon (chez moi, pas très clair dans la documentation en anglais) : | Essayez donc de suivre en temps réel les évènements, comme cela se passe dans le fichier <code>/var/log/daemon.log</code> (chez moi, pas très clair dans la documentation en anglais) : | ||
<code>monuser@blackix:/usr/local/scanbuttond-0.2.3$ | <code>monuser@blackix:/usr/local/scanbuttond-0.2.3$ tail -f /var/log/daemon.log | ||
</code> | </code> | ||
Et en temps réel les nouvelles pressions effectuées s'affichent ! | Et en temps réel les nouvelles pressions effectuées s'affichent ! Chouette ! | ||
On arrête bien sûr cela par CTRL+C | On arrête bien sûr cela par CTRL+C | ||
= Configuration suivant ses besoins = | == Configuration suivant ses besoins == | ||
Tout se passe dans le fichier buttonpressed.sh | Tout se passe dans le fichier buttonpressed.sh | ||
Chez moi, je ne l'ai pas bougé et laissé dans /usr/local/etc/scanbuttond | Chez moi, je ne l'ai pas bougé et laissé dans /usr/local/etc/scanbuttond | ||
Ligne 89 : | Ligne 92 : | ||
Donc mon fichier buttonpressed.sh : | Donc mon fichier buttonpressed.sh : | ||
<code> | <code>#!/bin/sh | ||
#!/bin/sh | |||
# This script is started by scanbuttond whenever a scanner button has been pressed. | # This script is started by scanbuttond whenever a scanner button has been pressed. | ||
Ligne 126 : | Ligne 128 : | ||
Et les scans, je les récupère dans le répertoire /tmp avec des noms horodatés commençant par scan. De temps en temps, faire le ménage à la main... | Et les scans, je les récupère dans le répertoire /tmp avec des noms horodatés commençant par scan. De temps en temps, faire le ménage à la main... | ||
= KScannerButtons = | |||
KScannerButtons est composé de deux parties : | |||
* un démon similaire à scanbuttond, nommé '''sanebuttond'''. | |||
C'est un petit démon qui va régulièrement interroger le scanneur afin de voir si un des boutons a été pressé. Dans le cas d'une action, il peut lancer un programme (script shell par exemple) afin d'effectuer les actions que vous aurez paramétrées. | |||
* une interface graphique, a priori développée pour KDE, mais utilisable pour tout bureau. Cette interface permet de créer/configurer le script évoqué ci-dessus, tester les boutons, lancer le démon... (voir les copies d'écran sur le site de KScannerButtons) | |||
KScannerButtons est basé sur les capacités de surveillance des boutons qu'on commence à trouver dans certains backends (le driver) SANE. Par exemple: avision (testé), fujitsu (non testé). | |||
J'ai développé et testé ce logiciel avec un scanner HP 5300C (avision). | |||
== pré-requis == | |||
Le logiciel se présente sous la forme d'un tarball (fichier <code>.tar.bz2</code>) contenant à la fois la version compilée et les sources. | |||
L'interface graphique nécessite la présence du logiciel Kommander. | |||
== Installation du logiciel == | |||
{{Preferer_un_paquetage|KScannerButtons}} | |||
Si toutefois aucun paquetage pour votre distribution n'existe, KScannerButtons s'installe classiquement via les sources. | |||
Nous allons installer le logiciel sous KDE. Pour l'installation en ligne de commande (démon uniquement) reportez vous au site de KScannerButtons. | |||
* décompresser le tarball dans un répertoire temporaire | |||
<code>jice@taz:/usr/localtmp$ tar jxvf kscannerbuttons-0.9.tar.bz2 | |||
jice@taz:/usr/localtmp$ cd KScannerButtons | |||
</code> | |||
* installez les programmes par la commande : | |||
<code>jice@taz:/usr/localtmp$ make kdeinstall | |||
</code> | |||
* une boîte de dialogue va vous demander le mot de passe root. | |||
* entrez-le, cliquez sur [OK] : c'est fini. | |||
== configuration et tests == | |||
* Vous devriez voir une nouvelle icône sur votre bureau, nommée... KScannerButtons ! si, si, cherchez bien... Cliquez donc dessus pour lancer le programme. | |||
* Regardez du côté de la boîte à miniatures. Un petit scanner vous permet de montrer/cacher la fenêtre. | |||
* Vérifiez dans le premier onglet "Scanners" que votre scanner est bien reconnu. | |||
* Cliquez sur le nom du scanner, puis sur [Demander le nombre de boutons] | |||
* Si l'on vous répond "x boutons trouvés !" c'est en très bonne voie. Si c'est "aucun bouton n'est reconnu sur ce scanner", alors passez votrre chemin (ou si vous êtes développeur, aidez-moi à le supporter ;-) | |||
* Vérifiez dans l'onglet "Options" que tous les programmes nécessaires ont bien été trouvés. Le cas échéant, cherchez-les ! | |||
* Vous pouvez d'ores et déjà tester les boutons, en cliquant dans le premier onglet sur [Test boutons], puis sur les boutons de votre scanner. | |||
* Enfin, arrêtez le test (cliquez sur [Stopper le test]). | |||
* Vous pouvez maintenant choisir quelle action va déclencher chaque bouton. Les actions prédéfinies sont : | |||
** one-touch copy : faire une photocopie | |||
** one-touch gimp : scanner le document et l'ouvrir dans gimp | |||
** one-touch kmail : envoyer le document scanner avec kmail | |||
** one-touch kooka : lancer kooka | |||
** one-touch scan : scanner le document et l'enregistrer (dans votre répertoire tmp perso /home/user/tmp) | |||
** one-touch thunderbird : envoyer le document scanner avec thunderbird | |||
** one-touch xsane : lancer xsane | |||
* Après avoir choisi les actions, cliquez sur [Enregistrer les paramètres] | |||
* Enfin, lancez le démon en appuyant sur le bouton de démarrage (l'engrenage bleu). | |||
C'est gagné ;-) | |||
Voici une copie de l'écran où vous ferez toutes ces actions : | |||
[[Image:ksb4.png]] | |||
== Ajouter des actions == | |||
On vient d'évoquer les actions prédéfinies. Celles-ci sont visibles et modifiables dans l'onglet "Actions". | |||
Vous pouvez également y créer vos propres actions. | |||
Il s'agit de scripts shell. La seule subtilité est de savoir que le nom du périphérique se trouve dans la variable <code>$SANE_DEFAULT_DEVICE</code>, et c'est parti. | |||
Par exemple, le code de "one-touch copy" : | |||
<code>TMPFILE=`mktemp` | |||
scanimage \ | |||
--device-name $SANE_DEFAULT_DEVICE \ | |||
--format tiff --mode Color \ | |||
-l 0 -t 0 -x 210mm -y 297mm \ | |||
2>/dev/null > ${TMPFILE}.tiff | |||
tiff2ps -z -w 8.27 -h 11.69 \ | |||
${TMPFILE}.tiff | lpr | |||
rm -f ${TMPFILE}.tiff</code> | |||
'''Note''': dans la version 0.9, l'action one-touch copy est boguée. Il faut remplacer <code>> ${TMPFILE}.ps</code> par <code>| lpr</code>. | |||
Cela peut être beaucoup plus simple, comme en témoigne le code de "one-touch xsane" : | |||
<code>xsane $SANE_DEFAULT_DEVICE | |||
</code>. | |||
L'écran de création / mise à jour des actions : | |||
[[Image:ksb5.png]] | |||
==à propos de sanebuttond et des scripts== | |||
'''Si vous utilisez l'interface graphique, sautez ce paragraphe.''' | |||
Ce démon, similaire en but et en action avec '''scanbuttond''' est basé sur du code expérimental que j'ai trouvé sur le site de SANE. | |||
Lorsque vous cliquez sur [Enregistrer les paramètres], vous générez en fait un script shell qui va être utilisé par le démon. | |||
Le démon est lancé par la commande suivante : | |||
<code>/usr/local/bin/sanebuttonsd --daemon --quiet --script /home/jice/bin/sanebuttond.sh | |||
</code> | |||
À chaque appui de bouton, le démon lance le script avec comme paramètre le numéro de bouton pressé (de la même manière que scanbuttond ; le script est d'ailleurs très similaire, je vous invite à consulter le script <code>sanebuttonsd-test.sh</code>). | |||
Vous pouvez le lancer en mode démo (pour tester les boutons) : | |||
<code>[jice@jice ~]$ sanebuttonsd | |||
Scanner button 0 | |||
Message 0 | |||
Scanner button 1 | |||
Message 0 | |||
Scanner button 2 | |||
Message 0 | |||
Scanner button 3 | |||
Message 0</code> | |||
Pressez [Ctrl]-[C] pour le stopper. | |||
'''Note''': si vous avez plusieurs scanneurs (ou des périphériques v4l comme une carte télé), vous devez préciser à sanebuttond quel scanneur utiliser, en le lançant comme suit : | |||
<code>[jice@jice ~]$ sanebuttonsd avision:libusb:002:004 | |||
</code> | |||
ou bien : | |||
<code>[jice@jice ~]$ SANE_DEFAULT_DEVICE=avision:libusb:002:004 sanebuttonsd | |||
</code> | |||
où "avision:libusb:002:004" est le périphérique de votre scanneur, donné par <code>scanimage -L</code> ou <code>sane-list-scanners</code> (ce dernier est livré avec KScannerButtons). | |||
= Quelques liens de référence (dans la langue de Shakespeare) = | = Quelques liens de référence (dans la langue de Shakespeare) = | ||
Le site sur sourceforge bien sûr : http://scanbuttond.sourceforge.net/ | ==scanbuttond== | ||
; Le site sur sourceforge bien sûr : http://scanbuttond.sourceforge.net/ | |||
; La liste des scanners supportés : http://scanbuttond.sourceforge.net/index.php?page=/Supported_Scanners.php | |||
==KScannerButtons== | |||
; KScannerButtons : http://cardot.net/KScannerButtons/ | |||
; Kommander : http://kommander.kdewebdev.org/ | |||
; SANE : http://sane-project.org/ | |||
; avision : http://www.exactcode.de/oss/avision/index.html | |||
{{Copy|2006|Glorfindel (Frédéric POUPON) et Lea-linux.org|CC-BY-SA}} | {{Copy|2006|Glorfindel (Frédéric POUPON) et Lea-linux.org, [[Utilisateur:LeaJice|Jice]] pour la partie KScannerButtons|CC-BY-SA}} |
Dernière version du 30 août 2006 à 09:05
Introduction
Nos numériseurs sont de mieux en mieux reconnus par SANE, mais je me suis trouvé un peu perplexe devant mon superbe epson 3490 : Maman ! Et les boutons qu'il y a dessus ?
Un début de solution nous est proposé par le projet scanbuttond actuellement proposé en version 0.2.3
Cependant scanbuttond - qui n'est pas basé sur SANE - ne supporte pas non plus tous les scanneurs, et l'apparition du support des boutons dans SANE est en cours. Par exemple le backend avision
propose un support des boutons. Cependant, pour que vous puissiez l'utiliser, il vous faudra l'équivalent de scanbuttond. Le projet se nomme KScannerButtons (voir plus bas).
scanbuttond
Cet article est écrit sur la base d'un numériseur Epson Prefection Photo 3490 sur une machine tournant sur Debian Sarge.
C'est quoi scanbuttond ?
C'est en fait un petit démon que vous lancerez quand vous le désirez et qui va régulièrement poller le scanneur afin de voir si un des boutons est pressé, et donc éventuellement relaché. Dans le cas d'une action, il va lancer une numérisation et éventuellement d'autres actions sur la base d'un script que vous allez peaufiner vous-même.
Installation
Récupération du logiciel
Rappel : si votre distribution contient un paquetage pour scanbuttond, préférez utiliser ce paquetage plutôt que les sources. Certains puristes prétendrons qu'utiliser les sources c'est l'esprit Linux, mais ce sont surtout des problèmes de dépendances non gérées, des choix par forcément simple à faire sur l'utilisation de telle ou telle fonctionnalité du logiciel que l'on désire compiler.
Pour vérifier que votre distribution contient un paquetage pour scanbuttond, il faut utiliser l'outil de gestion de paquetage de celle-ci. Par exemple :
Votre distribution contient aussi presque surement un outil graphique pour obtenir cette information. Pour plus d'information sur ces questions, consulter cette documentation. |
- récupérez le fichier scanbuttond-0.2.3.tar.gz sur http://sourceforge.net/project/showfiles.php?group_id=121589
Personnellement, je l'ai mis dans /usr/local mais vous faites comme vous voulez.
- Décompressez tout cela :
monsuser@blackix:/usr/local$ gunzip scanbuttond-0.2.3.tar.gz
monuser@blackix:/usr/local$ tar xvf scanbuttond-0.2.3.tar
monuser@blackix:/usr/local$ cd scanbuttond-0.2.3
Compilation proprement dite, installation
Ce n'est que du grand classique en fait ;)
monsuser@blackix:/usr/local/scanbuttond-0.2.3$ ./configure
monuser@blackix:/usr/local/scanbuttond-0.2.3$ make
Tout devrait bien se passer étape par étape. Il y a, il est vrai beaucoup de lignes qui défilent, mais du moment que l'on ne finit pas sur une ligne d'erreur, ça roule.
On continue dans le classique :
monuser@blackix:/usr/local/scanbuttond-0.2.3$ sudo make install
monuser@blackix:/usr/local/scanbuttond-0.2.3$ sudo ldconfig
Cette dernière ligne est à ne pas oublier, sinon attendez-vous plus tard à un message du genre :
monuser@blackix:/usr/local/scanbuttond-0.2.3$ sudo scanbuttond
Unable to load backend library "/usr/local/lib/libscanbtnd-backend_meta.so"!
Un petit test pour voir
Premièrement, nous allons vérifier que le démon réagit bien aux évènements :
monuser@blackix:/usr/local/scanbuttond-0.2.3$scanbuttond
Rien ne se passe, c'est bon signe... Si vous avez un message d'erreur, quelque chose s'est mal passé ;(
Appuyons donc sur quelques uns des boutons et recherchons si quelque chose est arrivé :
monuser@blackix:/usr/local/scanbuttond-0.2.3$ sudo grep -R scanbuttond /var/log
et là : normalement le plaisir du style :
/var/log/daemon.log:Mar 24 16:19:32 localhost scanbuttond: scanbuttond started
/var/log/daemon.log:Mar 24 16:19:38 localhost scanbuttond: button 4 has been pressed.
/var/log/daemon.log:Mar 24 16:19:39 localhost scanbuttond: button 4 has been released.
/var/log/daemon.log:Mar 24 16:19:41 localhost scanbuttond: button 3 has been pressed.
/var/log/daemon.log:Mar 24 16:19:41 localhost scanbuttond: button 2 has been pressed.
/var/log/daemon.log:Mar 24 16:19:42 localhost scanbuttond: button 2 has been released.
/var/log/daemon.log:Mar 24 16:19:42 localhost scanbuttond: button 1 has been pressed.
/var/log/daemon.log:Mar 24 16:19:43 localhost scanbuttond: button 1 has been released.
Essayez donc de suivre en temps réel les évènements, comme cela se passe dans le fichier /var/log/daemon.log
(chez moi, pas très clair dans la documentation en anglais) :
monuser@blackix:/usr/local/scanbuttond-0.2.3$ tail -f /var/log/daemon.log
Et en temps réel les nouvelles pressions effectuées s'affichent ! Chouette !
On arrête bien sûr cela par CTRL+C
Configuration suivant ses besoins
Tout se passe dans le fichier buttonpressed.sh Chez moi, je ne l'ai pas bougé et laissé dans /usr/local/etc/scanbuttond On trouve dans la documentation beaucoup de possibilités de gérer le fichier .lock, mais dans mon cas, n'ayant qu'un scanner et le le partageant pas, je ne me suis pas embêté avec. J'ai configuré mon scanner pour que le bouton 1 fasse un scan en couleurs et ouvre Gimp avec, le bouton 2 pour la même chose en noir et blanc, les boutons 3 et 4 pour un simple scan dans un fichier (couleur et noir et blanc), histoire de pouvoir faire des scans multi-pages sans quitter le scanner situé à 2 mètres de la tour :
Donc mon fichier buttonpressed.sh :
#!/bin/sh
- This script is started by scanbuttond whenever a scanner button has been pressed.
- Scanbuttond passes the following parameters to us:
- $1 ... the button number
- $2 ... the scanner's SANE device name, which comes in handy if there are two or
- more scanners. In this case we can pass the device name to SANE programs
- like scanimage.
BUTTON="$1"
DEVICE="$2"
PICDIR="/tmp/"
TMPFILE="/tmp/scan-`date +%Y%m%d%H%M%S`.png"
LOCKFILE="/tmp/${DEVICE}.lock"
case $1 in
1)
scanimage --mode Color >$TMPFILE && \
gimp $TMPFILE &
;;
2)
scanimage --mode Gray >$TMPFILE &&\
gimp $TMPFILE &
;;
3)
/usr/local/bin/scanimage --mode Color >$TMPFILE
;;
4)
/usr/local/bin/scanimage --mode Gray >$TMPFILE
;;
esac
buttonpressed.sh (END)
Et les scans, je les récupère dans le répertoire /tmp avec des noms horodatés commençant par scan. De temps en temps, faire le ménage à la main...
KScannerButtons
KScannerButtons est composé de deux parties :
- un démon similaire à scanbuttond, nommé sanebuttond.
C'est un petit démon qui va régulièrement interroger le scanneur afin de voir si un des boutons a été pressé. Dans le cas d'une action, il peut lancer un programme (script shell par exemple) afin d'effectuer les actions que vous aurez paramétrées.
- une interface graphique, a priori développée pour KDE, mais utilisable pour tout bureau. Cette interface permet de créer/configurer le script évoqué ci-dessus, tester les boutons, lancer le démon... (voir les copies d'écran sur le site de KScannerButtons)
KScannerButtons est basé sur les capacités de surveillance des boutons qu'on commence à trouver dans certains backends (le driver) SANE. Par exemple: avision (testé), fujitsu (non testé).
J'ai développé et testé ce logiciel avec un scanner HP 5300C (avision).
pré-requis
Le logiciel se présente sous la forme d'un tarball (fichier .tar.bz2
) contenant à la fois la version compilée et les sources.
L'interface graphique nécessite la présence du logiciel Kommander.
Installation du logiciel
Rappel : si votre distribution contient un paquetage pour KScannerButtons, préférez utiliser ce paquetage plutôt que les sources. Certains puristes prétendrons qu'utiliser les sources c'est l'esprit Linux, mais ce sont surtout des problèmes de dépendances non gérées, des choix par forcément simple à faire sur l'utilisation de telle ou telle fonctionnalité du logiciel que l'on désire compiler.
Pour vérifier que votre distribution contient un paquetage pour KScannerButtons, il faut utiliser l'outil de gestion de paquetage de celle-ci. Par exemple :
Votre distribution contient aussi presque surement un outil graphique pour obtenir cette information. Pour plus d'information sur ces questions, consulter cette documentation. |
Si toutefois aucun paquetage pour votre distribution n'existe, KScannerButtons s'installe classiquement via les sources.
Nous allons installer le logiciel sous KDE. Pour l'installation en ligne de commande (démon uniquement) reportez vous au site de KScannerButtons.
- décompresser le tarball dans un répertoire temporaire
jice@taz:/usr/localtmp$ tar jxvf kscannerbuttons-0.9.tar.bz2
jice@taz:/usr/localtmp$ cd KScannerButtons
- installez les programmes par la commande :
jice@taz:/usr/localtmp$ make kdeinstall
- une boîte de dialogue va vous demander le mot de passe root.
- entrez-le, cliquez sur [OK] : c'est fini.
configuration et tests
- Vous devriez voir une nouvelle icône sur votre bureau, nommée... KScannerButtons ! si, si, cherchez bien... Cliquez donc dessus pour lancer le programme.
- Regardez du côté de la boîte à miniatures. Un petit scanner vous permet de montrer/cacher la fenêtre.
- Vérifiez dans le premier onglet "Scanners" que votre scanner est bien reconnu.
- Cliquez sur le nom du scanner, puis sur [Demander le nombre de boutons]
- Si l'on vous répond "x boutons trouvés !" c'est en très bonne voie. Si c'est "aucun bouton n'est reconnu sur ce scanner", alors passez votrre chemin (ou si vous êtes développeur, aidez-moi à le supporter ;-)
- Vérifiez dans l'onglet "Options" que tous les programmes nécessaires ont bien été trouvés. Le cas échéant, cherchez-les !
- Vous pouvez d'ores et déjà tester les boutons, en cliquant dans le premier onglet sur [Test boutons], puis sur les boutons de votre scanner.
- Enfin, arrêtez le test (cliquez sur [Stopper le test]).
- Vous pouvez maintenant choisir quelle action va déclencher chaque bouton. Les actions prédéfinies sont :
- one-touch copy : faire une photocopie
- one-touch gimp : scanner le document et l'ouvrir dans gimp
- one-touch kmail : envoyer le document scanner avec kmail
- one-touch kooka : lancer kooka
- one-touch scan : scanner le document et l'enregistrer (dans votre répertoire tmp perso /home/user/tmp)
- one-touch thunderbird : envoyer le document scanner avec thunderbird
- one-touch xsane : lancer xsane
- Après avoir choisi les actions, cliquez sur [Enregistrer les paramètres]
- Enfin, lancez le démon en appuyant sur le bouton de démarrage (l'engrenage bleu).
C'est gagné ;-)
Voici une copie de l'écran où vous ferez toutes ces actions :
Ajouter des actions
On vient d'évoquer les actions prédéfinies. Celles-ci sont visibles et modifiables dans l'onglet "Actions".
Vous pouvez également y créer vos propres actions.
Il s'agit de scripts shell. La seule subtilité est de savoir que le nom du périphérique se trouve dans la variable $SANE_DEFAULT_DEVICE
, et c'est parti.
Par exemple, le code de "one-touch copy" :
TMPFILE=`mktemp`
scanimage \
--device-name $SANE_DEFAULT_DEVICE \
--format tiff --mode Color \
-l 0 -t 0 -x 210mm -y 297mm \
2>/dev/null > ${TMPFILE}.tiff
tiff2ps -z -w 8.27 -h 11.69 \
${TMPFILE}.tiff | lpr
rm -f ${TMPFILE}.tiff
Note: dans la version 0.9, l'action one-touch copy est boguée. Il faut remplacer > ${TMPFILE}.ps
par | lpr
.
Cela peut être beaucoup plus simple, comme en témoigne le code de "one-touch xsane" :
xsane $SANE_DEFAULT_DEVICE
.
L'écran de création / mise à jour des actions :
à propos de sanebuttond et des scripts
Si vous utilisez l'interface graphique, sautez ce paragraphe.
Ce démon, similaire en but et en action avec scanbuttond est basé sur du code expérimental que j'ai trouvé sur le site de SANE.
Lorsque vous cliquez sur [Enregistrer les paramètres], vous générez en fait un script shell qui va être utilisé par le démon.
Le démon est lancé par la commande suivante :
/usr/local/bin/sanebuttonsd --daemon --quiet --script /home/jice/bin/sanebuttond.sh
À chaque appui de bouton, le démon lance le script avec comme paramètre le numéro de bouton pressé (de la même manière que scanbuttond ; le script est d'ailleurs très similaire, je vous invite à consulter le script sanebuttonsd-test.sh
).
Vous pouvez le lancer en mode démo (pour tester les boutons) :
[jice@jice ~]$ sanebuttonsd
Scanner button 0
Message 0
Scanner button 1
Message 0
Scanner button 2
Message 0
Scanner button 3
Message 0
Pressez [Ctrl]-[C] pour le stopper.
Note: si vous avez plusieurs scanneurs (ou des périphériques v4l comme une carte télé), vous devez préciser à sanebuttond quel scanneur utiliser, en le lançant comme suit :
[jice@jice ~]$ sanebuttonsd avision:libusb:002:004
ou bien :
[jice@jice ~]$ SANE_DEFAULT_DEVICE=avision:libusb:002:004 sanebuttonsd
où "avision:libusb:002:004" est le périphérique de votre scanneur, donné par scanimage -L
ou sane-list-scanners
(ce dernier est livré avec KScannerButtons).
Quelques liens de référence (dans la langue de Shakespeare)
scanbuttond
- Le site sur sourceforge bien sûr
- http://scanbuttond.sourceforge.net/
- La liste des scanners supportés
- http://scanbuttond.sourceforge.net/index.php?page=/Supported_Scanners.php
KScannerButtons
- KScannerButtons
- http://cardot.net/KScannerButtons/
- Kommander
- http://kommander.kdewebdev.org/
- SANE
- http://sane-project.org/
- avision
- http://www.exactcode.de/oss/avision/index.html
Copyright
© 2006 Glorfindel (Frédéric POUPON) et Lea-linux.org, Jice pour la partie KScannerButtons
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 4.0 : https://creativecommons.org/licenses/by-sa/4.0/ |