Easterntimes Tech Wired Gaming Mouse T1 with Linux

Recently, I bought the Easterntimes Tech Wired Gaming Mouse (Model T1). It's being sold as [Programmierbare] Patuoxun® Thunderbird 11 Tasten Wired Gaming Mouse 4000 DPI, 1000 Hz Return-Rate mit 8 Weights für Pro Gamer & Office on amazon.de. Off course, I'm not using it for gaming but for everyday work: programming, office. And in addition, I'm not using it with Windows (or only rarely at least).

How it appears on Linux

lsusb reports the mouse as follows:

Bus 001 Device 008: ID 04d9:fc07 Holtek Semiconductor, Inc.

dmesg reports it like this:

[1718.964159] usb 1-1.2.1: new full-speed USB device number 8 using ehci-pci
[1719.081358] input: USB Gaming Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:04D9:FC07.0005/input/input18
[1719.084324] hid-generic 0003:04D9:FC07.0005: input,hidraw1: USB HID v1.10 Mouse [USB Gaming Mouse] on usb-0000:00:1a.0-1.2.1/input0
[1719.088092] input: USB Gaming Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.1/0003:04D9:FC07.0006/input/input19
[1719.141218] hid-generic 0003:04D9:FC07.0006: input,hidraw4: USB HID v1.10 Keyboard [USB Gaming Mouse] on usb-0000:00:1a.0-1.2.1/input1
[1725.284645] input: USB Gaming Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.2/0003:04D9:FC07.0007/input/input20
[1725.336314] hid-generic 0003:04D9:FC07.0007: input,hiddev0,hidraw5: USB HID v1.10 Device [USB Gaming Mouse] on usb-0000:00:1a.0-1.2.1/input2

So it shows up as a USB HID Mouse, a USB HID Keyboard and a USB HID 'device' (for whatever that means).

Listing those input devices can be done with xinput list:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ USB Gaming Mouse                          id=13   [slave  pointer  (2)]
⎜   ↳ USB Gaming Mouse                          id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ USB Gaming Mouse                          id=9    [slave  keyboard (3)]

All keys work right out of the box:

  1. Left button
  2. Right button
  3. Scroll wheel button
  4. Firepower button (tripple click)
  5. DPI+
  6. DPI-
  7. Alt
  8. Ctrl
  9. Shift
  10. Forward
  11. Backward

Eastertimes Tech - Wired Gaming Mouse T1 - Buttons

The [Alt], [Ctrl] and [Shift] keys send their commands via the virtually connected keyboard (see above).

Checking Mouse Button / Scroll Events

Watch for key press events (sudo pacman -S xorg-xev):

xev | grep button

Disabling Mouse Acceleration

Check status with:

xset -q | grep -A1 Pointer

Without modifying anything, this shows the following on my system:

Pointer Control:
  acceleration:  100/10    threshold:  10

Running the following commands disables the mouse acceleration,

xset m 0 0

whereas this one enables it again:

xset m 100/10 10

To disable mouse acceleration at startup / whenever the graphical environment is launched, create the file .config/autostart/mouse_accelleration.desktop with the following content:

[Desktop Entry]
Name=Disable mouse acceleration
Exec=xset m 0 0
Type=Application

Reverse Engineering

I'm trying to find out how the settings are being sent to the mouse. The goal is to write a tool like ds4drv, rivalctl or g9led.

The result of my efforts is to be found here.

Udev Rule

/etc/udev/rules.d/99-wgmt1.rules:

SUBSYSTEM=="usb", ATTR{idVendor}=="04d9", ATTR{idProduct}=="fc07", MODE="0666", SYMLINK+="wgmt1"

Trade Names

The mouse is sold under different brand names:

  • Trust GXT 155 Gaming-Mouse
  • VicTsing ET Thunderbird Gaming Maus
  • Patuoxun Thunderbird 11 Buttons Wired Gaming Mouse
  • TeckNet M009 Laser Gaming Mouse (not quite sure, this one claims to have 16400 DPI)
  • TeckNet M008 Programmable Laser Gaming Mouse (not quite sure, this one claims to have 16400 DPI)

Resources

Comments