keyboard-center
keyboard-center copied to clipboard
Application for mapping macro keys on Logitech keyboards
Keyboard Center
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.
Features
- [x] Mapping of keys, combos and macros
- [x] Ability to map commands to keys
- [x] Ablity to add delays to macros
- [x] libhidraw backend ~and libusb as backup if needed~ (libusb only < 0.2.0)
- [x] Support for switching LEDs of profile keys
- [x] Import and export of the configuration (added ability to open configuration folder instead)
- [x] openRGB integration - linking of macro profiles with openRGB profiles
- [ ] Application specific profiles (on hold until there is a common way to do this on Wayland[^1])
[^1]: For more information see this and this and this
Supported Keyboards
- 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)
Install
Arch / Manjaro
available in the AUR: [AUR] keyboard-center
Debian / Ubuntu
- Download
.deb
from release page - Install using package manager of your choice or in terminal:
apt install ./<packagename>.deb
Setup OpenRGB Integration
Step 1: Create Profile(s) in OpenRGB
Step 2: Specify Profile in Keyboard Center
note: if you install OpenRGB after Keyboard Center, you will need to restart it.
Manage Background Service
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
Settings are stored in a settings.yml
file, which is located at
-
$XDG_CONFIG_HOME/keyboard-center
or if not defined -
$HOME/.config/keyboard-center
CLI options
-
-v
--version
: prints version (duh) -
--background-mode
: hides tray icon -
--dev
: meant for development purposes only
Current default settings
settings: {usbTimeout: 1000, retryCount: 5}
Known issues
Icons on buttons and in the menu not visible
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 them 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.
Dependencies
Debian / Ubuntu
- python3 >= 3.9
- python3-pyqt5 >= 5.15
- python3-usb
- python3-uinput
- python3-ruamel.yaml
- libhidapi-hidraw0
- libnotify-bin
Arch / Manjaro
- python >= 3.9
- python-pyqt5 >= 5.15
- python-uinput >= 0.11.2
- python-ruamel-yaml >= 0.15
- python-pyusb >= 1.0.2
- hidapi >= 0.10
- libnotify >= 0.7.9
Contribute New Keyboard
- 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 other -
python3 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: