Thanks! I was increase the amount of scrolling for each side button click with that. I spent a while looking through the man page and trying things out in the config file (several times it made my computer really difficult to use), but I wasn't ever able to repeat key presses while the buttons are held down. But this is good enough for now. Here's my ~/.imwheelrc file in case someone stumbles across this post in the future
".*"
Control_L, Up, Control_L|Button4
Control_L, Down, Control_L|Button5
Shift_L, Up, Shift_L|Button4
Shift_L, Down, Shift_L|Button5
None, Thumb1, Button5, 4
None, Thumb2, Button4, 4
That link is kinda hard for me to understand, but the Arch Wiki page for libinput is listing xinput commands, so I think that was what I was already using when doing my earlier experimentation.
~$ xinput list-props 13
Device 'Tt eSPORTS Iris Optical RGB':
Device Enabled (149): 1
Coordinate Transformation Matrix (151): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Natural Scrolling Enabled (278): 0
libinput Natural Scrolling Enabled Default (279): 0
libinput Scroll Methods Available (280): 0, 0, 1
libinput Scroll Method Enabled (281): 0, 0, 0
libinput Scroll Method Enabled Default (282): 0, 0, 0
libinput Button Scrolling Button (283): 2
libinput Button Scrolling Button Default (284): 2
libinput Button Scrolling Button Lock Enabled (285): 0
libinput Button Scrolling Button Lock Enabled Default (286): 0
libinput Middle Emulation Enabled (287): 0
libinput Middle Emulation Enabled Default (288): 0
libinput Rotation Angle (261): 0.000000
libinput Rotation Angle Default (262): 0.000000
libinput Accel Speed (289): -0.600000
libinput Accel Speed Default (290): 0.000000
libinput Accel Profiles Available (291): 1, 1, 1
libinput Accel Profile Enabled (292): 1, 0, 0
libinput Accel Profile Enabled Default (293): 1, 0, 0
libinput Accel Custom Fallback Points (294): <no items>
libinput Accel Custom Fallback Step (295): 0.000000
libinput Accel Custom Motion Points (296): <no items>
libinput Accel Custom Motion Step (297): 0.000000
libinput Accel Custom Scroll Points (298): <no items>
libinput Accel Custom Scroll Step (299): 0.000000
libinput Left Handed Enabled (300): 1
libinput Left Handed Enabled Default (301): 0
libinput Send Events Modes Available (263): 1, 0
libinput Send Events Mode Enabled (264): 0, 0
libinput Send Events Mode Enabled Default (265): 0, 0
Device Node (266): "/dev/input/event13"
Device Product ID (267): 9802, 4119
libinput Drag Lock Buttons (302): <no items>
libinput Horizontal Scroll Enabled (303): 1
libinput Scrolling Pixel Distance (304): 15
libinput Scrolling Pixel Distance Default (305): 15
libinput High Resolution Wheel Scroll Enabled (306): 1
Do any of the libinput options stand out as being "sensitivity"? That matrix is the only one that looks promising to me, but changing it has no effect as I mentioned earlier.
This mouse seems pretty hard to take apart, I can't find any screws or even any places where it was clearly glued.
I blew some compressed air down in there as much I could, and it might've helped, but not enough
Thanks for the responses!