[sane-devel] scanbd and Canon LiDE 60: buttons not recognized ?
Florian Gagel
ghostrider at trollaris.de
Sun Apr 16 14:15:44 UTC 2017
Hi Wilhelm,
thanks for your patch, works like a charm - I just had to made a small
modification since
the backend name inside the wrapper actually is "Genesys USB" (see below).
A minor hint for those who tinker around like me: Do no forget to turn
debugging off in
scanbd.conf when finished, otherwise syslog will overflow :-)
Regards,
Florian
=============== cut here ================
--- /usr/local/src/tmp/1.5.0/src/scanbd/scanbuttond_wrapper.c 2017-04-05
05:46:59.000000000 +0000
+++ scanbuttond_wrapper.c 2017-04-16 13:41:07.140209953 +0000
@@ -1062,11 +1062,35 @@
assert(backend_name);
slog(SLOG_INFO, "scanbtnd_button_name, backend: %s", backend_name);
- if (strcmp("snapscan", backend_name)) {
- assert(button <= 5);
+ if (strncmp("Genesys", backend_name,7) == 0) {
switch(button) {
case 0:
- return NULL;
+ return "zero";
+ break;
+ case 1:
+ return "copy";
+ break;
+ case 2:
+ return "scan";
+ break;
+ case 3:
+ return "pdf";
+ break;
+ case 4:
+ return "email";
+ break;
+ case 5:
+ return "stop";
+ break;
+ default:
+ return "default";
+ break;
+ }
+ }
+ else {
+ switch(button) {
+ case 0:
+ return "zero";
break;
case 1:
return "scan"; // "web";
@@ -1084,9 +1108,10 @@
return "stop";
break;
default:
- return NULL;
+ return "default";
break;
}
+
}
return NULL;
}
Am 16.04.2017 um 11:59 schrieb Wilhelm:
> Am 15.04.2017 um 20:38 schrieb Florian Gagel:
>> Hi Wilhelm,
>>
>> thanks, your modification made all four buttons work !
> Great!
>
>> This seems somewhat surprising to me at first glance, should the
>> backend not be strcmp'ed using "==0", providing
>> an own section for each backend :-) ? Anyway, it works, even if the
>> buttons are somewhat scrambled:
> Please backout the last patch I sent and now apply the attached one.
> This should mark your buttons with the right labels.
>
> If thats ok for you, I'll check this into trunk.
>
> Please report if teh patch is ok, or make your own modifications and
> send the patch back to me to be inserted into trunk.
>
> Thanks for using scanbd.
>
> -- Wilhelm
>
>> (Button press at scanner) -> (Action)
>> --------------------
>> Email -> PDF
>> PDF -> Email
>> Scan -> Copy
>> Copy -> Scan.
>>
>> I also used string-triggers only. The buttons may have to be pressed for
>> a short period exceeding the polling interval.
>> Some minor possible pitfalls using the installations defaults of
>> scanbd-1.5.0 under Ubuntu 16.04:
>> - I removed the default package and configured the newer scanbd 1.5.0 as
>> described in the previous mail. I also used xinetd instead of the ubuntu
>> default
>> bsd-inetd for network scanner access although this should be of no
>> relevance.
>> - Wilhelms patch has to be applied to scanbuttond_wrapper.c (removed
>> assertion, return strings on any value of "button").
>> - In scanbd.conf: Group should be "saned". Make sure all paths refer to
>> /usr/local/etc/scanbd, scriptdir = /usr/local/etc/scanbd/scripts, ...
>> - The new path also enters into /lib/systemd/system/scanbd.service,
>> after changing that do "systemctl daemon-reload" and restart scanbd.
>>
>> Now I am happy because of the four programmable buttons for my Odroid-U2
>> SoC which has no monitor attached to it :-)
>>
>> Thanks again Wilhelm and Happy Easter !
>>
>> Florian
>>
>> Am 15.04.2017 um 17:32 schrieb Wilhelm:
>>> Am 15.04.2017 um 16:13 schrieb Florian Gagel:
>>>> Hi Wilhelm,
>>>>
>>>> thanks for your reply - I made some progress in this issue however
>>>> still did not fully succeed.
>>>>
>>>> - First step as you told me: make clean, configure --enable-scanbuttond,
>>>> make, make install, copy manually the
>>>> old backends to /usr/local/lib/scanbd/scanbuttond as described in the
>>>> README (this all with the 1.5.0 version of scanbd).
>>>> - Starting scanbd -f -d7, I first got a "scanbd: Can't get the scbtn
>>>> device list" error.
>>>> - I edited /usr/local/lib/scanbd/scanbuttond/backends/meta.conf, making
>>>> it contain the single line "genesys" which was missing before.
>>> Yes, per default this was not included - I added it to trunk.
>>>
>>>> - Then the LiDE-60 was recognized by the old backend, together with its
>>>> four buttons !
>>>> - However, scanbd finally stumbled on an assertion:/
>>> Looks like you were the first one with an appropriate scanner to test
>>> this ;-)
>>>
>>> You can safely remove the mentioned assertion if you return non-null
>>> string-literals in all switch cases including the default case:
>>>
>>> --- scanbuttond_wrapper.c (Revision 236)
>>>
>>> +++ scanbuttond_wrapper.c (Arbeitskopie)
>>>
>>> @@ -1063,10 +1063,9 @@
>>>
>>> slog(SLOG_INFO, "scanbtnd_button_name, backend: %s", backend_name);
>>>
>>>
>>>
>>> if (strcmp("snapscan", backend_name)) {
>>> - assert(button <= 5);
>>> switch(button) {
>>> case 0:
>>> - return NULL;
>>> + return "zero";
>>> break;
>>> case 1:
>>> return "scan"; // "web";
>>> @@ -1084,7 +1083,7 @@
>>> return "stop";
>>> break;
>>> default:
>>> - return NULL;
>>> + return "default";
>>> break;
>>> }
>>> }
>>>
>>>
>>> If you don't mind please test this modification. I you succeed with it
>>> I'll put it into trunk.
>>>
>>>> root at gandroid:/usr/local/etc/scanbd# scanbd -f -d7
>>>> scanbd: reading config file /usr/local/etc/scanbd/scanbd.conf
>>>> scanbd: debug on: level: 7
>>>> scanbd: dropping privs to uid saned
>>>> scanbd: dropping privs to gid scanner
>>>> scanbd: group scanner has member:
>>>> scanbd: saned
>>>> scanbd: drop privileges to gid: 121
>>>> scanbd: Running as effective gid 121
>>>> scanbd: drop privileges to uid: 120
>>>> scanbd: Running as effective uid 120
>>>> scanbd: dbus_init
>>>> scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
>>>> scanbd: Loading /usr/local/lib/scanbd/scanbuttond/backends/meta.so
>>>> scanbd: Loading /usr/local/lib/scanbd/scanbuttond/backends/genesys.so
>>>> scanbd: Scanning for local-only devices
>>>> scanbd: found device: CanoScan LiDE 60 Canon genesys:libusb:001:016
>>>> scanbd: start_scbtn_threads
>>>> scanbd: start the threads (1)
>>>> scanbd: Starting poll thread for CanoScan LiDE 60
>>>> scanbd: Thread started for device CanoScan LiDE 60
>>>> scanbd: start dbus thread
>>>> scanbd: scbtn_poll
>>>> scanbd: udev init
>>>> scanbd: get udev monitor
>>>> scanbd: udev fd is non-blocking, now setting to blocking mode
>>>> scanbd: start udev thread
>>>> scanbd: udev thread started
>>>> scanbd: timeout: 500 ms
>>>> scanbd: Iteration on dbus call
>>>> scanbd: found 15 options for device CanoScan LiDE 60
>>>> scanbd: sane_find_matching_options
>>>> scanbd: found 3 actions in section (null)
>>>> scanbd: checking action scan with filter: ^scan.*
>>>> scanbd: scanbtnd_button_name (1)
>>>> scanbd: scanbtnd_button_name, backend: Genesys USB
>>>> scanbd: found active option[0] scan for device CanoScan LiDE 60
>>>> scanbd: installing action scan (0) for CanoScan LiDE 60, option[0]: scan
>>>> as: test.script
>>>> scanbd: multiple actions allowed
>>>> scanbd: scanbtnd_button_name (2)
>>>> scanbd: scanbtnd_button_name, backend: Genesys USB
>>>> scanbd: found active option[1] copy for device CanoScan LiDE 60
>>>> scanbd: scanbtnd_button_name (3)
>>>> scanbd: scanbtnd_button_name, backend: Genesys USB
>>>> scanbd: found active option[2] email for device CanoScan LiDE 60
>>>> scanbd: scanbtnd_button_name (4)
>>>> scanbd: scanbtnd_button_name, backend: Genesys USB
>>>> scanbd: found active option[3] pdf for device CanoScan LiDE 60
>>>> scanbd: scanbtnd_button_name (5)
>>>> scanbd: scanbtnd_button_name, backend: Genesys USB
>>>> scanbd: found active option[4] stop for device CanoScan LiDE 60
>>>> scanbd: scanbtnd_button_name (6)
>>>> scanbd: scanbtnd_button_name, backend: Genesys USB
>>>> scanbd: scanbuttond_wrapper.c:1066: scanbtnd_button_name: Assertion
>>>> `button <= 5' failed.
>>>> Aborted
>>>>
>>>> Of course there are only 4 buttons physically, plus one hidden reset
>>>> button. Now i am unsure whether simply to edit the source code in
>>>> order to
>>>> remove the assertion. My feeling is it might work then.
>>>>
>>>> Regards,
>>>> Florian/
>>>>
>>>> /Am 15.04.2017 um 12:26 schrieb Wilhelm Meier:
>>>>> Hi Florian,
>>>>>
>>>>> scanbd totally relies on libsane to read the option (button) values. It
>>>>> is known, that some backends aren't capable doing this ...
>>>>>
>>>>> For the Lide60 you can try uing the old scanbuttond backends
>>>>> included in
>>>>> the scanbd source tree. See the ReadMe.txt for instructions please.
>>>>>
>>>>>
>>>>>
>>>>> Am 15.04.2017 um 10:44 schrieb Florian Gagel:
>>>>>> Hi,
>>>>>>
>>>>>> my LiDE60 is working well, either directly using scanimage with scanbd
>>>>>> not running, as "genesys:libusb:001:016" or with running scanbd using
>>>>>> xinetd as "net:localhost:genesys:libusb:001:016".
>>>>>> However, none of the four buttons seem to be recognized:
>>>>>>
>>>>>> root at gandroid:/usr/local/etc/scanbd# scanbd -f -d7
>>>>>> scanbd: reading config file /usr/local/etc/scanbd/scanbd.conf
>>>>>> scanbd: debug on: level: 7
>>>>>> scanbd: dropping privs to uid saned
>>>>>> scanbd: dropping privs to gid scanner
>>>>>> scanbd: group scanner has member:
>>>>>> scanbd: saned
>>>>>> scanbd: drop privileges to gid: 121
>>>>>> scanbd: Running as effective gid 121
>>>>>> scanbd: drop privileges to uid: 120
>>>>>> scanbd: Running as effective uid 120
>>>>>> scanbd: dbus_init
>>>>>> scanbd: dbus match
>>>>>> type='signal',interface='org.freedesktop.Hal.Manager'
>>>>>> scanbd: SANE_CONFIG_DIR=/usr/local/etc/scanbd
>>>>>> scanbd: sane version 1.0
>>>>>> scanbd: Scanning for local-only devices
>>>>>> scanbd: found device: genesys:libusb:001:016 Canon LiDE 60 flatbed
>>>>>> scanner
>>>>>> scanbd: start_sane_threads
>>>>>> scanbd: Starting poll thread for genesys:libusb:001:016
>>>>>> scanbd: Thread started for device genesys:libusb:001:016
>>>>>> scanbd: sane_poll
>>>>>> scanbd: start dbus thread
>>>>>> scanbd: udev init
>>>>>> scanbd: get udev monitor
>>>>>> scanbd: udev fd is non-blocking, now setting to blocking mode
>>>>>> scanbd: start udev thread
>>>>>> scanbd: udev thread started
>>>>>> scanbd: timeout: 500 ms
>>>>>> scanbd: Iteration on dbus call
>>>>>> scanbd: Iteration on dbus call
>>>>>> scanbd: found 49 options for device genesys:libusb:001:016
>>>>>> scanbd: sane_find_matching_options
>>>>>> scanbd: found 5 actions in section (null)
>>>>>> scanbd: checking action scan with filter: ^scan.*
>>>>>> scanbd: found active option[2] mode (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[4] preview (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[5] depth (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[6] resolution (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[8] tl-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[9] tl-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[10] br-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[11] br-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[13] custom-gamma (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[18] swdeskew (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[19] swcrop (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[20] swdespeck (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[21] despeck (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[22] swskip (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[23] swderotate (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[24] brightness (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[25] contrast (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[27] lamp-off-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[28] lamp-off-scan (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[29] threshold (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[30] threshold-curve (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[31] disable-dynamic-lineart (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[32] disable-interpolation (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[33] color-filter (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[34] calibration-file (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[35] expiration-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[48] clear-calibration (type: 4) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: checking action email with filter: ^email$
>>>>>> scanbd: found active option[2] mode (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[4] preview (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[5] depth (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[6] resolution (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[8] tl-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[9] tl-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[10] br-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[11] br-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[13] custom-gamma (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[18] swdeskew (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[19] swcrop (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[20] swdespeck (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[21] despeck (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[22] swskip (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[23] swderotate (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[24] brightness (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[25] contrast (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[27] lamp-off-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[28] lamp-off-scan (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[29] threshold (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[30] threshold-curve (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[31] disable-dynamic-lineart (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[32] disable-interpolation (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[33] color-filter (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[34] calibration-file (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[35] expiration-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[48] clear-calibration (type: 4) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: checking action copy with filter: ^copy$
>>>>>> scanbd: found active option[2] mode (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[4] preview (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[5] depth (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[6] resolution (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[8] tl-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[9] tl-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[10] br-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[11] br-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[13] custom-gamma (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[18] swdeskew (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[19] swcrop (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[20] swdespeck (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[21] despeck (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[22] swskip (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[23] swderotate (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[24] brightness (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[25] contrast (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[27] lamp-off-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[28] lamp-off-scan (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[29] threshold (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[30] threshold-curve (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[31] disable-dynamic-lineart (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[32] disable-interpolation (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[33] color-filter (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[34] calibration-file (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[35] expiration-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[48] clear-calibration (type: 4) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: checking action preview with filter: ^preview$
>>>>>> scanbd: found active option[2] mode (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[4] preview (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: installing action preview (0) for genesys:libusb:001:016,
>>>>>> option[4]: preview as: test.script
>>>>>> scanbd: multiple actions allowed
>>>>>> scanbd: get_sane_option_value
>>>>>> scanbd: Initial value of option preview is 0
>>>>>> scanbd: found active option[5] depth (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[6] resolution (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[8] tl-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[9] tl-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[10] br-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[11] br-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[13] custom-gamma (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[18] swdeskew (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[19] swcrop (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[20] swdespeck (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[21] despeck (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[22] swskip (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[23] swderotate (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[24] brightness (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[25] contrast (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[27] lamp-off-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[28] lamp-off-scan (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[29] threshold (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[30] threshold-curve (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[31] disable-dynamic-lineart (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[32] disable-interpolation (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[33] color-filter (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[34] calibration-file (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[35] expiration-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[48] clear-calibration (type: 4) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: checking action globaltest with filter: ^message.*
>>>>>> scanbd: found active option[2] mode (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[4] preview (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[5] depth (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[6] resolution (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[8] tl-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[9] tl-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[10] br-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[11] br-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[13] custom-gamma (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[18] swdeskew (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[19] swcrop (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[20] swdespeck (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[21] despeck (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[22] swskip (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[23] swderotate (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[24] brightness (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[25] contrast (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[27] lamp-off-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[28] lamp-off-scan (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[29] threshold (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[30] threshold-curve (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[31] disable-dynamic-lineart (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[32] disable-interpolation (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[33] color-filter (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[34] calibration-file (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[35] expiration-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[48] clear-calibration (type: 4) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: sane_find_matching_functions
>>>>>> scanbd: found 2 functions in section (null)
>>>>>> scanbd: checking function function_knob with filter: ^message.*
>>>>>> scanbd: option[1] has no name
>>>>>> scanbd: found active option[2] mode (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[3] is not active
>>>>>> scanbd: found active option[4] preview (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[5] depth (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[6] resolution (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[7] has no name
>>>>>> scanbd: found active option[8] tl-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[9] tl-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[10] br-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[11] br-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[12] has no name
>>>>>> scanbd: found active option[13] custom-gamma (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[14] is not active
>>>>>> scanbd: option[15] is not active
>>>>>> scanbd: option[16] is not active
>>>>>> scanbd: option[17] is not active
>>>>>> scanbd: found active option[18] swdeskew (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[19] swcrop (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[20] swdespeck (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[21] despeck (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[22] swskip (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[23] swderotate (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[24] brightness (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[25] contrast (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[26] has no name
>>>>>> scanbd: found active option[27] lamp-off-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[28] lamp-off-scan (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[29] threshold (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[30] threshold-curve (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[31] disable-dynamic-lineart (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[32] disable-interpolation (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[33] color-filter (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[34] calibration-file (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[35] expiration-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[36] has no name
>>>>>> scanbd: option[37] is not active
>>>>>> scanbd: option[38] is not active
>>>>>> scanbd: option[39] is not active
>>>>>> scanbd: option[40] is not active
>>>>>> scanbd: option[41] is not active
>>>>>> scanbd: option[42] is not active
>>>>>> scanbd: option[43] is not active
>>>>>> scanbd: option[44] is not active
>>>>>> scanbd: option[45] is not active
>>>>>> scanbd: option[46] has no name
>>>>>> scanbd: option[47] is not active
>>>>>> scanbd: found active option[48] clear-calibration (type: 4) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: checking function function_mode with filter: ^mode.*
>>>>>> scanbd: option[1] has no name
>>>>>> scanbd: found active option[2] mode (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: installing function function_mode for genesys:libusb:001:016,
>>>>>> option[2]: mode as env: SCANBD_FUNCTION_MODE
>>>>>> scanbd: option[3] is not active
>>>>>> scanbd: found active option[4] preview (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[5] depth (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[6] resolution (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[7] has no name
>>>>>> scanbd: found active option[8] tl-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[9] tl-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[10] br-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[11] br-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[12] has no name
>>>>>> scanbd: found active option[13] custom-gamma (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[14] is not active
>>>>>> scanbd: option[15] is not active
>>>>>> scanbd: option[16] is not active
>>>>>> scanbd: option[17] is not active
>>>>>> scanbd: found active option[18] swdeskew (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[19] swcrop (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[20] swdespeck (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[21] despeck (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[22] swskip (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[23] swderotate (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[24] brightness (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[25] contrast (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[26] has no name
>>>>>> scanbd: found active option[27] lamp-off-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[28] lamp-off-scan (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[29] threshold (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[30] threshold-curve (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[31] disable-dynamic-lineart (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[32] disable-interpolation (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[33] color-filter (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[34] calibration-file (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[35] expiration-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: option[36] has no name
>>>>>> scanbd: option[37] is not active
>>>>>> scanbd: option[38] is not active
>>>>>> scanbd: option[39] is not active
>>>>>> scanbd: option[40] is not active
>>>>>> scanbd: option[41] is not active
>>>>>> scanbd: option[42] is not active
>>>>>> scanbd: option[43] is not active
>>>>>> scanbd: option[44] is not active
>>>>>> scanbd: option[45] is not active
>>>>>> scanbd: option[46] has no name
>>>>>> scanbd: option[47] is not active
>>>>>> scanbd: found active option[48] clear-calibration (type: 4) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found 6 local device sections
>>>>>> scanbd: checking device section avision with filter: ^avision.*
>>>>>> scanbd: checking device section fujitsu with filter: ^fujitsu.*
>>>>>> scanbd: checking device section hp with filter: ^hpaio.*
>>>>>> scanbd: checking device section pixma with filter: ^pixma.*
>>>>>> scanbd: checking device section snapscan with filter:
>>>>>> (.*snapscan.*|.*Perfection.*)
>>>>>> scanbd: checking device section canon with filter: ^genesys.*
>>>>>> scanbd: found 1 local action for device genesys:libusb:001:016 [canon]
>>>>>> scanbd: sane_find_matching_options
>>>>>> scanbd: found 1 actions in section canon
>>>>>> scanbd: checking action file with filter: ^file.*
>>>>>> scanbd: found active option[2] mode (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[4] preview (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[5] depth (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[6] resolution (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[8] tl-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[9] tl-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[10] br-x (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[11] br-y (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[13] custom-gamma (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[18] swdeskew (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[19] swcrop (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[20] swdespeck (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[21] despeck (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[22] swskip (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[23] swderotate (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[24] brightness (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[25] contrast (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[27] lamp-off-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[28] lamp-off-scan (type: 0) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[29] threshold (type: 2) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[30] threshold-curve (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[31] disable-dynamic-lineart (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[32] disable-interpolation (type: 0) for
>>>>>> device genesys:libusb:001:016
>>>>>> scanbd: found active option[33] color-filter (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[34] calibration-file (type: 3) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[35] expiration-time (type: 1) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: found active option[48] clear-calibration (type: 4) for device
>>>>>> genesys:libusb:001:016
>>>>>> scanbd: sane_find_matching_functions
>>>>>> scanbd: no matching functions in section canon
>>>>>> scanbd: timeout: 500 ms
>>>>>> scanbd: Start the polling for device genesys:libusb:001:016
>>>>>> scanbd: polling thread for genesys:libusb:001:016, before
>>>>>> cancellation point
>>>>>> scanbd: polling thread for genesys:libusb:001:016, after
>>>>>> cancellation point
>>>>>> scanbd: polling device genesys:libusb:001:016
>>>>>> scanbd: get_sane_option_value
>>>>>> scanbd: checking option preview number 4 (0) for device
>>>>>> genesys:libusb:001:016: value: 0
>>>>>> scanbd: polling thread for genesys:libusb:001:016, before
>>>>>> cancellation point
>>>>>> scanbd: polling thread for genesys:libusb:001:016, after
>>>>>> cancellation point
>>>>>> scanbd: polling device genesys:libusb:001:016
>>>>>> scanbd: get_sane_option_value
>>>>>> scanbd: checking option preview number 4 (0) for device
>>>>>> genesys:libusb:001:016: value: 0
>>>>>> scanbd: Iteration on dbus call
>>>>>> scanbd: polling thread for genesys:libusb:001:016, before
>>>>>> cancellation point
>>>>>> scanbd: polling thread for genesys:libusb:001:016, after
>>>>>> cancellation point
>>>>>> scanbd: polling device genesys:libusb:001:016
>>>>>> scanbd: get_sane_option_value
>>>>>> scanbd: checking option preview number 4 (0) for device
>>>>>> genesys:libusb:001:016: value: 0
>>>>>> scanbd: polling thread for genesys:libusb:001:016, before
>>>>>> cancellation point
>>>>>> scanbd: polling thread for genesys:libusb:001:016, after
>>>>>> cancellation point
>>>>>> scanbd: polling device genesys:libusb:001:016
>>>>>> scanbd: get_sane_option_value
>>>>>> scanbd: checking option preview number 4 (0) for device
>>>>>> genesys:libusb:001:016: value: 0
>>>>>> scanbd: Iteration on dbus call
>>>>>> scanbd: polling thread for genesys:libusb:001:016, before
>>>>>> cancellation point
>>>>>> scanbd: polling thread for genesys:libusb:001:016, after
>>>>>> cancellation point
>>>>>> scanbd: polling device genesys:libusb:001:016
>>>>>> scanbd: get_sane_option_value
>>>>>> scanbd: checking option preview number 4 (0) for device
>>>>>> genesys:libusb:001:016: value: 0
>>>>>> scanbd: polling thread for genesys:libusb:001:016, before
>>>>>> cancellation point
>>>>>> scanbd: polling thread for genesys:libusb:001:016, after
>>>>>> cancellation point
>>>>>> scanbd: polling device genesys:libusb:001:016
>>>>>> scanbd: get_sane_option_value
>>>>>> scanbd: checking option preview number 4 (0) for device
>>>>>> genesys:libusb:001:016: value: 0
>>>>>> scanbd: Iteration on dbus call
>>>>>> scanbd: polling thread for genesys:libusb:001:016, before
>>>>>> cancellation point
>>>>>> scanbd: polling thread for genesys:libusb:001:016, after
>>>>>> cancellation point
>>>>>> scanbd: polling device genesys:libusb:001:016
>>>>>> scanbd: get_sane_option_value
>>>>>>
>>>>>>
>>>>>> My scanbd.conf:
>>>>>>
>>>>>> /*
>>>>>> * $Id: scanbd.conf 237 2017-04-05 05:46:59Z wimalopaan $
>>>>>> *
>>>>>> * scanbd - KMUX scanner button daemon
>>>>>> *
>>>>>> * Copyright (C) 2008 - 2016 Wilhelm Meier (wilhelm.meier at fh-kl.de)
>>>>>> *
>>>>>> * 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., 51 Franklin Street, Fifth Floor, Boston, MA
>>>>>> 02110-1301, USA.
>>>>>> */
>>>>>>
>>>>>>
>>>>>> # global settings
>>>>>> global {
>>>>>> # turn on debugging
>>>>>> # log to console
>>>>>> debug = true
>>>>>>
>>>>>> # debug logging
>>>>>> # 1=error, 2=warn, 3=info, 4-7=debug
>>>>>> debug-level = 7
>>>>>> # drop priviliges to this user
>>>>>> #=============================
>>>>>> # Linux (most distributions use the saned user):
>>>>>> # user = saned
>>>>>> # ArchLinux (ArchLinux doesn't have saned user)
>>>>>> # user = daemon
>>>>>> # *BSD
>>>>>> # user = root
>>>>>> user = saned
>>>>>>
>>>>>> # Group to be used
>>>>>> #=================
>>>>>> # Linux (most distributions use the lp group to access
>>>>>> scanners)
>>>>>> # group = lp
>>>>>> # ArchLinux (ArchLinux uses the scanner group)
>>>>>> # group = scanner
>>>>>> #
>>>>>> # *BSD (no group lp here, use daemon instead)
>>>>>> # group = daemon # root
>>>>>> #
>>>>>> #group = lp
>>>>>> group = scanner
>>>>>>
>>>>>> # the saned executable for manager-mode
>>>>>> saned = "/usr/sbin/saned"
>>>>>> saned_opt = {} # string-list
>>>>>> saned_env = { "SANE_CONFIG_DIR=/etc/scanbd" } # list of
>>>>>> environment vars for saned
>>>>>>
>>>>>> # Scriptdir specifies where scanbd normally looks for
>>>>>> scripts.
>>>>>> # The scriptdir option can be defined as:
>>>>>> # - a path relative to the configuations
>>>>>> (<path>/etc/scanbd)
>>>>>> directory
>>>>>> # - an abosolute path
>>>>>> # Examples:
>>>>>> # scriptdir = scripts
>>>>>> # sets scriptdir to <path>/etc/scanbd/scripts.
>>>>>> # scriptdir = /some/path
>>>>>> # sets scriptdir to the specified absolute path
>>>>>> # Default scriptdir is <path>/etc/scanbd, this is normally
>>>>>> appropriate
>>>>>> scriptdir = /etc/scanbd/scripts
>>>>>> # Scripts to execute upon device insertion/removal.
>>>>>> # It can be necessary to load firmware into the device
>>>>>> when it
>>>>>> is first
>>>>>> # inserted. For example, scanbuttond backend does not know
>>>>>> how
>>>>>> to load
>>>>>> # scanner firmware, and it can be rectified by making a
>>>>>> custom
>>>>>> script.
>>>>>> # A simple command like "scanimage -L" in an example
>>>>>> insert.script
>>>>>> # invokes saned and it loads the appropriate firmware if
>>>>>> necessary.
>>>>>> # These scripts receive environmental variables named in the
>>>>>> "environment" subsection:
>>>>>> # SCANBD_DEVICE - device name (fixed string "dbus device" for
>>>>>> dbus notification)
>>>>>> # SCANBD_ACTION - "insert" or "remove", so one script can
>>>>>> be used.
>>>>>> # device_insert_script = "insert.script"
>>>>>> # device_remove_script =
>>>>>>
>>>>>> # scanbuttond_backends_dir sets the path where scanbd
>>>>>> looks for
>>>>>> the scanbuttond backends
>>>>>> # It can be defined as relative path, starting from the
>>>>>> scanbd
>>>>>> config directory or
>>>>>> # as an absolute path
>>>>>> # Default is <libdir>/scanbd/scanbutond/backends
>>>>>> # Example
>>>>>> # scanbuttond_backends_dir =
>>>>>> "/usr/local/lib/scanbd/scanbuttond/backends"
>>>>>>
>>>>>> # poll timeout in [ms]
>>>>>> # (for polling the devices)
>>>>>> timeout = 500
>>>>>> pidfile = "/var/run/scanbd.pid"
>>>>>> # env-vars for the scripts
>>>>>> environment {
>>>>>> # pass the device label as below in this env-var
>>>>>> device = "SCANBD_DEVICE"
>>>>>> # pass the action label as below in this env-var
>>>>>> action = "SCANBD_ACTION"
>>>>>> }
>>>>>>
>>>>>> # function definitions
>>>>>> # values of the options are simply passed via env-vars
>>>>>>
>>>>>> function function_knob {
>>>>>> filter = "^message.*"
>>>>>> desc = "The value of the function knob / wheel /
>>>>>> selector"
>>>>>> env = "SCANBD_FUNCTION"
>>>>>> }
>>>>>> function function_mode {
>>>>>> filter = "^mode.*"
>>>>>> desc = "Color mode"
>>>>>> env = "SCANBD_FUNCTION_MODE"
>>>>>> }
>>>>>>
>>>>>> multiple_actions = true # allow multiple actions per
>>>>>> option (up
>>>>>> to the total amount of options)
>>>>>>
>>>>>> # action definitions
>>>>>> # if the filter matches and the value changes
>>>>>> # from from-value to to-value,
>>>>>> # <script> is executed
>>>>>> # <script> is the full pathname (do not include any
>>>>>> parameters)
>>>>>> # if parameters are needed, write a script
>>>>>> # since we can have only at most one action for
>>>>>> each option, the
>>>>>> action-script
>>>>>> # can use the function definition (see above) to distinguish
>>>>>> different tasks
>>>>>> # (e.g. use the env-var SCANBD_FUNCTION defined above)
>>>>>> action scan {
>>>>>> filter = "^scan.*"
>>>>>> numerical-trigger {
>>>>>> from-value = 1
>>>>>> to-value = 0
>>>>>> }
>>>>>> desc = "Scan to file"
>>>>>> # script must be an relative path starting from
>>>>>> scriptdir (see above),
>>>>>> # or an absolute pathname.
>>>>>> # It must contain the path to the action script
>>>>>> without
>>>>>> arguments
>>>>>> # Absolute path example: script =
>>>>>> "/some/path/foo.script
>>>>>> script = "test.script"
>>>>>> }
>>>>>> action email {
>>>>>> filter = "^email$"
>>>>>> string-trigger {
>>>>>> from-value = ""
>>>>>> to-value = "^email.*"
>>>>>> }
>>>>>> desc = "Scan to email"
>>>>>> # script must be an relative path starting from
>>>>>> scriptdir (see above),
>>>>>> # or an absolute pathname.
>>>>>> # It must contain the path to the action script
>>>>>> without
>>>>>> arguments
>>>>>> # Absolute path example: script =
>>>>>> "/some/path/foo.script
>>>>>> script = "test.script"
>>>>>> }
>>>>>> action copy {
>>>>>> filter = "^copy$"
>>>>>> string-trigger {
>>>>>> from-value = ""
>>>>>> to-value = "^copy.*"
>>>>>> }
>>>>>> desc = "Copy to printer"
>>>>>> # script must be an relative path starting from
>>>>>> scriptdir (see above),
>>>>>> # or an absolute pathname.
>>>>>> # It must contain the path to the action script
>>>>>> without
>>>>>> arguments
>>>>>> # Absolute path example: script =
>>>>>> "/some/path/foo.script
>>>>>> script = "test.script"
>>>>>> }
>>>>>> action preview {
>>>>>> filter = "^preview$"
>>>>>> numerical-trigger {
>>>>>> from-value = 1
>>>>>> to-value = 0
>>>>>> }
>>>>>> desc = "Preview"
>>>>>> # script must be an relative path starting from
>>>>>> scriptdir (see above),
>>>>>> # or an absolute pathname.
>>>>>> # It must contain the path to the action script
>>>>>> without
>>>>>> arguments
>>>>>> # Absolute path example: script =
>>>>>> "/some/path/foo.script
>>>>>> script = "test.script"
>>>>>> }
>>>>>> action globaltest {
>>>>>> filter = "^message.*"
>>>>>> desc = "Test (print all env vars)"
>>>>>> # script must be an relative path starting from
>>>>>> scriptdir (see above),
>>>>>> # or an absolute pathname.
>>>>>> # It must contain the path to the action script
>>>>>> without
>>>>>> arguments
>>>>>> # Absolute path example: script =
>>>>>> "/some/path/foo.script
>>>>>> script = "test.script"
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> # include
>>>>>> # include another file at this point. This may only occur outside
>>>>>> general and devices blocks.
>>>>>> # an include statement may be relative to the direcory where
>>>>>> scanbd.conf
>>>>>> is located or absolute
>>>>>> # include("scanner.d/myscanner.conf")
>>>>>> # include("/my/long/path/myscanner.conf")
>>>>>>
>>>>>> # devices
>>>>>> # each device can have actions and functions, you can disable not
>>>>>> relevant devices
>>>>>> include(scanner.d/avision.conf)
>>>>>> include(scanner.d/fujitsu.conf)
>>>>>> include(scanner.d/hp.conf)
>>>>>> include(scanner.d/pixma.conf)
>>>>>> include(scanner.d/snapscan.conf)
>>>>>> include(scanner.d/canon.conf)
>>>>>> #include(scanner.d/plustek.conf)
>>>>>>
>>>>>>
>>>>>> I also commented out the include statements for the devices, tested
>>>>>> different sections for the options such as "preview", tried the
>>>>>> default
>>>>>> Ubuntu-Package for 16.04 as well as the newest version 1.5.0 of
>>>>>> scanbd.
>>>>>>
>>>>>> Syslog contains essentially the same output as scanbd -f -d7, no
>>>>>> events
>>>>>> registered at all on button press. Scanimage -A also gave no evidence
>>>>>> for the presence of scanner buttons.
>>>>>>
>>>>>> For me it seems that the problem might be the scanner button
>>>>>> options not
>>>>>> being recognized, strangely there are options "with no name" ?!
>>>>>>
>>>>>> Thanks very much for any hint !
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>>
>>>>>> Florian
>>>>>>
>>>>>>
>>>>>>
>>>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20170416/e6fa7d4a/attachment-0001.html>
More information about the sane-devel
mailing list