Keyboard Center (WiP)
(work in progress)
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
- Mapping of keys, combos and macros
- Ability to map commands to keys
- Ablity to add delays to macros
- libhidraw backend
and libusb as backup if needed(libusb only < 0.2.0) - 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
- Profiles for specific applications (currently impossible on wayland)
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 for the help)
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}
Dependencies
Debian / Ubuntu
- python3
- python3-pip (<= 0.1.4)
- python3-pyqt5
- python3-usb
- python3-uinput
- python3-ruamel.yaml
- libhidapi-hidraw0 | libhidapi-libusb0 (>= 0.1.9)
- libnotify-bin
Arch / Manjaro
- python >= 3.8
- python-pyqt5 >= 5.14
- python-pip >= 20 (<= 0.1.4)
- python-uinput >= 0.11.2
- python-ruamel-yaml >= 0.15
- python-pyusb >= 1.0.2
- hidapi>=0.10 (>= 0.1.9)
- python-inotify-simple >= 1.3 (<= 0.1.4)
- 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 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: