libratbag: G700s: Cannot set or use macros

Information

  • ratbagd version (ratbagd --version): 0.12
  • Distribution: Arch Linux
  • Kernel version: Linux 5.4.8-arch1-1 x86_64 GNU/Linux

Describe the bug Macros show up as UNKNOWN and setting them with ratbagctl does not work. info will show that the macro has been mapped but the button still does not perform the macro.

To Reproduce Steps to reproduce the behavior:

  1. Plug in g700s (with macros already set from Windows)
  2. Use Piper to try to set some macros. See the error “something went wrong”
  3. Try to set the macro with ratbagctl warbling-mara button 5 action set macro KEY_T
  4. Button does not perform macro

Logs output of sudo ratbagd --verbose=raw

$ ratbagctl warbling-mara info
warbling-mara - Logitech G700s Rechargeable Gaming Mouse
             Model: usb:046d:c07c:0
 Number of Buttons: 13
    Number of Leds: 0
Number of Profiles: 5
Profile 0: (active)
  Name: Work Default
  Report Rate: 1000Hz
  Resolutions:
    0: 2100x2100dpi (active)
    1: <disabled>
    2: <disabled>
    3: <disabled>
    4: <disabled>
  Button: 0 is mapped to 'button 1'
  Button: 1 is mapped to 'button 2'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'button 4'
  Button: 4 is mapped to 'button 5'
  Button: 5 is mapped to macro '↕T'
  Button: 6 is mapped to UNKNOWN
  Button: 7 is mapped to 'button 5'
  Button: 8 is mapped to 'button 4'
  Button: 9 is mapped to macro '↕X'
  Button: 10 is mapped to UNKNOWN
  Button: 11 is mapped to 'button 4'
  Button: 12 is mapped to 'button 5'
Profile 1: (disabled)
Profile 2: (disabled)
Profile 3: (disabled)
Profile 4: (disabled)

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 2
  • Comments: 55 (22 by maintainers)

Commits related to this issue

Most upvoted comments

@FFY00 Are there any plans to add software support for this? Or is that outside the scope of the project?

for the moment I’m looking at assigning mice button presses to those extra keys and using additional apps that would map those to macros (xbindkeys, xvkvd etc). Quite a pita - one of the reasons I’m cheering up for projects like Ratbag / Piper. While I’ve been discussing options on the net several other users reported problems (the most common was G602).

I have upgraded my kernel to 5.5.2 and I observe the same behavior.

I will try to build and run master with the improved error output.

Still haven’t tried 5.5. Just wanted to note that I have the same setup at home and it is working on Linux 5.3.13-arch1-1 x86_64 GNU/Linux

All communication is done via dbus. I don’t know if there is any way to get monitor dbus calls

You can use dbus-monitor.

sudo dbus-monitor --system sender=org.freedesktop.ratbag1

but neither ratbag nor Piper provide a debug output on what they are doing and why it is failing in most cases.

master should now spit out an error when failing to commit.

I went to a Windows computer and set the macros to the on-board profile(s) and confirmed them working on Windows. I moved the mouse back over to Linux and the macros do not work. I also:

1. Disabled ratbagd and rebooted

2. Ensured two different on-board profiles to be working on another Windows machine (plugged in USB)

3. Bring the mouse back over to the wireless receiver on Linux box

4. After logging into Linux desktop, the mouse macros do not do anything

This leads me to believe the problem is not writing the macros to the device (at least for setting via ratbagctl, but instead that the macros are not received by the OS somehow after I upgraded my kernel.

This worked before I upgraded my kernel yesterday. I wasn’t able to set macros with Piper and still can’t but I now think there are two separate issues that first seemed related but might not actually be:

1. Piper is unable to program macros to the device

2. The device is unable to send it's on-board programmed macros to the OS

Can you try Linux 5.5? So that it includes https://github.com/torvalds/linux/commit/992ff2cc9ec6e30ccc64c341b052e8ccb370db90.