mouse_m908 icon indicating copy to clipboard operation
mouse_m908 copied to clipboard

M908 button duplication issue with buttons 1 and 5

Open drlkf opened this issue 2 months ago • 1 comments

Hello!

I'm encountering an issue with a simple rebinding config on the M908 with the following config:

[profile1]
# led mode:
# breathing, breathing_rainbow, rainbow, static, wave, alternating, reactive, reactive_button, flashing, off, random
lightmode=static
# led color
color=aa4fff
# led brightness level (1-3)
brightness=1
# led animation speed (1-8)
speed=1

# scrollspeed (1-3f)
scrollspeed=1

# Each profile has 5 dpi levels (1-5) that can be individually set and enabled/disabled.
# Set dpiX_enable=0 to disable a particular dpi level.
# It is not possible to disable all DPI levels, at least one will remain enabled.
dpi1_enable=1
dpi2_enable=0
dpi3_enable=0
dpi4_enable=0
dpi5_enable=0
# There are two formats to specify the DPI:
# 1. actual DPI: 200-12400 (resolution is 100 (200-6200) or 200 (6400-12400))
# 2. raw bytecode: 0x[04-8c][00-01]
# Note: the older DPI format (04-8c) is no longer supported.
dpi1=1500
dpi2=1000
dpi3=2000
dpi4=3000
dpi5=6200

# USB poll rate (125, 250, 500, 1000) Hz
report_rate=500

# Button mapping: there is a total of 20 programmable buttons. keymap.md for full details
button_left=left
button_right=right
button_middle=middle
button_fire=Esc
button_dpi_up=Esc
button_dpi_down=Return
scroll_up=scroll_up
scroll_down=scroll_down
button_1=1
button_2=7
button_3=8
button_4=9
button_5=0
button_6=Equals
button_7=u
button_8=i
button_9=o
button_10=j
button_11=k
button_12=l

[profile2]

[profile3]

[profile4]

[profile5]

The important part here are buttons 1 and 5 which respectively bind to 1 and 0. On debian bookworm, with default apt sources and libusb version 2:0.1.12-32, uploading my configuration with the binary produced with cmake -Bbuild && cmake --build build -j:

> lsusb | grep 04d9
Bus 001 Device 009: ID 04d9:fc4d Holtek Semiconductor, Inc. Gaming Mouse [Redragon M908]
> sudo ./build/mouse_m908 -c $XDG_CONFIG_HOME/dotfiles/redragon/redragon/m908.ini -M 908

I included the -M flag to make sure of the model but it produces the same result regardless. Then, both button_1 and button_5 button seem to have a superposed state, where pressing any produces 10, and keeping them pressed produces repeated 0. Changing the bind on any of them produces the same result, assuming button_1=a and button_5=b, both keys produce ab and repeat b when long-pressed.

Let me know if I can provide any more details. cheers

drlkf avatar Oct 21 '25 22:10 drlkf

If you can rule out a hardware fault, you could capture the data sent by the official software with wireshark and try to fix this bug. Unfortunately there is not much i can do without reproducing this behaviour.

dokutan avatar Nov 17 '25 17:11 dokutan