Skip to content

some-git-user/systemd-hwdb-gui

Repository files navigation

systemd-hwdb GUI

image

A Fyne GUI for remapping keyboard keys with systemd-hwdb on Linux. Lists input devices, captures key presses with evtest, and saves remaps to /etc/udev/hwdb.d.

Runtime Requirements

  • Linux desktop (X11 or Wayland)
  • evtest, systemd-hwdb, udevadm (checked on startup)
  • pkexec or sudo (for saving and applying changes)

Install on Debian/Ubuntu:

sudo apt install evtest systemd udev policykit-1

Quick Start

  1. Install mise:
curl https://mise.run | sh
eval "$(mise activate bash)"
  1. Clone and run:
git clone <repo>
cd systemd-hwdb-gui
mise trust
mise install
mise run dev

The binary builds to build/systemd-hwdb-gui.

Development Tasks

mise run fmt          # format code
mise run check        # check fmt, vet, and test
mise run test         # run tests
mise run build        # build binary
mise run dev          # run app
mise run coverage     # coverage report

Build Dependencies

Required to build from source (already installed if using mise):

  • Go 1.26 (managed by .mise.toml)
  • Fyne C dependencies

On Debian/Ubuntu:

sudo apt install gcc pkg-config libgl1-mesa-dev xorg-dev libxkbcommon-dev \
  libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libwayland-dev \
  wayland-protocols libegl1-mesa-dev

Editor Setup

If VS Code/VSCodium's Go extension reports missing go:

mise run env-fix
mise run ide-open

Pre-commit Hook

mise run hooks-install

Runs fmt-check, vet, and test before each commit.

Notes

  • Remaps are scan-code based (from MSC_SCAN capture).
  • One hwdb file per device identifier.
  • The app checks for missing runtime dependencies on startup.

About

simple GUI application for creating systemd-hwdb configurations

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors