a hotkey board for desktop touchscreens

Noah Vogt 66b9b76e5f add good idea to roadmap před 1 měsícem
config ff3949b4dd allow follow_up_state to be dynamically set by the cmd exit code před 1 měsícem
ui e96add125d affects_buttons now works when the stats have a different 'cmd' entry před 1 rokem
util 6a45615d11 split VulcanBoard.py into modules + add gitignore před 1 rokem
.gitignore 47b0748a9e add simple http api using fastapi to control button states před 1 měsícem
ConfigEditorApp.py e6579ecdf9 add config + widget před 1 rokem
LICENSE 51b0778330 init commit před 1 rokem
README.md 66b9b76e5f add good idea to roadmap před 1 měsícem
Settings.py ee024cd9e4 add version with draggable buttons před 1 rokem
VulcanBoard.py ff3949b4dd allow follow_up_state to be dynamically set by the cmd exit code před 1 měsícem
api.pdf 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal před 11 měsíci
api.xopp 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal před 11 měsíci
config.diff 4e3b83ac65 add confif acutally před 1 rokem
config.yml 4e3b83ac65 add confif acutally před 1 rokem
icon-non-rounded.png 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal před 11 měsíci
icon.ico 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal před 11 měsíci
icon.png 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal před 11 měsíci
requirements.txt 47b0748a9e add simple http api using fastapi to control button states před 1 měsícem
vulcanboard.kv 5c281b5122 fix hexcolors + use gui error exit před 1 rokem
widget.py 47b0748a9e add simple http api using fastapi to control button states před 1 měsícem

README.md

VulcanBoard

A hotkey board for desktop touchscreens.

There are many hotkey solutions and programs like 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 especially given their intended use for livestreaming production that greatly values stability, 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

VulcanBoard is currently used weekly in livestreaming production by the author, hence 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
  • 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