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:
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).
The backend configuration file (see also description of SANE_CONFIG_DIR below).
The static library implementing this backend.
The shared library implementing this backend (present on systems that support dynamic loading).
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).
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.
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.