summaryrefslogtreecommitdiff
path: root/src/main/canon-printers.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/canon-printers.h')
-rw-r--r--src/main/canon-printers.h831
1 files changed, 802 insertions, 29 deletions
diff --git a/src/main/canon-printers.h b/src/main/canon-printers.h
index 713987f..4e8f6be 100644
--- a/src/main/canon-printers.h
+++ b/src/main/canon-printers.h
@@ -159,13 +159,19 @@ static const char* control_cmd_PIXMA_iP4200[] = {
"PEdgeDetection=ON",
NULL
};
-
+
static const char* control_cmd_MULTIPASS_MP150[] = {
"AckTime=Short",
"MediaDetection=ON",
NULL
};
+static const char* control_cmd_PIXMA_iP2700[] = {
+/*"SetTime=20060722092503", */ /*what is this for?*/
+ "SetSilent=OFF",
+ NULL
+};
+
static const char iP4500_channel_order[STP_NCOLORS] = {1,2,3,0}; /* CMYK */
static const canon_cap_t canon_model_capabilities[] =
@@ -177,14 +183,72 @@ static const canon_cap_t canon_model_capabilities[] =
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
&canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px,0,control_cmd_MULTIPASS_MP150, /*features */
+ /* CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px,0,control_cmd_MULTIPASS_MP150, */ /*features */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_MULTIPASS_MP150, /*features */
&canon_MULTIPASS_MP830_modelist,
+ /* &canon_PIXMA_iP4000_paperlist, */
+ &canon_MULTIPASS_MP600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP800 */
+ "PIXMA MP800", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_MULTIPASS_MP800_modelist,
+ &canon_MULTIPASS_MP600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP810 */
+ "PIXMA MP810", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_MULTIPASS_MP810_modelist,
+ &canon_MULTIPASS_MP600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP950 */
+ "PIXMA MP950", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4200, /* features */
+ &canon_MULTIPASS_MP950_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
NULL,
NULL,
NULL
},
+ { /* Canon PIXMA MP960 */
+ "PIXMA MP960", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4600_slotlist, /* changed from iP4000 */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4200, /* features */
+ &canon_MULTIPASS_MP960_modelist,
+ &canon_PIXMA_iP4600_paperlist, /* changed from iP4000 */
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
{ /* Canon PIXMA MP970 */
"PIXMA MP970", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
@@ -199,6 +263,35 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
NULL
},
+ { /* Canon PIXMA MP980 */
+ "PIXMA MP980", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4600_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_MULTIPASS_MP980_modelist,
+ &canon_MULTIPASS_MP980_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP990 --- uses XML */
+ "PIXMA MP990", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4600_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP990_modelist,
+ &canon_MULTIPASS_MP990_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+
/* ******************************** */
/* */
/* tested and color-adjusted models */
@@ -601,6 +694,76 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
NULL
},
+ { /* Canon PIXMA iP1000 */
+ "PIXMA iP1000", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1000_modelist,
+ &canon_PIXMA_iP1000_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP1200 --- iP1300 same */
+ "PIXMA iP1200", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1200_modelist,
+ &canon_PIXMA_iP1200_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP1500 */
+ "PIXMA iP1500", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1500_modelist,
+ &canon_PIXMA_iP1500_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP1600 */
+ "PIXMA iP1600", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_MULTIPASS_MP170_modelist,
+ &canon_PIXMA_iP1500_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP1900 */
+ "PIXMA iP1900", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* rear only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1900_modelist,
+ &canon_PIXMA_iP1900_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
{ /* Canon PIXMA iP2000 */
"PIXMA iP2000", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
@@ -615,13 +778,69 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
NULL
},
+ { /* Canon PIXMA iP2200 */
+ "PIXMA iP2200", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1900_modelist,
+ &canon_PIXMA_iP2200_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP2500 */
+ "PIXMA iP2500", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1900_modelist,
+ &canon_PIXMA_iP2200_paperlist,/* OHP experimental */
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP2600 */
+ "PIXMA iP2600", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* auto sheet feeder only */
+ CANON_CAP_STD0,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP1900_modelist,
+ &canon_PIXMA_iP2600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iP2700 */
+ "PIXMA iP2700", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* rear only */
+ CANON_CAP_STD0|CANON_CAP_P|CANON_CAP_I|CANON_CAP_px|CANON_CAP_T|CANON_CAP_XML,0,control_cmd_PIXMA_iP2700, /*features */
+ &canon_PIXMA_iP2700_modelist,
+ &canon_PIXMA_iP2700_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
{ /* Canon PIXMA iP3000 */
"PIXMA iP3000", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
&canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000, /*features */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_iP3000_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
@@ -629,6 +848,20 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
NULL
},
+ { /* Canon PIXMA iP3100 */
+ "PIXMA iP3100", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP3100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP3100_modelist,
+ &canon_PIXMA_iP3100_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
{ /* Canon PIXMA iP4000 */
"PIXMA iP4000", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
@@ -665,7 +898,8 @@ static const canon_cap_t canon_model_capabilities[] =
&canon_PIXMA_iP4000_slotlist,
CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_iP5300_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ /*&canon_PIXMA_iP4000_paperlist,*/
+ &canon_MULTIPASS_MP600_paperlist,
NULL,
NULL,
NULL,
@@ -685,15 +919,29 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
iP4500_channel_order
},
- { /* Canon PIXMA iP4500 */
+ { /* Canon PIXMA iP4500 CD-R tray F */
"PIXMA iP4500", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
- &canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_MULTIPASS_MP150, /*features */
- &canon_PIXMA_iP5300_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ &canon_PIXMA_iP4500_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_iP4500_modelist, /* changed from iP5300 */
+ &canon_PIXMA_iP4500_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA iP4700 CD-R tray G */
+ "PIXMA iP4700", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4600_slotlist, /* there is some ESC (r 0x65 command for CD tray also, not sure why */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_iP4700_modelist,
+ &canon_PIXMA_iP4700_paperlist,
NULL,
NULL,
NULL,
@@ -710,9 +958,24 @@ static const canon_cap_t canon_model_capabilities[] =
&canon_PIXMA_iP4000_paperlist,
iP4200_lum_adjustment,
iP4200_hue_adjustment,
- iP4200_sat_adjustment
+ iP4200_sat_adjustment,
+ NULL
},
- { /* Canon PIXMA iP6700 */
+ { /* Canon PIXMA iP4800 CD-R tray G */
+ "PIXMA iP4800", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4600_slotlist, /* there is some ESC (r 0x68 command for CD tray also, not sure why */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_iP4700_modelist,/* same for iP4800 */
+ &canon_PIXMA_iP4700_paperlist,/* same for iP4800 */
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA iP6000 */
"PIXMA iP6000", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
@@ -724,7 +987,35 @@ static const canon_cap_t canon_model_capabilities[] =
NULL,
NULL,
NULL,
- NULL
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA iP6100 */
+ "PIXMA iP6100", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP6000_modelist,
+ &canon_PIXMA_iP6100_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA iP6600 */
+ "PIXMA iP6600", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iP4000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_P|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_iP6700_modelist,
+ &canon_PIXMA_iP6600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
},
{ /* Canon PIXMA iP6700 */
"PIXMA iP6700", 3, /*model, model_id*/
@@ -732,23 +1023,66 @@ static const canon_cap_t canon_model_capabilities[] =
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
&canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_P|CANON_CAP_r|CANON_CAP_px,0x64,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_iP6700_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ &canon_PIXMA_iP6700_paperlist,
NULL,
NULL,
NULL,
- NULL
+ iP4500_channel_order
},
{ /* Canon PIXMA iX5000 */
"PIXMA iX5000", 3, /*model, model_id*/
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
- &canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_PIXMA_iP4000, /*features */
+ &canon_MULTIPASS_MP170_slotlist,
+ /* CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_PIXMA_iP4000, */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I,0,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_iX5000_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ &canon_PIXMA_iP1500_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iX6500 --- with XML */
+ "PIXMA iX6500", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0,control_cmd_PIXMA_iP4000, /*features */
+ &canon_MULTIPASS_MP540_modelist,
+ &canon_MULTIPASS_MX880_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA iX7000 --- with XML */
+ "PIXMA iX7000", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_iX7000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r|CANON_CAP_P|CANON_CAP_XML,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_PIXMA_iX7000_modelist,
+ &canon_PIXMA_iX7000_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP510 --- like MP520 but without PPGgold paper support */
+ "PIXMA MP510", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP520_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I,0,control_cmd_PIXMA_iP2700, /*features */
+ &canon_MULTIPASS_MP520_modelist,
+ &canon_MULTIPASS_MP520_paperlist, /* Windows driver lacks PPGgold, but let us try anyway */
NULL,
NULL,
NULL,
@@ -759,10 +1093,108 @@ static const canon_cap_t canon_model_capabilities[] =
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
- &canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_PIXMA_iP4000, /*features */
- &canon_PIXMA_iX5000_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ &canon_MULTIPASS_MP520_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I,0,control_cmd_PIXMA_iP2700, /*features */
+ &canon_MULTIPASS_MP520_modelist,
+ &canon_MULTIPASS_MP520_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP540 */
+ "PIXMA MP540", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r,0x64,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP540_modelist,
+ &canon_MULTIPASS_MX330_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP550 ---wth XML */
+ "PIXMA MP550", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP540_modelist, /* seems to have same modes */
+ &canon_MULTIPASS_MP250_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP600 */
+ "PIXMA MP600", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MX850_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_MULTIPASS_MP520_modelist,
+ &canon_MULTIPASS_MP600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP630 */
+ "PIXMA MP630", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5200_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_r,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_MULTIPASS_MP640_modelist,
+ &canon_MULTIPASS_MP630_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MP640 */
+ "PIXMA MP640", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5200_slotlist,
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_I|CANON_CAP_XML|CANON_CAP_r,0x64,control_cmd_PIXMA_iP4200, /*features */
+ &canon_MULTIPASS_MP640_modelist,
+ &canon_MULTIPASS_MP640_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA Pro9000 */
+ "PIXMA Pro9000", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_Pro9000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_Pro9000_modelist,
+ &canon_PIXMA_Pro9000_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA Pro9000 Mk.II */
+ "PIXMA Pro9002", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_Pro9000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_Pro9000mk2_modelist,
+ &canon_PIXMA_Pro9000mk2_paperlist,
NULL,
NULL,
NULL,
@@ -773,10 +1205,24 @@ static const canon_cap_t canon_model_capabilities[] =
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
- &canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_Pro9000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_Pro9500_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ &canon_PIXMA_Pro9500_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA Pro9500 Mk.II */
+ "PIXMA Pro9502", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_Pro9000_slotlist,
+ CANON_CAP_STD0|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4000, /*features */
+ &canon_PIXMA_Pro9500mk2_modelist,
+ &canon_PIXMA_Pro9500mk2_paperlist,
NULL,
NULL,
NULL,
@@ -788,7 +1234,8 @@ static const canon_cap_t canon_model_capabilities[] =
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
&canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000, /*features */
+ /*CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px,0x61,control_cmd_PIXMA_iP4000,*/ /*features */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P,0x64,control_cmd_PIXMA_iP4000, /*features */
&canon_PIXMA_iP8500_modelist,
&canon_PIXMA_iP4000_paperlist,
NULL,
@@ -801,15 +1248,341 @@ static const canon_cap_t canon_model_capabilities[] =
842, 17*72, /* max paper width and height */
10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
8,
- &canon_PIXMA_iP4000_slotlist,
- CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_I,0x61,control_cmd_MULTIPASS_MP150, /*features */
+ /* &canon_PIXMA_iP4000_slotlist, */
+ &canon_MULTIPASS_MP170_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */
+ /* CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_T|CANON_CAP_I,0x61,control_cmd_MULTIPASS_MP150, */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I,0,control_cmd_MULTIPASS_MP150, /*features */
&canon_MULTIPASS_MP150_modelist,
- &canon_PIXMA_iP4000_paperlist,
+ /* &canon_PIXMA_iP4000_paperlist, */
+ &canon_MULTIPASS_MP150_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP170 */
+ "PIXMA MP170", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP170_modelist,
+ &canon_MULTIPASS_MP170_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP450 */
+ "PIXMA MP450", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP170_modelist,
+ &canon_MULTIPASS_MP170_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP480 --- no XML */
+ "PIXMA MP480", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP480_modelist,
+ &canon_MULTIPASS_MP480_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP493: new model after MP480(?) --- with XML */
+ "PIXMA MP493", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP480_modelist,
+ &canon_MULTIPASS_MP493_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP495 identical to MP280 it seems --- with XML */
+ "PIXMA MP495", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP280_modelist,
+ &canon_MULTIPASS_MP280_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP250 */
+ "PIXMA MP250", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* these models only have a rear tray. Also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_XML,0x61,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP250_modelist,
+ &canon_MULTIPASS_MP250_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MP270 */
+ "PIXMA MP270", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* these models only have a rear tray. Also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP250_modelist,
+ &canon_MULTIPASS_MP250_paperlist,
NULL,
NULL,
NULL,
NULL
},
+ { /* Canon MULTIPASS MP280 */
+ "PIXMA MP280", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* these models only have a rear tray. */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_r|CANON_CAP_P|CANON_CAP_I|CANON_CAP_T|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /*features Also uses CAP_T. MP280 no duplex, no 0x61 */
+ &canon_MULTIPASS_MP280_modelist,
+ &canon_MULTIPASS_MP280_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon PIXMA MG5100 */
+ "PIXMA MG5100", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_MG5100_modelist,
+ &canon_PIXMA_MG5100_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA MG5200 --- like MG5100, plus CD tray */
+ "PIXMA MG5200", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5200_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_MG5200_modelist,/* there is some ESC (r 0x68 command for CD tray also, not sure why */
+ &canon_PIXMA_MG5200_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA MG6100 */
+ "PIXMA MG6100", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5200_slotlist, /* same as MG5200 */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_MG6100_modelist,/* there is some ESC (r 0x68 command for CD tray also, not sure why */
+ &canon_PIXMA_MG6100_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon PIXMA MG8100 */
+ "PIXMA MG8100", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5200_slotlist, /* same as MG5200 */
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_r|CANON_CAP_I|CANON_CAP_P|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /* features */
+ &canon_PIXMA_MG8100_modelist,/* there is some ESC (r 0x68 command for CD tray also, not sure why */
+ &canon_PIXMA_MG6100_paperlist, /* same as MG6100 */
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ /* MX series */
+ { /* Canon MULTIPASS MX300 --- MX310 is the same */
+ "PIXMA MX300", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MX300_modelist,
+ &canon_MULTIPASS_MX300_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX330 */
+ "PIXMA MX330", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MX330_modelist,
+ &canon_MULTIPASS_MX330_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX340 */
+ "PIXMA MX340", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP170_slotlist, /* these models only have an auto sheet feeder also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MX340_modelist,
+ &canon_MULTIPASS_MX340_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX360 -- with XML */
+ "PIXMA MX360", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MX360_modelist,
+ &canon_MULTIPASS_MX360_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX420 --- with XML */
+ "PIXMA MX420", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP250_slotlist, /* only rear tray also uses CAP_T */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_T|CANON_CAP_I|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /*features */
+ &canon_MULTIPASS_MP480_modelist,
+ &canon_MULTIPASS_MX420_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+ { /* Canon MULTIPASS MX700 */
+ "PIXMA MX700", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MP520_slotlist, /* front, rear, button, and front/plain-only */
+ CANON_CAP_STD0|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0,control_cmd_PIXMA_iP4000, /*features*/
+ &canon_MULTIPASS_MP520_modelist,
+ &canon_MULTIPASS_MX300_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX850 */
+ "PIXMA MX850", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MX850_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4000, /*features*/
+ &canon_PIXMA_iP4500_modelist, /* same inksets as iP4500 */
+ &canon_MULTIPASS_MX850_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX860 */
+ "PIXMA MX860", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4000, /*features*/
+ &canon_MULTIPASS_MX860_modelist,
+ &canon_MULTIPASS_MX330_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX870 --- with XML */
+ "PIXMA MX870", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_XML,0x64,control_cmd_MULTIPASS_MP150, /*features*/
+ &canon_MULTIPASS_MX870_modelist,
+ &canon_MULTIPASS_MX340_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX880 --- with XML */
+ "PIXMA MX880", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_PIXMA_MG5100_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I|CANON_CAP_XML,0,control_cmd_MULTIPASS_MP150, /*features*/
+ &canon_MULTIPASS_MP540_modelist,
+ &canon_MULTIPASS_MX880_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
+ { /* Canon MULTIPASS MX7600 */
+ "PIXMA MX7600", 3, /*model, model_id*/
+ 842, 17*72, /* max paper width and height */
+ 10, 10, 15, 15, /*border_left, border_right, border_top, border_bottom */
+ 8,
+ &canon_MULTIPASS_MX7600_slotlist,
+ CANON_CAP_STD0|CANON_CAP_DUPLEX|CANON_CAP_r|CANON_CAP_px|CANON_CAP_P|CANON_CAP_I,0x64,control_cmd_PIXMA_iP4000, /*features*/
+ &canon_MULTIPASS_MX7600_modelist,
+ &canon_MULTIPASS_MX7600_paperlist,
+ NULL,
+ NULL,
+ NULL,
+ iP4500_channel_order
+ },
};
#endif