Skip to content

thenolle/clavis

Clavis Banner

Clavis

Lightweight keyboard & mouse sound simulator for Windows

Native Win32 application with global mute hotkeys, tray integration, embedded soundpacks, and custom soundpack support.



Clavis Features

  • Native lightweight Win32 .exe
  • Global mute / unmute hotkey
  • Tray icon with quick controls
  • Embedded and external soundpack support
  • Per-key and single-sound configurations
  • Mouse click sound support
  • Adjustable playback volume
  • Instant pack switching
  • Close-to-tray support
  • Single-instance application behavior
  • Zero-install portable usage

Interface Preview

Clavis Main Window

Main interface with soundpack list, toggles, volume controls, and hotkey remapping.

Clavis Tray Menu

Tray integration with mute toggle, startup options, and quick access controls.

Getting Started

1. Launch Clavis

Run:

Clavis.exe

When launched for the first time, Clavis automatically creates:

Soundpacks/

next to the executable if the folder does not already exist.


2. Add Soundpacks

Place soundpack folders inside:

Soundpacks/

Example:

Soundpacks/
└── my-pack/
    ├── config.json
    ├── a.wav
    ├── enter.wav
    ├── space.wav
    └── icon.png

Clavis scans all subfolders and automatically detects valid soundpacks containing a config.json.


3. Select a Pack

  • Open Clavis
  • Select a pack from the list
  • Start typing

If at least one soundpack exists, Clavis automatically loads the first available pack during startup.


Soundpacks

Clavis supports both:

  • Embedded built-in soundpacks
  • External disk-based soundpacks

Every soundpack requires:

config.json

plus one or more referenced audio files.


config.json Reference

Single Sound Configuration

{
  "name": "My Pack",
  "key_define_type": "single",
  "sound": "a.wav",
  "mouse_down": "click.wav",
  "mouse_up": "release.wav"
}

This mode plays the same sound for every key press.


Multi-Key Configuration

{
  "name": "NK Cream",
  "key_define_type": "multi",
  "defines": {
    "default": "a.wav",
    "KEY_RETURN": "enter.wav",
    "KEY_SPACE": "space.wav",
    "KEY_LEFTSHIFT": "shift.wav",
    "KEY_RIGHTSHIFT": "shift.wav"
  }
}

This mode allows assigning specific sounds to specific keys.


Optional Fields

Field Description
defines_up Key release sounds
mouse_down Mouse click sound
mouse_up Mouse release sound
default Fallback key sound

If no exact key match exists, Clavis falls back to:

  1. default
  2. First loaded sound entry

Supported Key Names

Clavis supports many Win32 virtual keys including:

KEY_A -> KEY_Z
KEY_0 -> KEY_9
KEY_RETURN
KEY_SPACE
KEY_TAB
KEY_BACKSPACE
KEY_LEFTSHIFT
KEY_RIGHTSHIFT
KEY_LEFTCTRL
KEY_RIGHTCTRL
KEY_LEFTALT
KEY_RIGHTALT
KEY_F1 -> KEY_F12
KEY_LEFT
KEY_RIGHT
KEY_UP
KEY_DOWN

Useful examples:

Key Name
Enter KEY_RETURN
Space KEY_SPACE
Backspace KEY_BACKSPACE
Left Shift KEY_LEFTSHIFT
Right Ctrl KEY_RIGHTCTRL

Hotkey System

Clavis registers a global Windows hotkey allowing mute toggling even when the application is unfocused.

Default Hotkey

Ctrl + Shift + M

Remapping

  1. Click the hotkey field
  2. Press a new combination
  3. Clavis instantly re-registers the shortcut

No restart required.

If registration fails, another application may already be using the same shortcut.


Tray Integration

Clavis includes a fully integrated notification tray icon.

Supported Actions

  • Open / hide window
  • Mute / unmute
  • Enable startup
  • Enable close-to-tray
  • Exit application

Tray Behavior

Action Result
Double left-click tray icon Show / hide window
Right-click tray icon Open tray menu
Close button with close-to-tray enabled Hide instead of exit

Clavis uses a single-instance mutex, preventing duplicate launches while already running.


Audio Behavior

Clavis plays sounds from:

  • Embedded memory-loaded assets
  • Disk-based sound files

The current volume level applies instantly to playback.

Mute disables playback without unloading the active soundpack, allowing immediate resume.


Recommended Audio Setup

For best results:

  • Use short .wav files
  • Keep filenames exact
  • Add a default key
  • Keep packs organized
  • Use normalized audio levels

Troubleshooting

Soundpack does not appear

Verify:

  • Pack is inside Soundpacks
  • config.json exists directly in the pack folder

No sound playback

Verify:

  • A pack is selected
  • Clavis is not muted
  • Volume is above zero
  • Relevant sound toggles are enabled

Hotkey does not work

Another application may already be using the shortcut.

Try a different combination.


Closing the app only hides it

Close-to-tray is enabled.

Use the tray icon to reopen Clavis or fully exit.


Technical Details

Component Details
Platform Windows
Architecture Native Win32
Distribution Portable .exe
Audio Source Embedded + Disk
Input Hooks Keyboard + Mouse
Hotkeys Global Windows Registration
Tray Support Native Notification Area
Runtime Lightweight Native Execution

Folder Structure

Clavis/
├── Clavis.exe
└── Soundpacks/
    ├── Pack One/
    │   ├── config.json
    │   ├── a.wav
    │   └── enter.wav
    │
    └── Pack Two/
        ├── config.json
        └── click.wav

Support The Project

If you enjoy Clavis and want to support development, consider sponsoring or donating.

Support helps fund maintenance, improvements, soundpacks, and future releases.


Platform Link
GitHub Sponsors GitHub Sponsors
Ko-fi Ko-fi

License

This project is licensed under the MIT License. See the LICENSE file for details.
TL;DR: You are free to use, modify, and distribute this software for any purpose, but it comes with no warranty.


Cute Footer

About

Clavis is a lightweight native Win32 app for Windows that adds customizable keyboard and mouse typing sounds using soundpacks. Features include global mute hotkeys, tray integration, embedded and external soundpacks, volume controls, and instant pack switching in a portable standalone executable.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages