kopia lustrzana https://gitlab.com/sane-project/backends
- moved experimental version to current tree
rodzic
8c638f5802
commit
dce6df9182
10
ChangeLog
10
ChangeLog
|
@ -1,6 +1,14 @@
|
|||
2007-10-01 Stephane Voltz <stef.dev@free.fr>
|
||||
|
||||
* doc/sane-umax_pp.man doc/description/umax_pp.desc:
|
||||
* doc/sane-lexmark.man doc/descriptions/lexmark.desc
|
||||
backend/Makefile.in backend/lexmark.c backend/lexmark_low.c
|
||||
backend/lexmark_sensors.c backend/lexmark_models.c
|
||||
backend/lexmark.conf.in:
|
||||
moved experimental version to current tree
|
||||
|
||||
2007-10-01 Stephane Voltz <stef.dev@free.fr>
|
||||
|
||||
* doc/sane-umax_pp.man doc/descriptions/umax_pp.desc:
|
||||
added Genius ColorPage-Life Pro as supported scanner
|
||||
by the umax_pp backend
|
||||
|
||||
|
|
|
@ -123,7 +123,8 @@ DISTFILES = abaton.c abaton.conf.in abaton.h agfafocus.c agfafocus.conf.in \
|
|||
hp5400_sane.c hp5400_sanei.c hp5400_sanei.h \
|
||||
ibm.c ibm.conf.in ibm.h ibm-scsi.c \
|
||||
leo.c leo.h leo.conf.in \
|
||||
lexmark.c lexmark-x1100.c lexmark.h lexmark.conf.in \
|
||||
lexmark.c lexmark_low.c lexmark_sensors.c lexmark_devices.c lexmark.h \
|
||||
lexmark.conf.in \
|
||||
lm9830.h \
|
||||
ma1509.c ma1509.conf.in ma1509.h \
|
||||
Makefile.in matsushita.c \
|
||||
|
@ -315,7 +316,7 @@ EXTRA_hp = hp-accessor hp-device hp-handle hp-hpmem hp-option hp-scl
|
|||
EXTRA_umax_pp = umax_pp_low umax_pp_mid
|
||||
EXTRA_epson = epson_scsi epson_usb
|
||||
EXTRA_epson2 = epson2_scsi epson_usb epson2_net epson2-io epson2-commands
|
||||
EXTRA_lexmark = lexmark-x1100
|
||||
EXTRA_lexmark = lexmark_low
|
||||
EXTRA_pixma = pixma_io_sanei pixma_common pixma_mp150 pixma_mp730 pixma_mp750
|
||||
|
||||
# When preloading dll, we need to add in all preloaded objects:
|
||||
|
|
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
|
@ -1,2 +1,6 @@
|
|||
#usb /dev/usb/scanner0
|
||||
# X11xx series
|
||||
usb 0x043d 0x007c
|
||||
# X12xx series
|
||||
usb 0x043d 0x007d
|
||||
# Dell A920
|
||||
usb 0x413c 0x5105
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
lexmark.h - SANE library for Lexmark scanners.
|
||||
Copyright (C) 2003-2004 Lexmark International, Inc. (original source)
|
||||
Copyright (C) 2005 Fred Odendaal
|
||||
Copyright (C) 2006-2007 Stéphane Voltz <stef.dev@free.fr>
|
||||
|
||||
This file is part of the SANE package.
|
||||
|
||||
|
@ -44,34 +45,70 @@
|
|||
#ifndef LEXMARK_H
|
||||
#define LEXMARK_H
|
||||
|
||||
/* Force the backend name for all files using this include */
|
||||
#ifdef BACKEND_NAME
|
||||
#undef BACKEND_NAME
|
||||
#define BACKEND_NAME lexmark
|
||||
#endif
|
||||
|
||||
#define DEBUG_NOT_STATIC
|
||||
#define SANE_NAME_PAPER_SIZE "paper-size"
|
||||
#define SANE_TITLE_PAPER_SIZE SANE_I18N("Paper size")
|
||||
#define SANE_DESC_PAPER_SIZE \
|
||||
SANE_I18N("Selects the size of the area to be scanned.");
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
OPT_NUM_OPTS = 0,
|
||||
OPT_MODE,
|
||||
/* OPT_X_DPI, */
|
||||
/* OPT_Y_DPI, */
|
||||
OPT_RESOLUTION,
|
||||
OPT_PREVIEW,
|
||||
OPT_SCAN_SIZE,
|
||||
OPT_THRESHOLD,
|
||||
|
||||
OPT_GEOMETRY_GROUP,
|
||||
OPT_TL_X, /* top-left x */
|
||||
OPT_TL_Y, /* top-left y */
|
||||
OPT_BR_X, /* bottom-right x */
|
||||
OPT_BR_Y, /* bottom-right y */
|
||||
|
||||
/* manual gain handling */
|
||||
OPT_MANUAL_GAIN, /* 6 */
|
||||
OPT_GRAY_GAIN,
|
||||
OPT_RED_GAIN,
|
||||
OPT_GREEN_GAIN,
|
||||
OPT_BLUE_GAIN,
|
||||
|
||||
/* must come last: */
|
||||
NUM_OPTIONS
|
||||
}
|
||||
Lexmark_Options;
|
||||
|
||||
/*
|
||||
* this struct is used to described the specific parts of each model
|
||||
*/
|
||||
typedef struct Lexmark_Model
|
||||
{
|
||||
SANE_Int vendor_id;
|
||||
SANE_Int product_id;
|
||||
SANE_Byte mainboard_id; /* matched against the content of reg B0 */
|
||||
SANE_String_Const name;
|
||||
SANE_String_Const vendor;
|
||||
SANE_String_Const model;
|
||||
SANE_Int motor_type;
|
||||
SANE_Int sensor_type;
|
||||
} Lexmark_Model;
|
||||
|
||||
/*
|
||||
* this struct is used to store per sensor model constants
|
||||
*/
|
||||
typedef struct Lexmark_Sensor
|
||||
{
|
||||
SANE_Int id;
|
||||
SANE_Int offset_startx; /* starting x for offset calibration */
|
||||
SANE_Int offset_endx; /* end x for offset calibration */
|
||||
SANE_Int offset_threshold; /* target threshold for offset calibration */
|
||||
SANE_Int xoffset; /* number of unusable pixels on the start of the sensor */
|
||||
SANE_Int default_gain; /* value of the default gain for a scan */
|
||||
SANE_Int red_gain_target;
|
||||
SANE_Int green_gain_target;
|
||||
SANE_Int blue_gain_target;
|
||||
SANE_Int gray_gain_target;
|
||||
SANE_Int red_shading_target;
|
||||
SANE_Int green_shading_target;
|
||||
SANE_Int blue_shading_target;
|
||||
SANE_Int gray_shading_target;
|
||||
SANE_Int offset_fallback; /* offset to use in case offset calibration fails */
|
||||
SANE_Int gain_fallback; /* gain to use in case offset calibration fails */
|
||||
} Lexmark_Sensor;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
RED = 0,
|
||||
|
@ -80,6 +117,16 @@ typedef enum
|
|||
}
|
||||
Scan_Regions;
|
||||
|
||||
/* struct to hold pre channel settings */
|
||||
typedef struct Channels
|
||||
{
|
||||
SANE_Word red;
|
||||
SANE_Word green;
|
||||
SANE_Word blue;
|
||||
SANE_Word gray;
|
||||
}
|
||||
Channels;
|
||||
|
||||
/** @name Option_Value union
|
||||
* convenience union to access option values given to the backend
|
||||
* @{
|
||||
|
@ -131,8 +178,6 @@ typedef struct Lexmark_Device
|
|||
SANE_Parameters params;
|
||||
SANE_Int devnum;
|
||||
long data_size;
|
||||
SANE_Int pixel_height;
|
||||
SANE_Int pixel_width;
|
||||
SANE_Bool initialized;
|
||||
SANE_Bool eof;
|
||||
SANE_Int x_dpi;
|
||||
|
@ -141,31 +186,62 @@ typedef struct Lexmark_Device
|
|||
SANE_Bool device_cancelled;
|
||||
SANE_Int cancel_ctr;
|
||||
SANE_Byte *transfer_buffer;
|
||||
size_t bytes_read;
|
||||
size_t bytes_remaining;
|
||||
size_t bytes_in_buffer;
|
||||
SANE_Byte *read_pointer;
|
||||
Read_Buffer *read_buffer;
|
||||
SANE_Byte threshold;
|
||||
|
||||
Lexmark_Model model; /* per model data */
|
||||
Lexmark_Sensor *sensor;
|
||||
SANE_Byte shadow_regs[255]; /* shadow registers */
|
||||
struct Channels offset;
|
||||
struct Channels gain;
|
||||
float *shading_coeff;
|
||||
}
|
||||
Lexmark_Device;
|
||||
|
||||
/* Maximum transfer size */
|
||||
#define MAX_XFER_SIZE 0xFFC0
|
||||
|
||||
/* motors and sensors type defines */
|
||||
#define X1100_MOTOR 1
|
||||
#define A920_MOTOR 2
|
||||
|
||||
#define X1100_B2_SENSOR 3
|
||||
#define A920_SENSOR 4
|
||||
#define X1100_2C_SENSOR 5
|
||||
#define X1200_SENSOR 6 /* X1200 on USB 1.0 */
|
||||
#define X1200_USB2_SENSOR 7 /* X1200 on USB 2.0 */
|
||||
|
||||
/* Non-static Function Proto-types (called by lexmark.c) */
|
||||
SANE_Status sanei_lexmark_x1100_init (void);
|
||||
void sanei_lexmark_x1100_destroy (Lexmark_Device * dev);
|
||||
SANE_Status sanei_lexmark_x1100_open_device (SANE_String_Const devname,
|
||||
SANE_Int * devnum);
|
||||
void sanei_lexmark_x1100_close_device (SANE_Int devnum);
|
||||
SANE_Bool sanei_lexmark_x1100_search_home_fwd (Lexmark_Device * dev);
|
||||
void sanei_lexmark_x1100_move_fwd (SANE_Int distance, Lexmark_Device * dev);
|
||||
SANE_Bool sanei_lexmark_x1100_search_home_bwd (Lexmark_Device * dev);
|
||||
SANE_Int sanei_lexmark_x1100_find_start_line (SANE_Int devnum);
|
||||
SANE_Status sanei_lexmark_x1100_set_scan_regs (Lexmark_Device * dev,
|
||||
SANE_Int offset);
|
||||
SANE_Status sanei_lexmark_x1100_start_scan (Lexmark_Device * dev);
|
||||
long sanei_lexmark_x1100_read_scan_data (SANE_Byte * data, SANE_Int size,
|
||||
SANE_Status sanei_lexmark_low_init (Lexmark_Device * dev);
|
||||
void sanei_lexmark_low_destroy (Lexmark_Device * dev);
|
||||
SANE_Status sanei_lexmark_low_open_device (Lexmark_Device * dev);
|
||||
void sanei_lexmark_low_close_device (Lexmark_Device * dev);
|
||||
SANE_Bool sanei_lexmark_low_search_home_fwd (Lexmark_Device * dev);
|
||||
void sanei_lexmark_low_move_fwd (SANE_Int distance, Lexmark_Device * dev,
|
||||
SANE_Byte * regs);
|
||||
SANE_Bool sanei_lexmark_low_search_home_bwd (Lexmark_Device * dev);
|
||||
SANE_Int sanei_lexmark_low_find_start_line (Lexmark_Device * dev);
|
||||
SANE_Status sanei_lexmark_low_set_scan_regs (Lexmark_Device * dev,
|
||||
SANE_Int offset,
|
||||
SANE_Bool calibrated);
|
||||
SANE_Status sanei_lexmark_low_start_scan (Lexmark_Device * dev);
|
||||
long sanei_lexmark_low_read_scan_data (SANE_Byte * data, SANE_Int size,
|
||||
Lexmark_Device * dev);
|
||||
SANE_Status sanei_lexmark_low_assign_model (Lexmark_Device * dev,
|
||||
char *devname, SANE_Int vendor,
|
||||
SANE_Int product,
|
||||
SANE_Byte mainboard);
|
||||
|
||||
/*
|
||||
* scanner calibration functions
|
||||
*/
|
||||
SANE_Status sanei_lexmark_low_offset_calibration (Lexmark_Device * dev);
|
||||
SANE_Status sanei_lexmark_low_gain_calibration (Lexmark_Device * dev);
|
||||
SANE_Status sanei_lexmark_low_shading_calibration (Lexmark_Device * dev);
|
||||
SANE_Status sanei_lexmark_low_calibration (Lexmark_Device * dev);
|
||||
|
||||
#endif /* LEXMARK_H */
|
||||
|
|
Plik diff jest za duży
Load Diff
|
@ -0,0 +1,93 @@
|
|||
/* sane - Scanner Access Now Easy.
|
||||
|
||||
Copyright (C) 2006-2007 Stéphane Voltz <stef.dev@free.fr>
|
||||
|
||||
This file is part of the SANE package.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
As a special exception, the authors of SANE give permission for
|
||||
additional uses of the libraries contained in this release of SANE.
|
||||
|
||||
The exception is that, if you link a SANE library with other files
|
||||
to produce an executable, this does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public
|
||||
License. Your use of that executable is in no way restricted on
|
||||
account of linking the SANE library code into it.
|
||||
|
||||
This exception does not, however, invalidate any other reasons why
|
||||
the executable file might be covered by the GNU General Public
|
||||
License.
|
||||
|
||||
If you submit changes to SANE to the maintainers to be included in
|
||||
a subsequent release, you agree by submitting the changes that
|
||||
those changes may be distributed with this exception intact.
|
||||
|
||||
If you write modifications of your own for SANE, it is your choice
|
||||
whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, delete this exception notice.
|
||||
*/
|
||||
|
||||
static Lexmark_Model model_list[] = {
|
||||
{
|
||||
0x043d, /* vendor id */
|
||||
0x007c, /* product id */
|
||||
0xb2, /* submodel id */
|
||||
"Lexmark X1100", /* name */
|
||||
"Lexmark", /* vendor */
|
||||
"X1100/rev. B2", /* model */
|
||||
X1100_MOTOR, /* X1100 series has 2 sensors */
|
||||
X1100_B2_SENSOR},
|
||||
{
|
||||
0x043d, /* vendor id */
|
||||
0x007c, /* product id */
|
||||
0x2c, /* submodel id */
|
||||
"Lexmark X1100", /* name */
|
||||
"Lexmark", /* vendor */
|
||||
"X1100/rev. 2C", /* model */
|
||||
A920_MOTOR, /* X1100 series has 2 sensors, 2C or B2. It
|
||||
is detected at sane_open() */
|
||||
X1100_2C_SENSOR},
|
||||
{
|
||||
0x413c, /* vendor id */
|
||||
0x5105, /* product id */
|
||||
0x2c, /* submodel id */
|
||||
"Dell A920", /* name */
|
||||
"Dell", /* vendor */
|
||||
"A920", /* model */
|
||||
A920_MOTOR,
|
||||
A920_SENSOR},
|
||||
{
|
||||
0x043d, /* vendor id */
|
||||
0x007d, /* product id */
|
||||
0x87, /* submodel id */
|
||||
"Lexmark X1200", /* name */
|
||||
"Lexmark", /* vendor */
|
||||
"X1200/USB1.1", /* model */
|
||||
A920_MOTOR,
|
||||
X1200_SENSOR},
|
||||
{
|
||||
0x043d, /* vendor id */
|
||||
0x007d, /* product id */
|
||||
0x97, /* submodel id */
|
||||
"Lexmark X1200", /* name */
|
||||
"Lexmark", /* vendor */
|
||||
"X1200/USB2.0", /* model */
|
||||
A920_MOTOR,
|
||||
X1200_USB2_SENSOR},
|
||||
{ /* termination model, must be last */
|
||||
0, 0, 0, NULL, NULL, NULL, 0, 0}
|
||||
}; /* end models description */
|
|
@ -0,0 +1,122 @@
|
|||
/* sane - Scanner Access Now Easy.
|
||||
|
||||
Copyright (C) 2006-2007 Stéphane Voltz <stef.dev@free.fr>
|
||||
|
||||
This file is part of the SANE package.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
As a special exception, the authors of SANE give permission for
|
||||
additional uses of the libraries contained in this release of SANE.
|
||||
|
||||
The exception is that, if you link a SANE library with other files
|
||||
to produce an executable, this does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public
|
||||
License. Your use of that executable is in no way restricted on
|
||||
account of linking the SANE library code into it.
|
||||
|
||||
This exception does not, however, invalidate any other reasons why
|
||||
the executable file might be covered by the GNU General Public
|
||||
License.
|
||||
|
||||
If you submit changes to SANE to the maintainers to be included in
|
||||
a subsequent release, you agree by submitting the changes that
|
||||
those changes may be distributed with this exception intact.
|
||||
|
||||
If you write modifications of your own for SANE, it is your choice
|
||||
whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, delete this exception notice.
|
||||
*/
|
||||
|
||||
static Lexmark_Sensor sensor_list[] = {
|
||||
{
|
||||
X1100_B2_SENSOR,
|
||||
/* start x, end x and target average for offset calibration */
|
||||
48,80,6,
|
||||
/* usable pixel sensor startx */
|
||||
106,
|
||||
/* default gain */
|
||||
16,
|
||||
/* gain calibration targets */
|
||||
180, 180, 180, 180,
|
||||
/* shading correction targets */
|
||||
260, 260, 260, 260,
|
||||
/* offset and gain fallback */
|
||||
0x70, 17
|
||||
},
|
||||
{
|
||||
X1100_2C_SENSOR,
|
||||
/* start x, end x and target average for offset calibration */
|
||||
48,80,12,
|
||||
/* usable pixel sensor startx */
|
||||
106,
|
||||
/* default gain */
|
||||
10,
|
||||
/* gain calibration */
|
||||
140, 150, 150, 150,
|
||||
/* shading correction */
|
||||
260, 260, 260, 260,
|
||||
/* offset and gain fallback */
|
||||
0x70, 11
|
||||
},
|
||||
{ /* USB 1.1 settings */
|
||||
X1200_SENSOR,
|
||||
/* start x, end x and target average for offset calibration */
|
||||
32,64,15,
|
||||
/* usable pixel sensor startx */
|
||||
136,
|
||||
/* default gain */
|
||||
16,
|
||||
/* gain calibration */
|
||||
180, 180, 180, 180,
|
||||
/* shading correction */
|
||||
260, 260, 260, 260,
|
||||
/* offset and gain fallback */
|
||||
0x86, 16
|
||||
},
|
||||
{ /* this one is a 1200 on USB2.0 */
|
||||
X1200_USB2_SENSOR,
|
||||
/* start x, end x and target average for offset calibration */
|
||||
32,64,12,
|
||||
/* usable pixel sensor startx */
|
||||
136,
|
||||
/* default gain */
|
||||
16,
|
||||
/* gain calibration */
|
||||
180, 180, 180, 180,
|
||||
/* shading correction */
|
||||
260, 260, 260, 260,
|
||||
/* offset and gain fallback */
|
||||
0x86, 16
|
||||
},
|
||||
{
|
||||
A920_SENSOR,
|
||||
/* start x, end x and target average for offset calibration */
|
||||
48,80,6,
|
||||
/* usable pixel sensor startx */
|
||||
106,
|
||||
/* default gain */
|
||||
12,
|
||||
/* gain calibration target */
|
||||
130, 145, 150, 145,
|
||||
/* gain calibration target */
|
||||
260, 260, 260, 260,
|
||||
/* offset and gain fallback */
|
||||
0x70, 13
|
||||
},
|
||||
/* termination list sensor, must be last */
|
||||
{0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
|
||||
};
|
|
@ -31,11 +31,10 @@
|
|||
:status :untested
|
||||
|
||||
:model "X1130"
|
||||
:url "/unsupported/lexmark-x1150.html"
|
||||
:interface "USB"
|
||||
:usbid "0x043d" "0x007c"
|
||||
:status :basic
|
||||
:comment "The images scanned have a lot of vertical lines"
|
||||
:status :good
|
||||
:comment "Supports 75, 150, 300, 600 dpi"
|
||||
|
||||
:model "X1140"
|
||||
:interface "USB"
|
||||
|
@ -46,25 +45,35 @@
|
|||
:url "/unsupported/lexmark-x1150.html"
|
||||
:interface "USB"
|
||||
:usbid "0x043d" "0x007c"
|
||||
:status :minimal
|
||||
:comment "Colors don't seem to be ok. Scanned white pages appear purple."
|
||||
:status :good
|
||||
:comment "Supports 75, 150, 300, 600 dpi"
|
||||
|
||||
:model "X1170"
|
||||
:interface "USB"
|
||||
:usbid "0x043d" "0x007c"
|
||||
:status :basic
|
||||
:comment "Colors aren't so bright. Bed-wide pictures are unscannable because the scan head never reaches the end of the bed (neither with letter selected). It leaves almost 2 cm out."
|
||||
:status :good
|
||||
:comment "Supports 75, 150, 300, 600 dpi"
|
||||
|
||||
:model "X1180"
|
||||
:url "/unsupported/lexmark-x1150.html"
|
||||
:interface "USB"
|
||||
:usbid "0x043d" "0x007c"
|
||||
:status :basic
|
||||
:status :good
|
||||
|
||||
:model "X1185"
|
||||
:interface "USB"
|
||||
:usbid "0x043d" "0x007c"
|
||||
:status :basic
|
||||
:status :good
|
||||
:comment "Tested with xscanimage. Supports 75, 150, 300, 600, 1200(600x1200) dpi resolutions. Does grayscale or colour scans in the following sizes: wallet, 3x5, 4x6, 5x7, 8x10, letter."
|
||||
|
||||
:model "X12xx"
|
||||
:interface "USB"
|
||||
:usbid "0x043d" "0x007d"
|
||||
:status :good
|
||||
:comment "USB1.1 is OK, USB2.0 needs testing"
|
||||
|
||||
:mfg "Dell" ; name a manufacturer
|
||||
:model "A920"
|
||||
:interface "USB"
|
||||
:usbid "0x413c" "0x5105"
|
||||
:status :good
|
||||
:comment "Relabelled X11xx model"
|
||||
|
|
|
@ -1,30 +1,33 @@
|
|||
.TH sane-lexmark 5 "02 September 2005" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
|
||||
.IX sane-lexmark
|
||||
.SH NAME
|
||||
sane-lexmark \- SANE backend for Lexmark X1100 Series scanners
|
||||
.SH DESCRIPTION
|
||||
.\" .IX sane-lexmark
|
||||
.TH "sane-lexmark" "5" "16 April 2007" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
|
||||
.SH "NAME"
|
||||
sane\-lexmark \- SANE backend for Lexmark X1100/X1200 Series scanners
|
||||
.SH "DESCRIPTION"
|
||||
The
|
||||
.B sane-lexmark
|
||||
.B sane\-lexmark
|
||||
library implements a SANE (Scanner Access Now Easy) backend that
|
||||
provides access to the scanner part of Lexmark X1100 AIOs. This backend
|
||||
provides access to the scanner part of Lexmark X1100/X1200 AIOs. This backend
|
||||
should be considered
|
||||
.B beta-quality
|
||||
.B beta\-quality
|
||||
software!
|
||||
.PP
|
||||
.PP
|
||||
The scanners that should work with this backend are:
|
||||
.PP
|
||||
.PP
|
||||
.RS
|
||||
.ft CR
|
||||
.nf
|
||||
.nf
|
||||
Vendor Model status
|
||||
---------------------- -----------
|
||||
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-
|
||||
Lexmark X1110 untested
|
||||
Lexmark X1140 untested
|
||||
Lexmark X1150 untested
|
||||
Lexmark X1170 untested
|
||||
Lexmark X1180 basic
|
||||
Lexmark X1185 basic
|
||||
.fi
|
||||
Lexmark X1150 good
|
||||
Lexmark X1170 good
|
||||
Lexmark X1180 good
|
||||
Lexmark X1185 complete
|
||||
Lexmark X12xx good in USB1.1,
|
||||
not fully tested in USB2.0
|
||||
Dell A920 good
|
||||
.fi
|
||||
.ft R
|
||||
.RE
|
||||
|
||||
|
@ -32,22 +35,22 @@ The options the backend supports can either be selected through
|
|||
command line options to programs like scanimage or through GUI
|
||||
elements in xscanimage or xsane.
|
||||
|
||||
.br
|
||||
.br
|
||||
If you have any strange behavior, please report to the backend
|
||||
maintainer or to the SANE mailing list.
|
||||
|
||||
Valid command line options and their syntax can be listed by using
|
||||
.RS
|
||||
scanimage --help -d lexmark:usb:<usb port>
|
||||
scanimage \-\-help \-d lexmark:usb:<usb port>
|
||||
.RE
|
||||
|
||||
.TP
|
||||
.TP
|
||||
.B Scan Mode Options
|
||||
|
||||
.TP
|
||||
.B --mode
|
||||
.TP
|
||||
.B \-\-mode
|
||||
selects the basic mode of operation of the scanner valid choices are
|
||||
.IR Color ,
|
||||
.I R Color ,
|
||||
.I Gray
|
||||
and
|
||||
.I Lineart
|
||||
|
@ -55,96 +58,91 @@ The default mode is Color. The Lineart mode is black and white only (1 bit).
|
|||
Grayscale will produce 256 levels of gray (8 bits). Color mode allows for over
|
||||
16 million different colors produced from 24 bits of color information.
|
||||
|
||||
.TP
|
||||
.B --resolution
|
||||
.TP
|
||||
.B \-\-resolution
|
||||
selects the resolution for a scan. The horizontal and vertical resolutions are set
|
||||
by the value of this option. The scanner is capable of the following resolutions for the specified option value:
|
||||
.PP
|
||||
.PP
|
||||
.RS
|
||||
.ft CR
|
||||
.nf
|
||||
.nf
|
||||
Value Hor. Resolution Vert. Resolution
|
||||
----- --------------- -------------------
|
||||
\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
||||
75 75dpi 75dpi
|
||||
150 150dpi 150dpi
|
||||
300 300dpi 300dpi
|
||||
600 600dpi 600dpi
|
||||
1200 600dpi 1200dpi
|
||||
.fi
|
||||
1200 600dpi 1200dpi (only for X11xx models with 'B2' sensor)
|
||||
.fi
|
||||
.ft R
|
||||
.RE
|
||||
|
||||
.TP
|
||||
.B --preview
|
||||
.B \-\-preview
|
||||
requests a preview scan. The resolution used for that scan is 75 dpi
|
||||
and the scan area and the scan mode are as specified through their options,
|
||||
or the default if not specified. The default value for preview mode is "no".
|
||||
|
||||
.TP
|
||||
.B --paper-size
|
||||
selects the size of the area to be scanned. Valid sizes are
|
||||
.IR Wallet ,
|
||||
.IR 3x5 ,
|
||||
.IR 4x6 ,
|
||||
.IR 5x7 ,
|
||||
.IR 8x10 ,
|
||||
.IR Letter ,
|
||||
the default size is 3x5.
|
||||
|
||||
.TP
|
||||
.B --threshold
|
||||
selects the minimum-brightness to get a white point. The threshold is only used with Lineart mode scans.
|
||||
.B \-\-threshold
|
||||
selects the minimum\-brightness to get a white point. The threshold is only used with Lineart mode scans.
|
||||
It is specified as a percentage in the range 0..100% (in steps of 1).
|
||||
The default value of the threshold option is 50.
|
||||
|
||||
|
||||
.SH CONFIGURATION FILE
|
||||
.SH "CONFIGURATION FILE"
|
||||
The configuration file @CONFIGDIR@/lexmark.conf contains only the usb device id (eg usb 0x043d 0x007c).
|
||||
|
||||
|
||||
.SH FILES
|
||||
.TP
|
||||
.I @LIBDIR@/libsane-lexmark.a
|
||||
.SH "FILES"
|
||||
.TP
|
||||
.I @LIBDIR@/libsane\-lexmark.a
|
||||
The static library implementing this backend.
|
||||
.TP
|
||||
.I @LIBDIR@/libsane-lexmark.so
|
||||
.TP
|
||||
.I @LIBDIR@/libsane\-lexmark.so
|
||||
The shared library implementing this backend (present on systems that
|
||||
support dynamic loading).
|
||||
|
||||
|
||||
.SH ENVIRONMENT
|
||||
.TP
|
||||
.SH "ENVIRONMENT"
|
||||
.TP
|
||||
.B SANE_DEBUG_LEXMARK
|
||||
.B SANE_DEBUG_LEXMARK_LOW
|
||||
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
|
||||
a value of 255 requests all debug output to be printed. Smaller levels
|
||||
reduce verbosity.
|
||||
|
||||
|
||||
.SH LIMITATIONS
|
||||
.SH "LIMITATIONS"
|
||||
The windows TWAIN driver has many more options than this SANE
|
||||
backend. However they are only software adjustments. This backend only
|
||||
implements what the scanner can support.
|
||||
|
||||
|
||||
.SH BUGS
|
||||
implements what the scanner can support. For instance, shading correction
|
||||
(vertical stripes due to sensor variation across its width) is done in
|
||||
software. Head park position is also detected by software.
|
||||
The data compression isn't supported for the X1200 serie on USB 1.1,
|
||||
leading to slow scans.
|
||||
|
||||
.SH "BUGS"
|
||||
.br
|
||||
Jerky movement on 600dpi gray 8x10 scan.
|
||||
.br
|
||||
Color calibration not implemented.
|
||||
.br
|
||||
Dark compensation not implemented.
|
||||
No bugs currently known.
|
||||
|
||||
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
sane-scsi(5), scanimage(1), xscanimage(1), xsane(1), sane(7)
|
||||
sane\-scsi(5), scanimage(1), xscanimage(1), xsane(1), sane(7)
|
||||
|
||||
|
||||
.SH AUTHOR
|
||||
|
||||
.TP
|
||||
The package is actively maintained by Fred Odendaal.
|
||||
.SH "AUTHOR"
|
||||
.TP
|
||||
The backend was originaly written by Fred Odendaal.
|
||||
.I http://ca.geocities.com/freshshelf@rogers.com/
|
||||
.TP
|
||||
The new version is currently developped by StÃphane Voltz.
|
||||
.I http://stef.dev.free.fr/sane/lexmark
|
||||
.SH "CREDITS"
|
||||
.TP
|
||||
Many thanks go to:
|
||||
Julien Furgerot who lend me a Dell A920.
|
||||
Robert Price, Dani Ele and Dalai Felinto for the time they spent recording
|
||||
USB activity and testing the experimental version.
|
||||
|
|
Ładowanie…
Reference in New Issue