a hotkey board for desktop touchscreens

Noah Vogt f218bda42d add new + clarify old feature idea 2 nedēļas atpakaļ
config 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal 2 nedēļas atpakaļ
ui e96add125d affects_buttons now works when the stats have a different 'cmd' entry 2 mēneši atpakaļ
util 6a45615d11 split VulcanBoard.py into modules + add gitignore 6 mēneši atpakaļ
.gitignore 6a45615d11 split VulcanBoard.py into modules + add gitignore 6 mēneši atpakaļ
ConfigEditorApp.py e6579ecdf9 add config + widget 5 mēneši atpakaļ
LICENSE 51b0778330 init commit 6 mēneši atpakaļ
README.md f218bda42d add new + clarify old feature idea 2 nedēļas atpakaļ
Settings.py ee024cd9e4 add version with draggable buttons 6 mēneši atpakaļ
VulcanBoard.py 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal 2 nedēļas atpakaļ
api.pdf 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal 2 nedēļas atpakaļ
api.xopp 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal 2 nedēļas atpakaļ
config.diff 4e3b83ac65 add confif acutally 5 mēneši atpakaļ
config.yml 4e3b83ac65 add confif acutally 5 mēneši atpakaļ
icon-non-rounded.png 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal 2 nedēļas atpakaļ
icon.ico 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal 2 nedēļas atpakaļ
icon.png 1cd2897028 add some window config options + update README + use rounded corner icons + update api proposal 2 nedēļas atpakaļ
requirements.txt 9c20d3c8ef add missing dependency 2 nedēļas atpakaļ
vulcanboard.kv 5c281b5122 fix hexcolors + use gui error exit 6 mēneši atpakaļ
widget.py e6579ecdf9 add config + widget 5 mēneši atpakaļ

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