| Crates.io | config-2014-naga |
| lib.rs | config-2014-naga |
| version | 0.3.1 |
| created_at | 2026-01-13 10:37:56.716015+00 |
| updated_at | 2026-01-24 19:18:23.831251+00 |
| description | 2014 razer naga key mapper for linux - a way to configure side buttons 1-12 |
| homepage | https://github.com/Jeremy-Gstein/config-2014-naga |
| repository | https://github.com/Jeremy-Gstein/config-2014-naga |
| max_upload_size | |
| id | 2039905 |
| size | 40,445 |
A Linux utility written in Rust to remap all 12 side buttons on the Razer Naga 2014 mouse to configurable keyboard and numpad keys.
cargo install config-2014-naga
# run with default key mapping
config-2014-naga
# specifiy key mapping with ./config/config-2014-naga.toml
config-2014-naga /path/to/config-2014-naga.toml
git clone https://github.com/Jeremy-Gstein/config-2014-naga
cd config-2014-naga
cargo build --release
cargo run --release
# build with verbos debug output
cargo build
cargo run
Run with the default key mapping (buttons 1-12 → keys 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =):
sudo config-2014-naga
Create a TOML configuration file:
# config.toml
[keys]
"1" = "F1"
"2" = "F2"
"3" = "F3"
"4" = "F4"
"5" = "F5"
"6" = "F6"
"7" = "LeftShift"
"8" = "LeftControl"
"9" = "LeftAlt"
"10" = "Space"
"11" = "KP::_1"
"12" = "KP::_2"
The program needs root access to:
/dev/input devices/dev/uinputGenerate and view the API documentation:
cargo doc --open
/dev/input for "Razer Razer Naga 2014" device with physical path ending in "/input2"Make sure your Razer Naga 2014 is plugged in:
ls /dev/input/by-id/ | grep -i razer
Run with sudo or add your user to the input group:
sudo usermod -a -G input $USER
# Log out and back in
Run in debug mode to see what's happening:
cargo build
sudo ./target/debug/keymap-2014-naga
Press the side buttons and watch the output.
This project is derived from earlier work in the community:
Original project by jpodeszwik:
Extended fork with numpad support by industrylol:
This repository represents an independently maintained continuation with significant modifications, cleanup, and ongoing support.