Okay, now that
FBInk 1.3.0 is out the door, I can focus on polishing one of the features it introduced: button_scan.
The idea, which came up during discussions around @sherman's
kobo-rclone, is to automagically tap on the "Connect" button of the "USB Plugged In" popup.
After a few iterations, we've got something working, but there's a caveat:
While I'm pretty confident the "looking for the button" part is mostly okay everywhere (there may be a minor hitch on 16bpp FW (i.e., < 4.2)), I *know* the "pressing the button" part will NOT work everywhere (as-is).
Unfortunately, @sherman and I both have access only to a single model (H2O), so that's where you come in!
The idea is to install the prerelease version attached to this post (barring that, the
*latest* FBInk version), and test the
button_scan command (which means, again, yes, you'll need some kind of shell access to your device).
In particular, I'm looking for testers:
* On FW < 4.2
* With a H2OČr1
* With a Mini
(where it *should* just work)
* With an Aura One
(where it *should* just work)
* With an Aura
(where it *should* just work)
* With a H2OČr2
(where it *should* just work)
* With an Aura SE
(where it *should* just work)
* With an Aura SE r2
* With a Touch 2.0
(where it *should* just work)
* With a Libra
(I'll update that list as time goes on).
Tested:
* H2O
[OK]
* Glo HD
[OK]
* Glo
[OK]
* Aura HD
[OK]
* Clara HD
[OK]
* Forma
[OK]
If you have an old Touch, don't bother, those are going to be practically impossible to always handle right, sorry

.
I'll probably ask you to dump a proper screen capture of the USB popup, as well as a manually generated tap event in the general vicinity of the Connect button.
As for what to do, before running button_scan:
* Actually generate the popup, without needing to plug anything:
echo "usb plug add" > /tmp/nickel-hardware-status
* Capture a snapshot:
fbgrab usb.png
(You'll need a recent-ish FBGrab binary, either from
KoboStuff or the
standalone release).
* Capture an input event:
hexdump -x /dev/input/event1 (then a single tap on the connect button, and then ^C to interrupt hexdump).
* Test button_scan:
button_scan
If it succeeds in finding a button, you can add
-p to make it attempt a touch, but see the next post before you cross that bridge

.
NOTE: On devices with native rotation support, please do this with Nickel in its native Portrait orientation (i.e., buttons on the right on the Libra/Forma).