Skip to content

Releases: mattlaughter/inputforge

InputForge 0.3.1: G915 TKL over LIGHTSPEED

Choose a tag to compare

@mattlaughter mattlaughter released this 03 Oct 00:58

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) and inputforge --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

Choose a tag to compare

@mattlaughter mattlaughter released this 02 Oct 23:22

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-info and inputforge --apply-lighting and 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

Choose a tag to compare

@mattlaughter mattlaughter released this 02 Oct 23:04

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

Choose a tag to compare

@mattlaughter mattlaughter released this 02 Oct 22:06

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.
  • --selftest now 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

Choose a tag to compare

@mattlaughter mattlaughter released this 01 Oct 22:10

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

Choose a tag to compare

@mattlaughter mattlaughter released this 01 Oct 02:06

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.