[sane-devel] [Scanbd] Set up for Canon PIXMA multifunction scanner - no button response
Wilhelm
wilhelm.meier at fh-kl.de
Thu Oct 13 11:23:25 UTC 2016
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.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
>>
>> # 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.meier at 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
More information about the sane-devel
mailing list