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 > -- Wilhelm -- 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