README.md
obskeyhold.py is a Windows-only utility CLI tool designed for streamers who use OBS Studio while playing open-world games such as Rust or DayZ, where showing the in-game map on stream could reveal the player's location to viewers.
The project was developed as a personal real-world utility after a streamer encountered a practical problem while streaming Rust: there was no simple tool available to automatically hide map-related OBS sources only while holding an in-game map key. The tool solves this by detecting when specific keys are held and sending virtual function key events from F13 to F24, which can be safely used as OBS hotkeys without interfering with normal gameplay controls.
A typical use case is holding a key such as G to open an in-game map. While that key is held, obskeyhold.py sends a virtual hotkey to OBS so a selected source or overlay can be hidden. When the key is released, another event is sent so the map overlay can be shown again. This creates a simple but useful automation workflow for stream privacy and viewer-safe gameplay.
The project was developed independently in Python using the keyboard package and is configured through a simple variables file. It is CLI-based and includes README documentation so other streamers can configure and use it for their own OBS setups.
This project was one of my first Python utilities built to solve an actual real-world problem for another person. It provided practical experience with desktop automation, keyboard event handling, OBS workflow integration, Windows-specific scripting, and building small public tools with clear usage instructions.
The tool is currently functional but not actively maintained. Future improvements may include Linux support, stronger security considerations, and a more flexible configuration system.
Built with Python, keyboard automation, OBS hotkey workflows, Windows scripting, and CLI tooling.