Get all buttons work on CanoScan LiDE 400
CanoScan LiDE 400 (ID 04a9:1912 Canon, Inc. LiDE 400) is recognized as pixma
device on my system.
$ scanimage -L
device `pixma:04A91912_46710F' is a CANON CanoScan LiDE 400 multi-function peripheral
There are 5 front buttons (https://ij.manual.canon/ij/webmanual/ScanUtility/All/LiDE%20400/1.0/EN/SU/screens/su129_c.gif), left to right:
- [Scan start]
- [Finish]
- [Auto scan]
- [Copy]
- [Send]
Scanbd
/sane
is interpreting those as:
- [Scan start] - recognized as Button-1 (
PIXMA_EV_BUTTON1
- color scan) - [Finish] - recognized as Button-2 (
PIXMA_EV_BUTTON2
- b/w scan) - [Auto scan] - recognized as Button-1 (
PIXMA_EV_BUTTON1
- color scan) - [Copy] - recognized as Button-1 (
PIXMA_EV_BUTTON1
- color scan) - [Send] - recognized as Button-1 (
PIXMA_EV_BUTTON1
- color scan)
That means that the buttons are overlapping and instead of 5 buttons one can effectively use only 2. This is what I see when capturing USB packets with usbmon
module loaded and polling active.
cat /sys/kernel/debug/usb/usbmon/3u:
- [Scan start] - 0:1024 32 = 00000000 01000000 00000000 00000000 00000005 00000000 00000000 00000000
- [Finish] - 0:1024 32 = 00000000 01000000 00000000 00000000 00000006 00000000 00000000 00000000
- [Auto scan] - 0:1024 32 = 00000000 01000000 00000000 00000000 00000002 00000000 00000000 00000000
- [Copy] - 0:1024 32 = 00000000 01000000 00000000 00000000 00000001 00000000 00000000 00000000
- [Send] - 00000000 01000000 00000000 00000000 00000003 00000000 00000000 00000000
Would it be possible to add definitions for all buttons based on the information above?
A few information about my system:
Arch Linux x86_64 (kernel 5.13.6-arch1-1), sane
1.0.32-3, scanbd
1.5.1-5