@sliver-x A few updates from me:
The OSK just got merged yesterday into the master branch. You don't need a version bump to grab it, just update and you should be good to go. It's pretty spiffy and the only real minor complaint I have is that there's no CAPS. I can deal with that no problem compared to the hoops you needed to go through before.
As for SafeShutdown, I reinstalled the scripts and I'm happy to report that on my image I was able to copy almost 15GB of movies over WiFi at one shot, averaging about 1.5 Mbps, with no reboots required. I'm not sure what was going on before. To uninstall it before I removed the python3-gpiozero package referenced in the install script.
As for our discussion on GPIO, I wrote a basic py script (using https://tutorials-raspberrypi.com/raspberry-pi-gpio-explanation-for-beginners-programming-part-2/) to query each port status but it's too invasive and I'm not sure if that pin is queryable yet. The original scripts look at pins 26 and 27, however think one is the led and one is that actual switch, not the switch in the back. However, I kind of missed that that point of the safe shutdown switch in the back isn't just to install the script but to toggle between safe shutdown mode and regular hard shutdown mode (I know, I've been really slow on this...). If you switch it to off and switch off power, no safe shutdown. That means in therory you could keep it on in the back and if you wanted to hook it up to the switch you could turn it off and back on to get a desired effect, but I'm thinking at this point that outside of it being interesting it may not be as useful as I thought. Current python code I got in case you're interested:import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setwarnings(True) for i in range(26): if i == 0 or i == 1 or i == 2 or i == 4 or or i==14 or i==17 or i==18 or i==19 or i==22: continue status = None #print(str(i)) GPIO.setup(i, GPIO.IN) status = GPIO.input(i) print(str(i) + ' [' + str(status) + ']') GPIO.cleanup()
Finally, the RetroFlag site mentions that the USB port in the back is for firmware updates, presumably for the case hardware, but so far I really haven't confirmed that if you wanted to plug hardware that's picked up by the broader OS that it'd work. You said you did? It's acting as if it's completely partitioned off.
Finally, starting a few days ago I'm getting really annoying random latency in my SSH sessions --- anyone hit this? Anyone know if there's something I can check to see if I screwed something up?