Keyboards + joysticks · Win32 & SDL2
BlinkPose.Periphery turns ordinary input hardware into a clean data stream. It reports key presses per physical keyboard through Win32 Raw Input — so it can tell two identical keyboards apart — plus joystick axes and buttons over SDL2, and keeps a live roster of every connected device the moment it's plugged in.
keys · axes · buttons · device roster · real-time
Plate I — the Periphery dashboard: the live roster of connected keyboards and joysticks, with axes and buttons as they move.
What it captures
One stream that knows not just what happened, but exactly which piece of hardware it came from.
Every key press, reported per physical keyboard — two identical keyboards stay distinct.
Keyboard-wedge scanners are buffered into whole scans instead of loose keystrokes.
Analog stick and trigger values, live and normalised, per controller.
Button states for every connected controller, updated each tick.
A live list of every connected keyboard and joystick, appearing the instant it's plugged in.
Inject keystrokes back to the OS from the dashboard — handy for testing and automation.
Inside the dashboard
Each keyboard and joystick gets its own live card, so you always know what's connected and active.
Why it's different
Most input hooks flatten everything into one stream. Periphery uses Win32 Raw Input to keep every event tagged with its source device — essential for multi-station setups, scanners and multi-controller rigs.