Hi Matt, Have you tested that your scanner resp. the backend sends data @ a push button event?
Please test on the console: (1) push any button (2) $ SANE_DEBUG_PIXMA=11 scanimage -A (3) check the response; I'm especially interested in following lines: Buttons: --button-update Update button state [pixma] INTR T=1.343 len=32 [pixma] 00000000:00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [pixma] 00000010:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [pixma] --button-1 <int> [1] [read-only] Button 1 --button-2 <int> [0] [read-only] Button 2 --original <int> [0] [read-only] Type of original to scan --target <int> [2] [read-only] Target operation type --scan-resolution <int> [0] [read-only] Scan resolution Please repeat (1) ... (3) for all scan buttons. Maybe you need to test your scanner USB connected to the pc. I haven't tested push buttons wireless yet. If you don't get lines starting with [pixma], your scanner has no button support from SANE. If you get lines starting with [pixma] with more data as shown above (I have a different scanner) and without data output below at the parameters --button-1 ... --scan-resolution, what I suppose, then please send me your "Buttons:" logs and I'll fix the backend code. Hope this helps. Cheers, Rolf Am 13.10.2016 um 13:23 schrieb Wilhelm: > Oh, mixed the values ... > > action btest { > filter = "^button.*" > numerical-trigger { > from-value = 0 > to-value = 1 > } > desc = "Scan to file" > script = "test.script" > } > > > Am 13.10.2016 um 11:16 schrieb Wilhelm: >> Matt, you need something like this in your config: >> >> action btest { >> filter = "^button.*" >> numerical-trigger { >> from-value = 1 >> to-value = 0 >> } >> desc = "Scan to file" >> script = "test.script" >> } >> >> -- >> Wilhelm >> >> Am 13.10.2016 um 09:09 schrieb matt clark: >>> Thanks Wilhelm. I had changed that while trying to debug the problem, >>> not sure why this would be a problem. Have reverted to the >>> scanbd.conf from source, with modifications to sane.d directory and >>> comment out the unnecessary manufacturer scanner.d profiles. revised >>> config is attached - apologies for the length of code. >>> >>> --- >>> >>> /* >>> * $Id: scanbd.conf 213 2015-10-05 06:52:50Z wimalopaan $ >>> * >>> * scanbd - KMUX scanner button daemon >>> * >>> * Copyright (C) 2008 - 2015 Wilhelm Meier (wilhelm.me...@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 >>> >>> # the saned executable for manager-mode >>> saned = "/usr/sbin/saned" >>> saned_opt = {} # string-list >>> saned_env = { "SANE_CONFIG_DIR=/etc/scanbd/sane.d" } # 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) >>> >>> >>> On Thu, Oct 13, 2016 at 4:10 PM, Wilhelm <wilhelm.me...@fh-kl.de> wrote: >>>> Looking at your log file it seems that action "globaltest" isn't >>>> installed. There may be 2 reasons for this: >>>> >>>> 1) the regex doenst't match >>>> >>>> 2) there is no trigger definition for the action >>>> >>>> HtH >> > -- sane-devel mailing list: sane-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel Unsubscribe: Send mail with subject "unsubscribe your_password" to sane-devel-requ...@lists.alioth.debian.org