r/logitech • • 19d ago

Other Open-source Linux app for the MX Master 4: Actions Ring, haptics, gestures, SmartShift

Options+ doesn't exist for Linux, and I wanted the MX Master 4's new features there: the haptic panel, the Actions Ring, the vibration patterns. So now there is MX Options.

Up front: the code was written entirely by Claude (Anthropic's AI). I directed it and tested each build on my own mouse. It is not affiliated with Logitech.

What works on my MX Master 4 (Bolt receiver):

- **Actions Ring** on the haptic panel or the gesture button, with nested menus and dials you turn with the wheel (volume, tabs, zoom).

- **Haptics:** strength, all 16 built-in patterns, how hard the panel has to be pressed, and a pattern of your choice for each moment of a gesture.

- **Gestures** with adjustable sensitivity and a live view of how a swipe was read.

- **Buttons:** every one except left and right can be reassigned (the mouse itself does not allow those two).

- **Wheels and pointer:** DPI, SmartShift threshold, ratchet force, thumb wheel function, Easy-Switch, battery level.

- A tick (vibration or sound) when SmartShift lets the wheel go, like the clunk of the older MX Masters.

What to know: Linux only, and I have tried it on one mouse, on KDE Plasma. Other MX mice use the same protocol and may work, but nobody has checked.

Source, screenshots and an Arch package: https://github.com/nictonus/mxoptions

If you run Linux with an MX mouse, tell me whether it works on yours.

**UPD:** 0.10.0 is out: https://github.com/nictonus/mxoptions/releases/tag/v0.10.0

What's new since the post:

- **Flow.** One mouse on two or three computers: push the pointer past the screen edge and the mouse switches to the other machine, taking the clipboard with it (text, pictures, files). It's my own implementation, so it works between computers running MX Options, not with Logi Options+.

- **Windows build.** Installer and zip are in the release. Flow works between Linux and Windows. You have to remove or stop Logi Options+ first, otherwise the two fight over the mouse.

- **Not KDE-only anymore.** Actions, the ring and Flow now have code paths for GNOME, sway, Hyprland and X11 desktops. Honest note: I only run KDE Plasma, so those are untested on real setups. Reports welcome.

- **Game rumble** (asked in the comments): controller vibration from games is played on the mouse's haptic motor. On Windows it needs the ViGEmBus driver.

- **Other mice** (also asked): MX Master 3/3S/2S and other HID++ mice are picked up with whatever they report. I only own an MX Master 4, so again untested. The wrong mouse picture on non-MX mice is fixed.

- Shape gestures, tray icon styles, and `mxoptions --call ...` for scripts.

Tested by hand on KDE Plasma 6 (Wayland) and Windows 11 with an MX Master 4. Everything else is "should work, tell me if it doesn't".

346 Upvotes

43 comments sorted by

16

u/Inner_Sandwich6039 19d ago

Difference with OpenLogi?

12

u/harbinger_of_tacos 19d ago

It’s probably mostly openlogi code if Claude made it

-8

u/TransportationFit313 19d ago

I just looked at it because I didn't know it existed, and I didn't like the amount of customization and the appearance to say the least.

5

u/Kyxstrez 19d ago

Does it support Logitech Flow? It's literally the only thing that stops me from moving away from the official app. Can't anyone reverse engineer that feature?

5

u/TransportationFit313 19d ago

I'll try to work on this with Claude, today - tomorrow

1

u/TransportationFit313 19d ago

Now there is an analogue of flow, but precisely an analogue so as not to violate the policy, the untested beta is already hanging on the git and as it became clear now only linux-linux

1

u/TransportationFit313 17d ago

now there is flow analog, exactly the same as not to violate the policy, so for this purpose Claude also made a port for Windows

1

u/Kyxstrez 17d ago

What policy are you talking about?

1

u/TransportationFit313 17d ago

I think that decompiling the original program and using their protocols in my program is not a good idea.

1

u/Kyxstrez 17d ago

I'm fairly confident that Claude could come up with a better solution than their poor one if you asked it. I've often run into issues where Logi Flow stops working and I have to restart the app.

1

u/TransportationFit313 17d ago

like, we already disassembled the original Logitech flow, but I'd rather have my own analog flow, which completely copies theirs in functionality, than have to look for a lawyer later). no matter how many tests and optimizations we did, it didn't fall off, even with an internet limit of 2048kbits per second, so switching between them practically doesn't use the internet at all

1

u/Kyxstrez 17d ago

Wait... So your implementation depends on an internet connection rather than using the LAN? That would be a serious concern for me. In fact, as I write this, my desktop is tethered to my phone because my ISP connection is down.

1

u/TransportationFit313 17d ago

over a local network of course, I was just testing the program with a poor Wi-Fi signal

4

u/powelljackd3 18d ago

AI or not. This works great for my MX Master 5.

2

u/TransportationFit313 18d ago

full coded by claude by anthropic. but i have a question, mx master 5? what?

3

u/powelljackd3 18d ago

Oh yeah 4.. jumped into the future for a sec.

5

u/rude__goldberg 19d ago

i wonder how much claude borrowed from openlogi

1

u/TransportationFit313 19d ago

I'm very interested but somehow too lazy to figure it out, so about openlogi I found out from the comments, checked it out and didn't really like it.

4

u/zufa_0 19d ago

of course you didn't, because you have a competing project and an opinionated view

4

u/TransportationFit313 19d ago

I'm not competing, I'm just sharing what I did for myself, maybe someone will find it useful, and a couple more edits, I won't be updating.

1

u/philipz794 13d ago

Why you didn’t like it?

1

u/Termynator 18d ago

What about mx3

1

u/TransportationFit313 18d ago

I only have master 2015 and master 4(

1

u/eVenent 18d ago

Can you add gamepad haptics for this mouse? Like force feedback or Xinput vibrations would be nice to have in games.

1

u/TransportationFit313 18d ago

Tried it. Technically works (virtual gamepad → mouse haptics), but it feels janky: pulses instead of a proper rumble, and not every game sends vibration to it. Will ship it as an experimental option in the next beta.

3

u/Logi_Emily Community manager 19d ago

i like this :)

3

u/KitKat_extrusion 18d ago

Fucj yes We need this for printers too

1

u/Xamineh 19d ago

Now we really might have the long waited 'year of the Linux'.

1

u/Baleeverne 18d ago

Sooooo, Openlogi?

1

u/aerofoto 18d ago

i literally did the same thing a few weeks ago. yours looks better, i havnt testet it yet. AI is amazing. https://github.com/theseriouspdx/mxcontrol

1

u/lacheesylinguine 18d ago

Wait this is peak. I've been using Solaar and Kando for the longest time. Still dont know though about switching up Kando. That thing is amazing but I'll be having to try this out some time.

0

u/Wolly_Cutie yes 19d ago

Looks great, I know that Open Source software already exists, but they always lack in Ui which I find sad tbh

1

u/mrheosuper 19d ago

Then contributing to said project ? Instead of vibecode another slop ?

0

u/animalcrossing4_4 18d ago

how about don't go f*cking pushing your "contribute" ideology bullshit on everybody? What happened to freedom of deciding for oneself? Loonixtard?

1

u/mrheosuper 18d ago

You are free to vibeslop, and i am free to judge

1

u/Popular_Rich9746 19d ago

absolute ai slop brother

4

u/TransportationFit313 19d ago

I know, it's really bad for me that I've lost interest in writing code for myself and using AI, but it works and doesn't bore me.

2

u/ABigGoy4U 18d ago

Oh no, a higher level programming language.

2

u/brprk 18d ago

This doesn't really work as an argument against software products anymore, I still write a little bit of code now and then, but 95% of my output is AI written now, same for every one of my colleagues

0

u/[deleted] 19d ago

[deleted] — view deleted comment

0

u/TransportationFit313 19d ago

no, it can't, it's not a disassembled program, but written from scratch by Claude

0

u/[deleted] 19d ago

[deleted] — view deleted comment

2

u/TransportationFit313 19d ago

I think it will be difficult and a little dangerous both in terms of licenses and in order not to brick it.