KHistory
October 4, 2023 · View on GitHub
🔥KHistory is an elegant & cross-platform keyboard/gamepad key detection and history display tool, no need to install, just run the single executable file (about 900kb in size).
No installation, single-file download and use
Click Release to get the latest version for your platform

I. Features
- Keyboard key detection
- Gamepad key detection
- Controls
- Key history record count
- Transparency
- Detection frame rate
- Visual plugin selection
- Key visualization and customization (custom key layout/remap key names/customize key highlight colors/other)
II. Platform Support
| Feature\Platform | Linux | Windows | MacOS | Remarks |
|---|---|---|---|---|
| Keyboard key detection | ✅ | ✅ | ||
| Gamepad key detection | ✅ | |||
| Control - Key history record count | ✅ | ✅ | ||
| Control - Transparency | ✅ | ✅ | ||
| Control - Detection frame rate | ✅ | ✅ | ||
| Key visualization | ✅ | ✅ | Supported plugin extension/customization | |
| Plugin extension | ✅ | ✅ | ✅ |
Note: MacOS support coming soon
III. Possible Use Cases
- Educational tutorials
- Live streaming
- Video production
- Personal operation analysis
- Other scenarios that require displaying key input records
IV. Demonstrations
Keyboard key detection

Gamepad key detection

V. Plugin Module / Custom Plugins
Developers: You can develop or extend plugins according to your needs to create custom key visualization panels.
Users: You can choose the appropriate plugins for your use case, such as keyboard or gamepad visualization, as shown below:

Plugin Module Features
- Basic plugin functionality - Users can freely switch plugins for key visualization based on their scenario (e.g., keyboard, gamepad, etc.).
- Mini plugin framework PluginBase - Provides standard interfaces and automatically handles key events and layout (key state) updates in the background.
- Automatic plugin registration - Place the plugin in the
kplugin/auto-registerdirectory to automatically register it during compilation. - Basic plugins and plugin extensions - Basic keyboard and gamepad plugins are provided, and users can develop their own plugins without needing to understand C++/ImGui.
- Custom key layout
- Remap key names
- Customize key highlight colors
- Others
Plugin Examples / Basic Plugins
Plugin Base - Keyboard - Basic keyboard plugin

Plugin Base - Gamepad - Basic gamepad plugin

Plugin Development / Customization Process - No need to understand C++/ImGui
Note: For plugin details and development, please refer to the Plugin Documentation.
VI. Contributions and Interesting Plugins
Feel free to share interesting plugins in this discussion - KPlugin - Interesting Plugins Discussion

VII. Related Videos
More introductions/development updates -〉Link
- Open Source Software: KHistory Key Detection and History Display Tool Introduction
- KHistory: Street Fighter 6 "Highlight" Actions Using C
- Open Source Software: KHistory Plugin Module Basic Features and Extensions