https://github.com/abbytech/razer-analog-keyboard
Userspace driver for using razer keyboard in analog mode
https://github.com/abbytech/razer-analog-keyboard
analog-keyboard gamepad-controller java joystick-controller libusb linux razer razer-drivers razer-peripherals uinput uinput-device usb4java
Last synced: about 2 months ago
JSON representation
Userspace driver for using razer keyboard in analog mode
- Host: GitHub
- URL: https://github.com/abbytech/razer-analog-keyboard
- Owner: Abbytech
- Created: 2025-04-11T09:23:13.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-11T17:20:08.000Z (about 1 year ago)
- Last Synced: 2025-04-12T02:15:33.476Z (about 1 year ago)
- Topics: analog-keyboard, gamepad-controller, java, joystick-controller, libusb, linux, razer, razer-drivers, razer-peripherals, uinput, uinput-device, usb4java
- Language: Java
- Homepage:
- Size: 92.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# Description
Allows usage of razer-keyboard as a joystick/keyboard hybrid in analog mode (driver mode) on linux.
### Features
1. mapping keyboard keys to abitrary joystick axes/buttons
2. simultaneous use of default keyboard behaviour and joystick/gamepad
3. toggleable joystick/gamepad
### Prerequisites
1. add user to 'plugdev' group
`sudo usermod -a -G plugdev $USER`
2. add udev rules file `/etc/udev/rules.d/\.rule` with the contents below
HuntsmanV3Pro: `SUBSYSTEM=="usb",ATTR{idVendor}=="1532",ATTR{idProduct}=="02a6",MODE="0060",GROUP="plugdev"`
### Building & Running
./gradlew shadowJar
./java -jar ./build/libs/-all.jar
where device-config-file-path is the path to the keyboard->gamepad/joystick mapping json file. (included example: testDeviceConfig.json)
### Usage
1. FN+PAGE_UP: enable joystick (disables regular keyboard output for the mapped keys)
2. FN+PAGE_DOWN: disable joystick (keyboard functions as usual)
3. FN+HOME: reset keyboard and close application
### Supported devices
currently only Razer Huntsman V3 Pro is supported.