View your PC gamepad and classic retro console controller inputs in an entirely new way. InputVisualizer allows you to see your controller input graphically over time, including press duration and button mash frequency. Useful for speedrunners and streamers alike.
Features
Add InputVisualizer as a "Game Capture" source.
Transparent Background
When configuring input mappings, there is a column named "Max Frames". If you select a value greater than zero for a specific button, the visualizer will show you how many frames the last button press was, 60fps, up to the maximum frame count specified. So, if for example you only care about viewing frame duration for the A button up to 5 frames, you would set that button's "Max Frames" to 5, and whenever you do a press between 1f-5f, it will show up in the visualizer display next to the line.
By default, the visualizer will be in compact view, and only show a maximum # of lines. Buttons that are pressed but cannot appear on a line will be displayed below or next to the lines and flash to indicate activity. If a line opens up, they will move up into the lines and the entire line history will be available for that button.
By selecting "All" in the display configuration for Max Lines, you will have the original functionality of prior versions.
You can use this software to view inputs from a MiSTer FPGA by installing the Retro-Spy MiSTer Script
Please check the following document to see an incomplete list of games that are currently supported:
https://docs.google.com/spreadsheets/d/1nq40DwiOmKDQm1oxOPezcIoIM7wi8jIx71q46V8Fz0k/edit?usp=sharing
You can update InputVisualizer with the current list by replacing the usb2snesGameList.json file with the most recent version here:
https://github.com/kfmike/InputVisualizer/blob/master/usb2snesGameList.json
I'm not accepting any pull requests at this time.
I don't have time to properly manage reviewing contributions, and would like to maintain and grow this project at my own pace.
Please feel free to submit issues and bug reports if you come across something that should be added or needs fixing.
This is a fun personal project for me, so I initially added features for what I do most often. I will do my best to listen to feedback and continue to add new stuff, but it might take time. I appreciate your patience and support!
Game framework and UI libraries:
RetroSpy signal reader code: