Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Logitech G600 left and middle button actions cannot be set (only swapped) #380

Closed
foresto opened this issue Aug 3, 2019 · 15 comments
Closed
Labels
PR welcome Desperately in need of someone to step up

Comments

@foresto
Copy link

foresto commented Aug 3, 2019

libratbag allows programming the actions of G600 buttons 0 and 1 (the left and middle buttons), but piper doesn't. Instead of offering a button mapping dialog as it does with every other button, piper opens a special dialog for these two buttons, allowing the user to swap their actions with one another but not allowing any other action.

This means that the middle button (the actual middle button, not the scroll wheel) cannot be programmed to send middle click, which is more than a little frustrating.

I imagine this UI choice must have come from mimicking the official Logitech tool, which has the same restriction. As far as I can tell, though, Logitech's original restriction is nothing more than a misguided attempt to make their right-handed mouse "easy" to set up for left-handed people. They seem to have overlooked the facts that they were crippling the programmability of their $80 programmable mouse, and that the shape and button layout of this mouse ensure that no left-handed person is likely to use it anyway.

Here's the command line workaround:

ratbagctl button 1 action set button 3 eventX
@whot
Copy link
Member

whot commented Aug 5, 2019

It's an intentional choice based on the assumption that users don't want to cripple their mouse given that you'll need left and right to interact with the majority of the software out there. See #82 for the discussion that prompted this.

If you can come up with a good UI to allow this, we'll probably be quite happy to merge this.

@foresto
Copy link
Author

foresto commented Aug 5, 2019

I don't see how allowing my middle button to produce a middle click would be crippling. The current practice of preventing it seems more like the crippling choice.

I expect the easiest and simplest UI would be to use the same one that every other button already uses. If you're concerned that someone who bought a programmable mouse would accidentally program it to have no right click button, a confirmation or error dialog upon applying changes would be a pretty simple way to handle it, and a lot less restrictive than what is there today.

@whot
Copy link
Member

whot commented Aug 5, 2019

did you read the discussion in #82?

@foresto
Copy link
Author

foresto commented Aug 5, 2019

I see. So my UI suggestion was suggested before, but rejected because it involved a popup dialog. A couple of thoughts:

That whole exchange took place assuming that it was the left and right buttons under discussion. On this mouse, that's not true (it's the left and middle button that are affected), so the assumptions and decisions made there don't exactly transfer to here.

I agree that popup dialogs can be annoying when excessive, but I don't think that's the case for one that only appears if the user tries to do something unusual and potentially dangerous. I imagine this one would hardly ever be seen.

One alternative would be an "apply changes" button at the bottom of the existing window. If left click is not assigned, disable "apply changes" and call attention to the problem. Maybe a "left click is not assigned" message, or some such thing.

#82 also says this:

How about we just allow right/left click assignments to those buttons and disable everything else? we can fix that once we get complaints.

I guess you can consider this a complaint. Current behavior forces the middle button to act like a right button (or worse if you choose the swap option). It breaks decades of mouse convention and learned behavior.

@bentiss
Copy link
Collaborator

bentiss commented Aug 5, 2019

The one thing I wonder here is:

libratbag allows programming the actions of G600 buttons 0 and 1 (the left and middle buttons), but piper doesn't.

and later:

ratbagctl button 1 action set button 3 eventX

So I wonder if the G600 driver simply doesn't invert buttons 1 and 2 (or should be), to have a correct mapping with the SVG and the correct drivers.

@bentiss
Copy link
Collaborator

bentiss commented Aug 5, 2019

OK, got to test this on my G600.

And I must confess that the use of middle button is really misleading here. You are actually talking about the commonly "right" button on the mouse, and not the "middle" button which is under the mouse wheel on 99% of the mice.

That being said, the driver is correct in libratbag, and the SVG is fine too. So this is definitively a piper issue and completely related to #82.

I guess you can consider this a complaint.

Great, no we "just" need someone to implement the fix :)

Current behavior forces the middle button to act like a right button (or worse if you choose the swap option). It breaks decades of mouse convention and learned behavior.

Hmm, not sure you can say this breaks decades of mouse convention and learned behavior. This mouse is one of the most unconventional mice I have (and I have a lot). And the way it is designed is to be used right-handed. So that means that your index lays on the left button, and addressing the far right button with your middle finger is nearly impossible (or I do not have the correct hands).
So to me, the far right button is an extra button, designed to be used with the pinky or ring finger, and we can not really call it "right" button.

So if you consider the mouse to be a regular mouse + the pinky button (which we did), then you are not breaking anything.

Anyway, it all comes down to know if someone wants to add a new design check for making sure we do not break a mouse by removing the left button.

@bentiss bentiss added the PR welcome Desperately in need of someone to step up label Aug 5, 2019
@foresto
Copy link
Author

foresto commented Aug 5, 2019

addressing the far right button with your middle finger is nearly impossible

I don't think anyone is suggesting that. Three-button mice came long before scroll wheel mice. They are (and were) most often used with index finger on left button, middle finger on middle button, and ring finger on right button.

And I must confess that the use of middle button is really misleading here.

There are three buttons on top of the mouse. I'm referring to the one in the middle. I don't see that as misleading, especially given the long history of mice and the middle button's role in X11 (which most linux desktops use) all this time. I realize that a lot of younger folks were brought up with the narrow mice and clickable scroll wheels popularized by Microsoft in the mid-to-late 1990s, but that layout is a relative newcomer, and surely not the only one worth allowing people to use.

Anyway, it all comes down to know if someone wants to add a new design check for making sure we do not break a mouse by removing the left button.

Fair enough. I'll think about it, though I haven't any personal need for it now that I've programmed my buttons with ratbagctl. Thanks for the discussion, and thanks for the tool!

@whot whot closed this as completed Aug 6, 2019
@whot
Copy link
Member

whot commented Aug 6, 2019

I haven't any personal need for it

closing based on the above, I doubt a PR is forthcoming here and arguing about how mice should look like or did before the 90s is not helping Piper get any better.

@Aevermann
Copy link

Any progress? I want to set the middle mouse button away from the wheel to the actual physical middle mouse button of the g600 (currently its used as right click). Right click can be set to the outer right button which is defaultet to g mode or so... In windows its possible, but I want to get rid of windows and I I accidentally switch profiles in ubuntu I cant set the desired button setting as it is for any reason only possible to switch left handed vs right handed and those buttons cant be set to asnything else in piper

@Aevermann
Copy link

and on behalf of the looking out issue: y simply can use the behavior of monitor settings where u have to confirm the new settings with the left click and the right click and if not pressed before timeout return to the older/working/default settings

@bumporrash
Copy link

Is there anyway to set one of the G buttons to single click aka left mouse click. I find as I am getting older my left click finger joints are getting a little tired and sore. Ideally I would like my thumb to take over some of the heavy lifting for a while.

@FFY00
Copy link
Member

FFY00 commented Jun 10, 2020

You should be able to just remap it.

@bumporrash
Copy link

You would think that, but I am not able to find the left click or single click anywhere.

@FFY00
Copy link
Member

FFY00 commented Jun 10, 2020

piper-left-click

What do you mean?

@bumporrash
Copy link

I think we are talking about different mice. I am talking about the G600 which looks like this.

image

I was able to find a primary click mapping and it still does not work. Oh well, I will figure it out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR welcome Desperately in need of someone to step up
Projects
None yet
Development

No branches or pull requests

6 participants