Userspace tools to customise the LED colour of the mouse natively under a Linux environment. Also supporting some other hardware based features such as mouse polling. It's possible this will work on other platforms too (bsd / osx).
Vendor ID: 3938 Product ID: 1101
The USB protocol was reverse engineered using wireshark and usbmon to capture USB control messages from a windows virtual machine. All discovered features of this mouse are documented here:
If you are interested in reading how this was done, i have posted an article here:
https://bytepunk.wordpress.com/2017/03/25/reverse-engineering-a-usb-mouse/
- profile slots
- change LED color
- change LED color mode (on, off, breathe, cycle)
- Hardware persistent settings
- Hardware mouse polling adjustment
- GUI tool using PyQt
This is still work in progress, there may be bugs or missing features The script requires root access (sudo) to write/read from the USB device The author takes no responsibility for anything that may go wrong!
You should be able to setup a udev rule for the device, as to not require root access like so: /etc/udev/rules.d/50-blackweb-aya.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="3938", ATTRS{idProduct}=="1101", GROUP:="plugdev"
./ayatool.py <r> <g> <b>
for example, to set the mouse LED to green:
./ayatool.py 0 255 0
./ayatool_qt.py
If the mouse randomly turns off the LED when setting a new profile, this is a bug. You can work around it by issuing the factory reset command ('File > Factory Reset' in the PyQt interface). It seems to be caused by setting breathe/cycle as the LED mode, but can be unpredictable. Still working on figuring out why this happens.
- Python 2.7.*
- PyUSB
- PyQt / Qt4 (for the user interface)