sankalp 6658d6561b feat(src): Add comprehensive logging and parameterize system volume following
Replace numerous printf statements with LOG_* macros, introduce system_volume_following parameter, and improve error handling throughout the daemon.

New Features
- Introduce LOG_INFO, LOG_ERROR, LOG_WARN for unified diagnostics.
- Add support for system_volume_following when spawning child processes.
- Log detailed startup information instead of raw printf.

Enhancements
- Refactor start_children signature to accept the new parameter.
- Use strerror(errno) in error logs for clearer messages.
- Improve signal handling output and reload request logging.

Bug Fixes
- Correct error formatting for pipe, fork, chdir, and execl failures.
- Ensure proper handling of system_volume_following_str initialization.
- Replace daemon‑specific prints with appropriate log levels.
2026-02-22 02:08:31 +05:45
2025-10-18 14:17:52 +05:45
2025-10-07 21:56:40 +05:45
2025-10-18 14:17:52 +05:45

vbx

A CLI tool that brings realistic mechanical keyboard and mouse sounds to every keystroke.

vbx listens to your keyboard and mouse events and plays high‑quality switch sounds with low latency. It ships with multiple sound packs for both devices and supports your own custom packs. Run it interactively or as a background daemon with live reload of your references.


✨ Features

  • Real-time keyboard key press/release sound playback
  • Real-time mouse click sound playback
  • Multiple bundled sound packs for both keyboard and mouse
  • User sound packs under ~/.local/share/vbx/audio/
  • Background daemon mode with PID file and safe shutdown
  • Live config reload on ~/.vbx.json changes (daemon mode)

📋 Dependencies

  • build-essential
  • pkg-config
  • libjson-c-dev
  • libpulse-dev
  • libsndfile1-dev
  • libinput-dev
  • libevdev-dev
  • libudev-d

🚀 Installation

Arch Linux

paru -S vbx-git

🛠️ Build From Source

git clone https://github.com/S4NKALP/vbx.git
cd vbx
make
sudo make install

💡 Usage

Usage: vbx [OPTIONS]

Options:
  -S, --sound SOUND_NAME        Select sound pack (default: eg-oreo)
  -V, --volume VOLUME           Set volume [0-100] (default: 50)
  -d --daemon                   Run as a background daemon
  -s --stop                     Stop the background daemon
  -m --mute                     Mute sound
  -u --unmute                   Unmute sound
  -- enbale/disable DEVICE_NAME Enable/disable a device
  -l, --list                    List available sound packs
  -h, --help                    Show this help message
  -v, --verbose                 Enable verbose output

Notes:

  • First run creates ~/.vbx.json. Subsequent runs use it unless -c is supplied.
  • In daemon mode, editing ~/.vbx.json will automatically reload.

🎵 Sound Packs

System packs are installed under: /usr/share/vbx/soundpacks/

User packs go under: ~/.local/share/vbx/soundpacks/<device-name>/<pack-name>/

Required files inside each <pack-name>/ directory:

  • config.json (format matches bundled packs)
  • Audio files referenced by config.json

🤝 Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

📄 License

MIT — see LICENSE.

🙏 Credits

S
Description
A CLI tool that brings realistic mechanical keyboard and mouse sounds to every interaction.
Readme MIT
22 MiB
0 Stars 1 Watchers 0 Forks
V0.3
Latest
2026-02-21 21:24:56 +00:00
Languages
C 96.5%
Makefile 3.5%