Repository navigation
Releases: mattlaughter/inputforge
Release list
InputForge 0.3.1: G915 TKL over LIGHTSPEED
Fixes the missing Lighting page for a G915 TKL on its LIGHTSPEED receiver: the keyboard reports itself as 046d:408e (receiver c545/c547), which 0.3.0 didn't recognise. InputForge now also finds the keyboard's paired slot behind the receiver itself.
Still untested on real G915 TKL hardware. If lighting doesn't work, please post the output of
inputforge --lighting-info(it now probes the keyboard read-only) andinputforge --apply-lighting.
Good to know: lighting changes take control from the keyboard's onboard profile, so its own idle-dim/sleep timers stop until you switch onboard profile. InputForge doesn't do battery, host switching or report rate; keep Solaar for those (see README).
Update, then replug the receiver or log out and in so the new access rule applies.
sudo pacman -U inputforge-0.3.1-1-x86_64.pkg.tar.zst
InputForge 0.3.0: Logitech G915 TKL lighting
New: Logitech G915 TKL lighting, wired (046d:c343) or through its LIGHTSPEED receiver (046d:c545): solid, per-key, breathing, cycle, off, with a TKL-shaped key painter (no numpad or G-keys).
The TKL support is untested on real hardware (the author has a G815, not a G915 TKL). It's built from the same protocol as the G815, asking the keyboard for its feature slots rather than assuming them. If lighting doesn't work, please run
inputforge --lighting-infoandinputforge --apply-lightingand paste both outputs in an issue.
Also fixed: G815 Breathing and Cycle were being rejected by the keyboard (device rejected command 0d:3d); they now work (verified on hardware).
The udev rule now also covers the TKL's lighting interface (interface 2) only, never its typing interface. Re-install the package, then unplug/replug the keyboard (or log out and in).
sudo pacman -U inputforge-0.3.0-1-x86_64.pkg.tar.zst
Nobara / Fedora: packaging/rpm/build-rpm.sh.
InputForge 0.2.1: fix lighting access
Fixes 0.2.0, where lighting failed with "No permission to change lighting (/dev/hidraw5)" once the input group was removed.
The lighting udev rule never matched: udev requires every ATTRS{} key in a rule to match one parent device, and the vendor id and USB interface number live on different parents. The rule now matches on ENV{ID_VENDOR_ID}, ENV{ID_MODEL_ID} and ENV{ID_USB_INTERFACE_NUM}, which still exposes only the vendor config interface (not the typing interface).
Upgrading from 0.2.0: install the package (or re-run the installer); the rules reload automatically. Unplug/replug is not needed.
sudo pacman -U inputforge-0.2.1-1-x86_64.pkg.tar.zst
Nobara / Fedora: packaging/rpm/build-rpm.sh.
InputForge 0.2.0: no more input group
Permissions change. InputForge no longer adds you to the input group, which gave every program you run keylogger-level access to every keyboard. Access is now per device and per session through udev uaccess ACLs.
- Virtual output (
/dev/uinput): the user at the active local desktop, same rule as Steam. - Keyboards and mice: nothing by default. Turning a device on in InputForge asks for your password once and grants access to that device only.
- Lighting: hidraw access is narrowed to the vendor HID++/config interface of the G815/G813/G600. 0.1 also exposed their typing interfaces.
--selftestnow asks for your password, since it reads InputForge's own virtual devices.
Upgrading from 0.1: the package removes the old rules. If 0.1 added you to input, run sudo gpasswd -d $USER input, log out and back in, then turn your devices on again in InputForge.
Arch / CachyOS / EndeavourOS
sudo pacman -U inputforge-0.2.0-1-x86_64.pkg.tar.zst
Nobara / Fedora: packaging/rpm/build-rpm.sh (see README). Details: CHANGELOG.md
InputForge 0.1.1
Bug-fix release.
- Fixes cursor stutter: the pointer froze for ~130 ms every 2 seconds while InputForge was active.
- KDE mouse settings (acceleration profile, speed, natural scroll, left-handed, scroll factor) now keep applying to mice InputForge manages.
- All 16 mouse buttons are forwarded (the G600's extra buttons were being dropped).
- Emergency stop (Left Ctrl + Right Ctrl + Esc) works when the keys arrive on different input nodes.
- Pointer/scroll multipliers are clamped to the UI ranges; CI added.
Arch / CachyOS / EndeavourOS
sudo pacman -U inputforge-0.1.1-1-x86_64.pkg.tar.zst
Nobara / Fedora: packaging/rpm/build-rpm.sh (see README).
Full list: CHANGELOG.md
InputForge 0.1.0
First release.
Arch / CachyOS / EndeavourOS: download inputforge-0.1.0-1-x86_64.pkg.tar.zst and run
sudo pacman -U inputforge-0.1.0-1-x86_64.pkg.tar.zst
sudo usermod -aG input $USER # then log out and back in
Or build it yourself: cd packaging/arch && makepkg -si.
Nobara / Fedora: build the RPM with packaging/rpm/build-rpm.sh (see README).
Features: per-device key/button assignments, macros, autoclicker, pointer/scroll speed, built-in RGB lighting for Logitech G815/G813 and G600, system tray with start at login, follows the desktop theme.