a hotkey board for desktop touchscreens
  • Python 97.9%
  • kvlang 2.1%
Find a file
2026-06-29 00:16:39 +02:00
config allow follow_up_state to be dynamically set by the cmd exit code 2026-04-10 20:52:58 +02:00
ui affects_buttons now works when the stats have a different 'cmd' entry 2025-04-22 18:10:40 +02:00
util split VulcanBoard.py into modules + add gitignore 2024-12-09 11:11:56 +01:00
.gitignore add simple http api using fastapi to control button states 2026-04-08 19:28:02 +02:00
api.pdf add some window config options + update README + use rounded corner icons + update api proposal 2025-06-10 10:27:33 +02:00
api.xopp add some window config options + update README + use rounded corner icons + update api proposal 2025-06-10 10:27:33 +02:00
config.diff add confif acutally 2025-01-25 14:14:50 +01:00
ConfigEditorApp.py add config + widget 2025-01-25 14:14:34 +01:00
example-config.yml fix: update out-of-date example config 2026-06-28 22:03:16 +02:00
icon-non-rounded.png add some window config options + update README + use rounded corner icons + update api proposal 2025-06-10 10:27:33 +02:00
icon.ico add some window config options + update README + use rounded corner icons + update api proposal 2025-06-10 10:27:33 +02:00
icon.png add some window config options + update README + use rounded corner icons + update api proposal 2025-06-10 10:27:33 +02:00
LICENSE init commit 2024-12-04 19:17:14 +01:00
README.md remove unused file + update README 2026-04-14 00:37:24 +02:00
requirements.txt add simple http api using fastapi to control button states 2026-04-08 19:28:02 +02:00
Settings.py add version with draggable buttons 2024-12-11 19:00:44 +01:00
vulcanboard.kv fix hexcolors + use gui error exit 2024-12-09 10:31:26 +01:00
VulcanBoard.py use per button debounce 2026-06-29 00:16:39 +02:00

VulcanBoard

A hotkey board for desktop touchscreens.

There are many hotkey solutions and programs that use either

  • physical devices (Elgato StreamDeck) or
  • touchscreens (LioranBoard, MacroDeck, StreamPi)

They are often very bloated but lack basic features like

  • multitouch support for the desktop client
  • asynchronous command execution
  • a fullscreen mode

They also crash way too often, so VulcanBoard aims to be a rock-solid alternative.

Installation

To setup you need to have python3 installed. In addition, to install the dependencies using pip:

pip install -r requirements.txt

Project State & Roadmap

VulcanBoard is actively used by the author, hence is in a usable state. Here are some planned or possible future changes:

  • add documentation for the configuration and use of VulcanBoard
  • add gui window to configure keys
    • add multiple boards to config.yml
    • add edit history cache
    • add internal commands (see api proposal)
  • add button merging (meaning a button that takes of the space of otherwise multiple buttons)
  • add possibility to choose the font family used for button texts
  • add rounded corners for buttons
  • use constants / constant dict for default values
  • add folders (which is already possible with button states, but kinda hacky)
  • add showing an image instead of button text
  • http api can control buttons by id (optional or maybe even required?) instead of positition (x, y)
  • slaves (other desktop / smartphone clients) can connect via websockets to the master VulcanBoard instance
    • simple permission system: the master can live enable/disable certain buttons for a subset of slaves
  • add button trigger in addition to the current http api, probably by specific supported websockets