• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

backends/H17-Feb-2006-2,8382,059

contrib/H17-Feb-2006-335271

include/scanbuttond/H17-Feb-2006-387138

interface/H17-Feb-2006-796651

lib/H03-May-2022-11490

scripts/H03-May-2022-404303

AUTHORSH A D15-Feb-2006565 3322

COPYINGH A D24-Apr-200517.6 KiB341281

ChangeLogH A D16-Feb-20061 KiB3930

INSTALLH A D15-Feb-20067.6 KiB183143

Makefile.amH A D16-Feb-2006344 106

Makefile.inH A D16-Feb-200624.5 KiB716629

NEWSH A D04-Jan-20050

READMEH A D16-Feb-20066 KiB176129

aclocal.m4H A D16-Feb-2006257.2 KiB7,3086,555

config.guessH A D22-Jan-200643.3 KiB1,4961,283

config.subH A D22-Jan-200631.8 KiB1,6281,485

configureH A D16-Feb-2006662.3 KiB20,32116,144

configure.inH A D16-Feb-2006416 1610

depcompH A D10-Feb-200615.6 KiB531330

install-shH A D10-Feb-20069 KiB324189

ltmain.shH A D10-Feb-2006195.8 KiB6,9725,497

missingH A D10-Feb-200610.8 KiB361268

scanbuttond.cH A D03-May-20229.8 KiB370260

README

1Scanner Button Daemon (scanbuttond), Version 0.2.3
2==================================================
3
4
5First things first
6------------------
7
8This software is in its very early stages of development. Although this daemon
9seems to work for most people, there may still be lots of critical bugs.
10Be prepared for the worst!
11
12
13Introduction
14------------
15
16Modern scanners usually have several front panel buttons which are intended to
17trigger certain actions like copying, faxing or mailing the scanned document.
18This daemon monitors the scanner's buttons and runs a shell script whenever one
19of these buttons has been pressed. Because it is accessing the scanner directly
20via libusb, there should be no conflicts with SANE or other scanner drivers:
21scanbuttond simply won't touch the scanner hardware while you are using SANE.
22
23
24Requirements
25------------
26
27 * Scanner: see "supported scanners" below
28 * Operating system: Linux (and perhaps other Unix-like systems)
29 * Connection: USB (using libusb, the scanner kernel module is currently
30   unsupported)
31
32
33Compilation & Installation
34--------------------------
35
36Since version 0.2.3, scanbuttond uses the GNU autotools for compilation &
37installation. Please see the file INSTALL for generic instructions on using
38them.
39
40If you are using a CVS version instead of a release, you may have to bootstrap
41the package. This can be done by running:
42"aclocal; autoconf; autoheader; automake -a; libtoolize".
43You should now be able to run ./configure and make.
44
45After you have installed scanbuttond, you should run "ldconfig" to update the
46cache of the dynamic linker. If you forget to do that, scanbuttond probably
47won't be able to load the backend modules or resolve the dependencies between
48them!
49
50
51Usage
52-----
53
54If you just want to try out scanbuttond, type
55> scanbuttond
56
57If everyhing works, scanbuttond will fork() to background. To see what
58scanbuttond is doing, you can have a look at your system log, for example
59/var/log/everything/current (for Gentoo Linux systems running metalog).
60
61To terminate scanbuttond, type
62> killall scanbuttond
63That should do the job. Scanbuttond installs a signal handler which should
64ensure a clean shutdown even when it's killed.
65
66If you intend to use scanbuttond seriously, you would probably want to write a
67distribution-specific init-script for starting and stopping the daemon.
68
69
70Supported scanners
71------------------
72
73Supported by the epson backend (via libusb):
74* Epson Expression 1600 (expected to work)
75* Epson Expression 1680 (expected to work)
76* Epson Perfection 610 (expected to work)
77* Epson Perfection 636U (expected to work)
78* Epson Perfection 640 (expected to work)
79* Epson Perfection 1200U (expected to work)
80* Epson Perfection 1240 (expected to work)
81* Epson Perfection 1640 (expected to work)
82* Epson Perfection 1650 (working, tested)
83* Epson Perfection 1660 (working, tested)
84* Epson Perfection 2400 (working, tested)
85* Epson Perfection 2450 (expected to work)
86* Epson Perfection 3200 (expected to work)
87* Epson CX3200 (working, tested)
88
89Supported by the mustek backend (via libusb):
90* Mustek BearPaw 2448TA (experimental)
91
92Supported by the niash backend (via libusb):
93* Agfa Snapscan Touch (expected to work)
94* HP Scanjet 3300c (expected to work)
95* HP Scanjet 3400c (expected to work)
96* HP Scanjet 4300c (expected to work)
97
98Supported by the plustek backend (via libusb):
99* Canon CanoScan N1220U (expected to work)
100* Canon CanoScan D660U (expected to work)
101* Canon CanoScan N650U (expected to work)
102* Canon CanoScan LiDE 20 (experimental)
103* Canon CanoScan LiDE 25 (experimental)
104* Canon CanoScan LiDE 30 (experimental)
105* Epson Perfection 1260 (experimental)
106* Hewlett-Packard ScanJet 2200c (experimental)
107
108Supported by the plustek_umax backend (via libusb):
109* UMAX Astra 3400/3450 (experimental)
110
111Supported by the snapscan backend (via libusb):
112* Epson Perfection 2480 (expected to work)
113* Epson Perfection 2580 (expected to work)
114* Epson Perfection 1670 (working, tested)
115
116Note: the mustek, niash, plustek, plustek_umax and snapscan backends were
117implemented using information gathered by "sniffing" the communication between
118the Windows driver and the scanner, because there is no technical documentation
119available for these devices! This means that there may be some weird issues
120(e.g. button press events reported twice).
121
122
123How to link actions to buttons
124------------------------------
125
126Whenever a scanner button has been pressed, scanbuttond starts a shell script
127and passes it the button number and the SANE scanner name as command line
128arguments. By default, this shell script is installed as
129"/usr/local/etc/scanbuttond/buttonpressed.sh". Please modify it to fit your
130purposes.
131
132
133Scanner initialization
134----------------------
135
136Note: this only applies to some scanners supported by the non-epson backends.
137All scanners supported by the epson backend do not need special initialization.
138
139Some scanners require a special initialization procedure (firmware uploading,
140for example) before they can be used by scanbuttond. Since the scanbuttond
141backend modules cannot yet handle such operations, the initialization has to be
142performed by external programs, for example by "scanimage" which is part of
143SANE. You can customize the initialization procedure by editing the scanner
144initialization script, which is by default installed at
145"/usr/local/etc/scanbuttond/initscanner.sh". This script will be executed
146whenever a new device has to be initialized. In most cases, it should be
147sufficient to put something like "scanimage -n" into this script.
148
149
150How to contribute to this project
151---------------------------------
152
153The development of scanbuttond should not be dependent on one single person,
154but a community effort.
155You could help by ...
156
157 * adding or enhancing a scanner backend
158 * adding or enhancing a connection interface
159 * doing some extensive testing
160 * sending patches
161 * sending bug reports
162 * mailing ideas how to enhance scanbuttond
163 * ...
164
165If you want to help, please send me an email (see below).
166
167
168Contact
169-------
170
171Any suggestions, criticism, bug reports/fixes, patches, ... are appreciated.
172Feel free to contact me via email:
173
174Bernhard Stiftner <root84@users.sourceforge.net>
175
176