RaulPPelaez / Naga_KeypadMapper

This little linux xorg daemon allows you to map the side keypad of the Razer Naga series mice via a configuration file called mapping.txt under $HOME/.naga/
Other
105 stars 32 forks source link

Naga Chroma Top Buttons and Tilt Wheel #48

Open brianfreytag opened 6 years ago

brianfreytag commented 6 years ago

The side buttons Razer Naga Chroma works just fine in Ubuntu 16.04 with this utility, however the top buttons and tilt wheel are completely unchangeable.

The tilt wheel defaults to scroll up (xev: button 4 to the right) and scroll down (xev: button 5 to the left) and the top buttons default to modifying the DPI up or down.

I'm seeing a pretty crazy issue here with the top buttons that I'm going to have to look into deeper. xev does not register anything with those DPI buttons.

I'm putting this issue in here so we can collaborate on getting this thing working right.

matthewrutter commented 6 years ago

Same issue here. First we need to find out what's up with those sensitivity buttons. I'll check for any info on how the buttons are built into the mouse. Need to make sure they aren't isolated on purpose from the system by design and simply there to change internal sensitivity. As for the scroll buttons on the mouse wheel I'll read the code when I have time and see how I can add those buttons.

brianfreytag commented 6 years ago

@ruttermatt If I get an opportunity to boot into my Windows VM later, I will snap a screenshot of the Razer Synapse configuration for this mouse. You can definitely change those keybindings in Windows (and in my VM I reprogrammed them to forward/back in the browser). I just don't understand why they aren't even being recognized in Linux in xev. I'm not familiar enough with X to be able to even remotely begin to troubleshoot stuff like this.

wenzler commented 6 years ago

Using the openrazer "driver mode" - I am able to activate the sensitivity buttons but not the tilt wheel Maybe you'll find some hints about the magic happening there. https://github.com/openrazer/openrazer/wiki/Using-the-keyboard-driver

echo -n -e "\x03\x00" > /sys/module/razermouse/drivers/hid:razermouse/0003:1532:0053.000*/device_mode

RaulPPelaez commented 6 years ago

If they do not appear as devices in xinput the idea in naga.cpp its no good I am afraid. @wenzler's link suggest that the people in openrazer are fiddling directly with the (black box, close sourced) driver of the mouse. That is infinetly more sophisticated than Naga_KeypadMapper. However I think it would be fun to have this type of access in Naga_KeypadMapper, maybe some kind of integration with openrazer would be nice. Maybe a new fork could be developed to work along openrazer. On the other hand this is called Naga_KeypadMapper, but might as well be called WhateverInputDevice_KeyMapper, as the idea is really general. I think find the simplicity of this appealing.