Keyboard Center is an application attempting to create an easy way for users to map their macro keys of their >100$ keyboard to useful actions, because Logitech does not give a fuck.
Unlike some other solutions, this application works alongside with RGB software like OpenRGB!
NOTE: This application is written for Linux only, on Windows use whatever bloatware the vendor wants you to use.
- Mapping of keys, combos and macros
- Ability to map keys to buttons and commands
- Ability to map keys to a LUA script for more advanced macros
- Ability to add delays between actions
- Support for switching LEDs of profile keys
- Import and export of the configuration (added ability to open configuration folder instead)
- openRGB integration - linking of macro profiles with openRGB profiles
- libhidraw backend compatible with other control software like openRGB
- Application specific profiles (on hold until there is a common way to do this on Wayland1)
- Logitech G910 Orion Spectrum (046d:c335)
- Logitech G910 Orion Spark (046d:c32b) (thanks to @microdou)
- Logitech G710+ (046d:c24d) (big thanks to @nirenjan)
- Logitech G815 (046d:c33f) (thanks to @nickbuss)
- Logitech G510 (046d:c22d) (thanks to @Flying--Dutchman)
- Logitech G510 (046d:c22e) (thanks to @JoZ3)
- Logitech G935 (046d:0a87) (partial support) (thanks to @coxaka)
- Download
.deb
from release page - Install using package manager of your choice or in terminal:
apt install ./<packagename>.deb
NOTE: v2 only works with Ubuntu 24.04 LTS and newer due to Python3.12 dependency
note: if you install OpenRGB after Keyboard Center, you will need to restart it.
The basics of LUA scripting are explained in the LUA template.
For examples see the examples folder.
Keyboard Center places itself into the system tray (unless disabled see CLI options).
If you try to open a secondary instance, it will should reactivate the primary one if minimized or hidden.
Settings are stored in a settings.json
file, which is located at
$XDG_CONFIG_HOME/keyboard-center
or if not defined$HOME/.config/keyboard-center
-v
--version
: prints version (duh)--background-mode
: hides tray icon--dev
: meant for development purposes only
Keyboard Center relies on icons provided by the desktop environment.
Some DEs (like i3) don't seem to provide those, so in that case you can manually overwrite the used icon theme by setting XDG_SESSION_DESKTOP
and XDG_CURRENT_DESKTOP
ENV variables.
Two known good values are KDE
(recommended) and GNOME
.
Thanks to @scott-carrion for this info.
- python3 >= 3.12
- python3-pyqt5 >= 5.15
- python3-uinput
- python3-usb
- python3-lupa >= 1.14.1
- python3-setuptools
- libhidapi-hidraw0
- libnotify-bin
- lua
- python >= 3.12
- python-pyqt5 >= 5.15
- python-uinput >= 1.0.1
- python-lupa >= 1.14.1
- python-pyusb >= 1.0.2
- hidapi >= 0.10
- libnotify >= 0.7.9
- lua
- make sure all required dependencies are installed +
git
git clone https://github.com/zocker-160/keyboard-center
cd keyboard-center
- make sure that
usbVendor
andusbProduct
insrc/newDeviceDebugger.py
is set properly
(you can check withlsusb
) - you might need to run the following commands with
sudo
if you get permission errors python3 src/newDeviceDebugger.py
and press all memory keys, macro keys and multimedia keys one after each otherpython3 src/newDeviceDebugger.py --info
- exit with
CTRL + C
(can take a second or two) - open a new issue and provide output of the last two commands and the USB ID of your keyboard
overall it should look something like this: