{"id":49441354,"url":"https://github.com/rhunecke/hidtester","last_synced_at":"2026-05-22T02:12:42.200Z","repository":{"id":354518368,"uuid":"1223996585","full_name":"rhunecke/HIDTester","owner":"rhunecke","description":"HID Tester - A free Joystick Testing App","archived":false,"fork":false,"pushed_at":"2026-04-28T23:21:43.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-28T23:22:33.032Z","etag":null,"topics":["controller","game-controller","gamepad","joystick","utility"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhunecke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-28T21:27:56.000Z","updated_at":"2026-04-28T23:21:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rhunecke/HIDTester","commit_stats":null,"previous_names":["rhunecke/hidtester"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/rhunecke/HIDTester","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhunecke%2FHIDTester","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhunecke%2FHIDTester/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhunecke%2FHIDTester/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhunecke%2FHIDTester/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhunecke","download_url":"https://codeload.github.com/rhunecke/HIDTester/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhunecke%2FHIDTester/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32671172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["controller","game-controller","gamepad","joystick","utility"],"created_at":"2026-04-29T20:09:17.695Z","updated_at":"2026-05-05T23:02:20.662Z","avatar_url":"https://github.com/rhunecke.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HID Tester - A Free Joystick Testing App\n\nA lightweight, high-performance tool designed to test generic USB game controllers, joysticks, button boxes, keyboards, and mice across **Windows, Linux, and macOS**. Built for gamers, sim-racing/flight-sim enthusiasts, and hardware developers to analyze axis precision, button inputs, signal curves, and sensor polling rates in real-time. Have a look at this short [Demo](https://github.com/rhunecke/HIDTester/wiki/Demo).\n\n## ✨ Features\n* **Cross-Platform:** Native support for Windows, Linux, and macOS (Apple Silicon / ARM64).\n* **Dynamic UI Modes:** A context-sensitive toolbar lets you seamlessly swap between Gamepad/Joystick and Keyboard/Mouse testing suites to keep your workspace clean and focused.\n* **Keyboard Diagnostics:** Check your hardware limits with a real-time N-Key Rollover visualizer, and inspect the chronological event stream for Key Down/Up actions and raw hardware Scancodes.\n* **Mouse Sensor Analysis:** Track your mouse's live Polling Rate (Hz), record peak speeds, and utilize the 2D Sensor Trail Canvas to instantly spot angle snapping, jitter, or spin-outs.\n* **Axis Data:** Displays both normalized float values and exact 16-bit SDL-scaled raw integers (-32768 to 32767) to easily detect sensor jitter, drift, or deadzone irregularities.\n* **Stick Monitors:** Visualize primary and secondary analog stick movements on a clean 2D coordinate system.\n* **Dynamic Axis Curves:** Live time-series graphs for all analog axes with adjustable \"Speed\" (time window) and \"Zoom\" controls to easily detect hardware jitter, drift, or deadzone issues.\n* **Unified Event Log:** Chronologically tracks button presses and POV hat movements (with precise degrees) and exact millisecond hold-durations.\n* **Button \u0026 POV Hat Check:** Clear overview of all digital inputs and an 8-way radar-style D-Pad visualizer that also displays degree angles.\n* **Adjustable Software Deadzone \u0026 Triggers:** Filter out hardware jitter instantly and define axes as unidirectional.\n* **Modern UI \u0026 High Performance:** Minimal CPU footprint, powered by a clean MVC architecture, SDL2, OpenGL 3, and Dear ImGui.\n\n---\n\n## 🚀 Download \u0026 Use (No Installation Required)\n\nIf you just want to use the application, you **do not** need to build it from source!\nHead over to the [Releases Page](https://github.com/rhunecke/HIDTester/releases) and download the latest `.zip` file for your operating system. \n\n* **Windows:** Extract and run `HIDTester.exe` (ensure `SDL2.dll` is in the same folder).\n* **Linux:** Extract and run the `HIDTester` executable.\n* **macOS:** Extract and run the `HIDTester` executable. Dynamic libraries (like SDL2) are now pre-bundled, so no external installations are required via Homebrew.\n\n---\n\n## 🛠️ Setup \u0026 Installation for Developers\n\nTo keep the repository lightweight, external libraries are not included in the source tree. If you want to build the project yourself, please follow these steps:\n\n### 1. Prerequisites\n\nDepending on your operating system, install the required build tools:\n\n* **Windows:**\n  * CMake (Version 3.10 or higher)\n  * Visual Studio 2022 (with C++ Desktop development workload)\n* **Linux (Ubuntu/Debian):**\n  * `sudo apt-get update`\n  * `sudo apt-get install cmake g++ libsdl2-dev libgl1-mesa-dev`\n* **macOS:**\n  * `brew update`\n  * `brew install cmake sdl2 dylibbundler`\n\n### 2. Prepare Dependencies (Windows \u0026 All Platforms)\n\nCreate a `thirdparty` folder in the project root.\n\n#### Dear ImGui (All Platforms)\n1. Clone or download [Dear ImGui](https://github.com/ocornut/imgui).\n2. Place it at `thirdparty/imgui` (ensure `thirdparty/imgui/backends` exists).\n\n#### SDL2 (Windows Only)\n*(Linux and macOS resolve SDL2 globally via their package managers).*\n1. Go to the official SDL GitHub releases page: [https://github.com/libsdl-org/SDL/releases](https://github.com/libsdl-org/SDL/releases).\n2. Download the latest **SDL2** release (e.g., `SDL2-devel-2.30.x-VC.zip`). *Do not download SDL3.*\n3. Extract it to `thirdparty/SDL2`.\n4. Ensure the paths `thirdparty/SDL2/include` and `thirdparty/SDL2/lib/x64` exist.\n\n### 3. Build Process\n\nYou can use the CMake integration in VS Code or the standard command line:\n```bash\nmkdir build\ncd build\ncmake ..\ncmake --build . --config Release","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhunecke%2Fhidtester","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhunecke%2Fhidtester","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhunecke%2Fhidtester/lists"}