Open BonkaBonka opened 3 years ago
For future readers, I managed to get around it this way (by poking at the code), which return the current value of the button (1 or 0 if pressed or not respectively) with a bit of a delay
scanner.dev.get_option(scanner['scan'].index)
Not sure how I would get that to launch a scan action, apart from polling it constantly. Not an expert in sane.
Complete polling example
import sane
sane.init()
scanner = sane.open(sane.get_devices()[0][0])
import datetime
from datetime import datetime
while True:
print(datetime.now().isoformat(), 'pressed?', scanner.dev.get_option(scanner['scan'].index))
I have a couple of scanners (a Fujitsu SnapScan 1500 and a Canon CanoScan LiDE 210) that have front-panel buttons that can initiate scans. Unfortunately, the primary scan buttons are named "scan" and that collides with the bound method to ask the scanner to begin scanning.
Modifying
sane.py
on line 307 to change the method name fromscan
to, say,doscan
"fixes" the issue for me:I'm not sure what the proper way to fix this for real. :/