diff options
Diffstat (limited to 'src/main/canon-printers.h')
-rw-r--r-- | src/main/canon-printers.h | 831 |
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 |