如何在scanbd中为Fujitsu ix500扫描仪添加双击扫描按钮事件
解决Fujitsu ix500在scanbd中双击扫描按钮事件的问题
我之前帮朋友调试过Fujitsu ix500和scanbd的组合,正好碰到过类似的双击事件识别问题,给你几个实际可行的解决方向:
1. 先确认scanbd是否能捕获到ix500的按键事件
scanbd默认规则里不一定包含ix500的双击事件命名,首先得搞清楚设备实际触发的事件名称:
- 停止scanbd服务:
sudo systemctl stop scanbd - 启动调试模式抓事件:
scanbd -d - 这时双击扫描仪的扫描按钮,看终端输出的日志,里面会显示触发的事件名称(比如可能是
button_1_double、btn_scan_double这类非直观的命名)
2. 手动添加自定义规则文件
如果找到了对应的双击事件名称,就可以给ix500单独写规则:
- 进入scanbd的规则目录(通常是
/etc/scanbd/conf.d/,源码编译的可能在/usr/local/etc/scanbd/conf.d/) - 新建规则文件,比如
fujitsu_ix500.conf,内容示例:
# 替换成你从调试日志里拿到的设备ID device "fujitsu:fi-IX500:XYZ123" { # 替换成你捕获到的双击事件名称 event "button_double" { # 替换成你的扫描脚本路径 action "/home/yourname/scripts/double_scan.sh" # 替换成你的用户名,确保权限正确 user "yourname" } }
- 保存后重启scanbd服务:
sudo systemctl restart scanbd
3. 检查并修复udev权限问题
有时候scanbd抓不到事件是因为udev权限不足:
- 用
lsusb找到Fujitsu ix500的vendor和product ID(比如04c5:132b) - 新建udev规则文件
/etc/udev/rules.d/99-scanbd.rules,内容:
SUBSYSTEM=="usb", ATTRS{idVendor}=="04c5", ATTRS{idProduct}=="132b", GROUP="scanner", MODE="0660"
- 将你的用户加入scanner组:
sudo usermod -aG scanner yourname - 重启udev和scanbd:
sudo systemctl restart udev && sudo systemctl restart scanbd
4. 用脚本模拟双击事件(如果scanbd不原生支持)
如果调试后发现ix500根本没有触发双击事件,而是连续两次单击,那可以在扫描脚本里做时间判断来模拟:
比如写一个double_scan.sh脚本:
#!/bin/bash # 记录上次单击时间的临时文件 LAST_CLICK="/tmp/scan_last_click" CURRENT_TIME=$(date +%s) if [ -f "$LAST_CLICK" ]; then LAST_TIME=$(cat "$LAST_CLICK") TIME_GAP=$((CURRENT_TIME - LAST_TIME)) # 判断两次单击间隔是否小于2秒(可根据需求调整) if [ $TIME_GAP -lt 2 ]; then echo "检测到双击,执行批量扫描..." # 这里放你的双击扫描命令,比如用scanimage或scanadf scanadf --device-name="fujitsu:fi-IX500" --output-file="/home/yourname/scans/page_%02d.pnm" rm "$LAST_CLICK" exit 0 fi fi # 记录本次单击时间 echo "$CURRENT_TIME" > "$LAST_CLICK" # 2秒后如果没有第二次单击,就执行单次扫描(可选) sleep 2 if [ -f "$LAST_CLICK" ] && [ $(cat "$LAST_CLICK") -eq "$CURRENT_TIME" ]; then rm "$LAST_CLICK" echo "检测到单击,执行单次扫描..." scanimage --device-name="fujitsu:fi-IX500" > "/home/yourname/scans/single_page.pnm" fi
- 给脚本加执行权限:
chmod +x double_scan.sh - 然后在scanbd的规则里把action指向这个脚本,触发事件设为单击事件即可
内容的提问来源于stack exchange,提问作者Jian
相关产品推荐
相关产品推荐

