Sane backend for connectix quickcam cameras
The sane-qcam library implements a SANE (Scanner Access Now Easy) backend that provides access Connectix QuickCam cameras.
This backend expects device names of the form:
port
Where port is the I/O port address at which the device resides. This address is normally specified in hexadecimal using C syntax (e.g., 0x37b) and may be prefixed with the letter "u" (e.g., u0x37b) to force the backend to access the camera in uni-directional mode.
The contents of the qcam.conf file is a list port addresses that may be connected to a Connectix QuickCam. Empty lines and everything starting from a hash mark (#) up to the end of a line are ignored. A sample configuration file is shown below:
0x37b # /dev/lp0
0x378 # /dev/lp1
u0x278 # /dev/lp2 forced in uni-directional mode
0x3bc # /dev/lp0 (alternate address)
In general, it is safest to list only the port addresses that really correspond to a QuickCam. For example, if one of the listed addresses actually connect to a printer, then starting up this backend will cause the printer to perform a device reset (which is generally undesirable).
/etc/sane.d/qcam.conf
The backend configuration file (see also description of SANE_CONFIG_DIR below).
/usr/lib/arch_triplet/sane/libsane-qcam.a
The static library implementing this backend.
/usr/lib/arch_triplet/sane/libsane-qcam.so
The shared library implementing this backend (present on systems that support dynamic loading).
SANE_CONFIG_DIR
This environment variable specifies the list of directories that may contain the configuration file. Under UNIX, the directories are separated by a colon (`:'), under OS/2, they are separated by a semi-colon (`;'). If this variable is not set, the configuration file is searched in two default directories: first, the current working directory (".") and then in /etc/sane.d. If the value of the environment variable ends with the directory separator character, then the default directories are searched after the explicitly specified directories. For example, setting SANE_CONFIG_DIR to "/tmp/config:" would result in directories "tmp/config", ".", and "/etc/sane.d" being searched (in this order).
SANE_DEBUG_QCAM
If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. E.g., a value of 128 requests all debug output to be printed. Smaller levels reduce verbosity.
David Mosberger
Support is currently limited to the color version of the QuickCam. The black-and-white camera is starting to work too, but I don't believe it works in all cases yet. Reportedly, acquiring images of certain sizes work fine, but others result in shifted images (sounds like a problem due to byte-padding).
The program needs root-privileges since it needs to be able to access the camera's I/O ports.