A lightweight and customizable websocket/browser-based hotkey visualizer,
made specifically for Log Off Now's Twitch stream overlay.
Demo • Usage • Configuration • Development
Made with ❤️ by @minisbett and @Omekyu
To get started, head over to the latest release page on GitHub. From there, locate and download the executable file (ending with .exe
).
Once the download is complete, simply double-click the downloaded executable file to launch the application. No installation is required, and the application will start automatically upon execution.
The application provides an out-of-the-box visualization webpage, running on http://localhost:8000
by default.
If you're using OBS Studio to stream on the streaming platform of your choice, you can easily integrate the hotkey visualizer into your overlay. Here's how:
- Open OBS Studio and navigate to the scene where you want to add the visualizer.
- Click the "+" icon under the "Sources" section to add a new source.
- Choose "Browser" as the source type and give it an appropriate name (e.g., "Hotkey Visualizer").
- In the URL field, enter
http://localhost:8000
(default, unless configured otherwise) - For the width and height, choose suitable values to ensure the displayed hotkeys are fully visible and not cut off. (e.g. 1000x100)
All pressed hotkeys are being sent to a local websocket, which can be accessed via ws://localhost:8000
by default. The payloads sent look as follows:
{
// as configured in the config, e.g. "ctrl+shift+p"
"hotkey": "<hotkey>",
// YYYY-MM-DD HH:MM:SS.microseconds
"timestamp": "<timestamp>"
}
In the config.json
file, you can customize the hotkeys to capture, the style of the visualizer and the port on which the application is running.
On first startup, the application creates a config.json
file in the same directory, containing the default configuration. After that, you are free to adjust all the values to your liking.
-
port: Specifies the port number on which the server runs. Default is 8000.
-
osu_editor_only: If true, hotkeys are only detected if the currently active window is the osu! editor.
- is_horizontal: Determines the orientation of the hotkey display. When
true
, hotkeys are displayed horizontally, with the most recently pressed hotkey on the right. Whenfalse
, hotkeys are displayed vertically, with the most recently pressed hotkey on the bottom.
-
fill_height: If true, the font size of the hotkeys is changed so that the hotkeys fill the whole height of the browser. Only works if
is_horizontal
istrue
. -
chin-color: Color of the chin (bottom border) of the hotkey.
-
shadow_color: Color of the shadow around the hotkey.
-
text_color: Color of the hotkey text displayed.
-
subtext_color: Color of the "combo" text displayed.
-
border_color: Color of the border around the hotkey.
-
background_color: Background color of the hotkey.
-
animation_duration: Duration of the fade-out animation.
-
animation_delay: Delay before a hotkey fades out.
-
font_size: Size of the font used for displaying hotkeys.
A list of the hotkeys that are being captured by the application. The key combination is written by the human-readable names of the keys, combined with a plus-sign. (Examples: ctrl+shift+p
, shift+del
)
The syntax for the hotkey-literals goes as follows:
alt+shift+a alt+b, c
Keys: ^~^ ^~~~^ ^ ^~^ ^ ^
Steps: ^~~~~~~~~~^ ^~~~^ ^
The first hotkey triggers when alt, shift and A are pressed at the same time. The second hotkey triggers when alt and B are pressed, followed by the key c as the second step afterwards.