Logitech G300

From ArchWiki

G300s community drivers

Install ratslapAUR for drivers for the mouse. It can change colors, binding, and even create custom macros. After installation, use the ratslap binary to change the mouse.

How to make G300 work correctly

This Wiki page will show you how to get your G300 mouse working as desired.

G300 is recognized as both mouse and keyboard, you can check with:

$ xinput list | grep G300

We have to disable the G300 keyboard to make it work correctly as follows:

DEVICE_ID=$(xinput list |  grep "Logitech Gaming Mouse G300" | grep keyboard | sed 's/.*id=\([0-9]*\).*/\1/')

if xinput -list-props $DEVICE_ID | grep "Device Enabled" | grep "1$" > /dev/null
        xinput set-int-prop $DEVICE_ID "Device Enabled" 8 0

Make this executable and run it to see if everything is working. You can also put it into your xinitrc.d to make it load automatically.

Another shorter version:

G300ID=$( xinput --list | grep G300.*Keyboard | cut --field 2 | tr --delete "id=" )

let $( xinput --list-props $G300ID | grep "Device Enabled" | cut --field 3 ) && xinput --disable $G300ID

Configuring the buttons

The above script works as intended but it also disables the buttons, since we disabled the keyboard function of the G300. To make this mouse working as a mouse and being able to use the buttons, we can use ratslapAUR for customization (colors and buttons).