Skip to content

Number-3434/AdvancedKeyOverlay

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KeyOverlay

A simple key overlay for osu! streaming.

If you're interested in per-key colouring, or custom width for your keys, please check out Friedchiken-42's version, which is better suited for mania.

Options can be changed in the config.txt file.

Note

If you're having trouble using the program with OBS when osu! is fullscreen, try "Game Capture" instead of "Window Capture" in OBS.

Setup

  1. Unzip KeyOverlay-macos-latest.zip into a folder.

MacOS

  1. Double-click the KeyOverlay file, or cd inside the unzipped folder and run the program in the terminal (./KeyOverlay).
  2. Grant the terminal Input Monitoring permission in System Preferences.

Linux

  1. cd into the unzipped folder
  2. make KeyOverlay executable using chmod
  3. run KeyOverlay in terminal (KeyOverlay)

Note

Warning

If you get an error similar to System.DllNotFoundException: Unable to load shared library 'csfml-system', install the packages you're missing using your distribution's package manager. Any issues created related to this issue will be automatically closed.

For example, using Homebrew (on macOS):

brew install csfml

Then, build the project using dotnet build. (This is to create the build directory, which we'll copy the csfml-system files into.)

Copy the csfml-system files installed into the build directory (/bin/Debug/net8.0/).

Warning

This project also uses the BASS audio library. You can download it from here.

config.txt properties

Key Type Description
keyAmount int Total number of keys to use (see the readme.txt for recommended widths for certain keyAmounts).
key1, key2, ... string Keycodes the program should use (UPPERCASE).

For numbers and symbols, please refer to this table. To use mouse buttons, prefix with "m" (e.g. mLeft, mRight).

If you need more keys, add more fields and adjust the keyAmount parameter accordingly.
displayKey1, displayKey2, ... string If the name of the key you are using is too large, or you'd like to use a different symbol, you can use this property to override the displayed key name.
keyCounter yes/no Adds a keycounter beneath each key that counts total clicks in a session.
windowHeight, windowWidth integer Resolution (in px) of the window
keySize integer Changes the size of the key (excluding border).
barSpeed integer Adjusts how fast the bars travel upwards.
margin integer Adjusts the margin of the keys from the sides.
outlineThickness integer Changes the thickness of the border around the keys.
fading yes/no Adds/removes the fading effect on top
backgroundColor R,G,B,A Colour of the background. You can set backgroundColor to 0,0,0,0, and then use "Additive" mode in OBS to achieve a transparency effect.
keyColor R,G,B,A Colour of keys that aren't pressed.
PressFontColor R,G,B,A Colour of pressed keys.
borderColor R,G,B,A Colour of the key border.
barColor R,G,B,A Colour of the bars and clicked keys.
fontColor R,G,B,A Colour of the text.
backgroundImage path Lets you set a background (not recommended). Put the image into the Resources directory and then put the filename into this property e.g. "bg.png" (without the quote symbols). Makes sure the background is the same resolution as your window and if you want transparency on your background you have to put the transparency on the image itself. You should use OBS to do this instead.
maxFPS integer Sets the target FPS for the program to run. Doesn't affect poll rate. (Poll rate is set as high as possible).

GIF Preview

Based on a similar app by an unknown author (if you are the author dm the original owner of this repo so we can credit you).

About

A simple key overlay for osu! streaming.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%