Idea: a USB-controlled gun, but the USB protocol implementation is the most cursed part.
Any ideas? I have a better one, but I'll start with that it's a USB printer class. Every time you tell it to print a page, it fires
@foone clearly it needs to be HID class. Because the HID class is ridiculously cursed out of the box, and then extended with HUTs and then shat on by developers who would rather intercept at the class level and do their own thing because fuck you that’s why.
@foone Proprietary-shaped (with extra low-current high-voltage pins) USB-A connector on the device side, inverted USB-B connector on the host side. Box contains 17 adaptor dongles; none of them fit quite right.
Next bad idea; it shows up as a USB headset. The microphone input features a constant sinewave tone, and the frequency of the tone is the number of bullets remaining times 100hz.
The speaker out is the trigger. Play a loud enough noise and the gun will fire.
USB joystick: the physical trigger is now a soft trigger, mapped to an analog button. The Y axis is used for ammo count.
To fire, you use the rumble feature/force feedback
@foone the mental image of someone at a gun range, furiously yelling BANG into their mic as they aim downrange, while their friends quietly snicker and point to the unplugged cable
@foone Now I'm imagining it as a MIDI device, and it reacts to any note event, but only when first sending a program change event for instrument 128 (Gunshot in General MIDI). Don't forget the classic MIDI Panic button in case a note "hangs" (might be problematic in fully automatic firearms).
@foone as a chemistry lab technician, we use USB ion chromatographs. Ammo count can be encoded as the measured conductivity, pump speed setting can encode a turret rotation command, and “start sample” can fire.