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

Mouse Button remapper #1475

Open
TobiasSekan opened this issue Mar 6, 2020 · 14 comments
Open

Mouse Button remapper #1475

TobiasSekan opened this issue Mar 6, 2020 · 14 comments
Labels
Idea-New PowerToy Suggestion for a PowerToy Product-Mouse Utilities Refers to the Mouse Utilities PowerToy

Comments

@TobiasSekan
Copy link
Contributor

Summary of the new feature/enhancement

The problem

  • Windows only support switch left and right mouse button (since many many years)
  • Each mouse with more that three buttons come with a different configuration tool
    • not all but the most (from known companies)
    • when only buy mouses from one company you can use one tool
    • but these tool are only support a few of generation mouses of the from the same comapnie

The Solution

Introduce a new module witch allows the user to remap the mouse buttons

Key features

  • Support remap the typical five mouse buttons
    • left, right, middle, forward, backward
  • Support remap to another mouse button
  • Support remap to keyboard keys
  • Support remap to keyboard keys with modifiers

Nice to have

  • Support remap all mouse buttons
  • Support remap to multimedia key (play, pause, next track, etc.)

No-Goals (or after first version)

  • Support hardcore/esoteric mouses with more then 10 buttons.

Possible problems

  • Inaccessibly of the mouse buttons from OS
  • Different APIs (inside the different drivers from the different companies)
  • Loops (when press a remapped mouse button)

Current alternatives

Windows

@crutkas crutkas changed the title [Request] [New Module] Mouse Button remapping Mouse Button remapper Mar 8, 2020
@crutkas crutkas added the Idea-New PowerToy Suggestion for a PowerToy label Mar 8, 2020
@crutkas crutkas added this to the Suggested Ideas milestone Mar 9, 2020
@dstango
Copy link

dstango commented Jun 18, 2020

I have a mouse with a touch surface -- unfortunately the driver doesn't work with Windows 10 :-( ....
I can use all kinds of movements: scrolling up/down works, but other things do crazy things by accident which I'd like to deactivate or change. In fact the mouse receiver seems to emulate two things: a regular "mouse device" and a "keyboard device" with which certain actions on the mouse simulate certain keystrokes. It would be great to be able to reconfigure all of that ....

@ParadoxV5
Copy link

+1 My mouse’s driver is bugged that it reads the middle button as the left button every time I wake my computer up from sleep.


For contribution, do mouse buttons have a similar codebase as keyboard keys at some low-level? If so, we can achieve this by simply supporting mouse buttons in our keyboard remapper.

@favna
Copy link

favna commented Sep 15, 2021

+1 on this. I recently got a new (vertical) mouse for work and the company's software is pretty trashy, it doesn't actually work at all. All I want is just remapping 1 button to Control+W which is what I'm used to from my Corsair mouse on my personal desktop.

@acorey0
Copy link

acorey0 commented Oct 29, 2021

+1.
I use two mice, and need them to have different mappings: The one on the left of the keyboard should have the left and right buttons swapped. (I'm not using multiple pointers; I just use whichever hand is free, holding the mouse on that side of the keyboard)

The mapping should also work sensibly across remote desktop. That means Powertoys doesn't need to be running on the server, and if it is running, it won't interfere with the remapping done on the client. (So I can remote to a shared account on a VM, or to my other PC that also has two mice, or to my PC from someone else's PC that just has a right-handed mouse, etcetera - and get the expected mappings)

IntelliPoint does this nicely, but only if the left-hand mouse is a model that it supports. That's a problem because it is no longer maintained.
Windows' "swap button" setting does not support per-mouse settings, and does not work with remote desktop.

@goolyuyi
Copy link

goolyuyi commented May 5, 2022

+1
my trackball mouse has 10 extra buttons, but the driver is conflicted with wintab driver, so I can't use it

@brandonwsaxe
Copy link

Forgive me if cross-posting is not allowed.

From #20993 (comment)

I, too, would like this capability. I have an AutoHotkey script that can do this, however, it does not work when connecting to remote desktops nor VMware Horizon VDI remote desktops. I assume it's because the Remote session software grabs the keyboard and 'owns' it so other hooks don't get fired. I tried MouseKeys. It works ok. I can live with it. Again, however, it does not have the ability to scroll. I need a mapping that works at the lowest level possible so that I can use the keyboard to navigate universally across tools. I am suffering massive RSI and found that using keyboard alone is alleviating much of my issues. PgUp and PgDown keys are not good enough as they move the cursor and aren't truly equivalent to scrolling. E.g. using PgUp and PgDown in Outlook doesn't scroll. I should be able to just hover over my email list and 'scroll' with the keyboard in this use case. Just like a mouse would.

I think this ticket should be reopened. I'm soooo close to having a keyboard-only setup working and this one is the remaining nagging pain point.

I've even used Gopher360 with the Xbox One controller for PC and it works for scrolling. What's interesting is that it also works in all the apps I've tried, even Remote Desktop software. I don't have any skill with driver code so I wouldn't be able to take the Gopher code and do something myself. But the Gopher code shows this should be doable.

@samrobley
Copy link

Any progress on this one?

@Jay-o-Way
Copy link
Collaborator

Fun fact: if somebody happens to have a compatible keyboard and mouse, then the MS Mouse and Keyboard app allows for many customizations.

@menawi
Copy link

menawi commented Mar 18, 2024

+1 same here please
mouse: logitech mxmaster

@JEFF-LIU-me
Copy link

JEFF-LIU-me commented Mar 22, 2024

+1 ... especially if it enables my favorite use case:

  • A) modify mouse buttons (similar to Ctrl + Scroll Up/Dn)
  • B) use mouse buttons as modifiers

This could transform basic 5-button mice into 20-button mice, 20-button mice into 380-button mice -- up to n! buttons in theory, but maybe ~n(n-1) buttons in practice.

Examples:

  • [Tap] right click = right click (normal behavior)
  • [Hold] right click + [tap] <any key> = <any>
    • [hold] Right click + [tap] scroll up/dn = zoom in/out, volume up/dn, cycle tabs, cycle windows, or...
    • [hold] mouse button 4 + drag cursor (create selection box) = take screenshot (rectangle), extract text from selection, etc...

@auriuman78
Copy link

auriuman78 commented Apr 25, 2024

I use powertoys for just about all my enhancements except CAD with a touchpad. It would be INCREDIBLE to be able to use the 'right alt' as a substitute for the mouse middle click, seeing how a laptop touchpad has no middle click and middle click to pan/orbit on drawings is a HUGE time saver. It literally saves me 10-15 seconds per iteration, and sometimes that can be upwards of 10 iterations per modification, depending on the mod and drawing size, just to rotate and pan perspectives to confirm the drawing addition or mod is acceptable.

So all I really need is the ability to turn this feature on (say with a shortcut like Win-Shift-R/Alt), then have my R/Alt key available as a middle mouse click, until I disable it again thru the power toy panel or that cool shortcut like Win-Shift-R/Alt.

I HATE to install another 'powertoy' app to handle this feature (aka AutoHotKey) when I believe that the Keyboard Manager feature of PowerToys, which I've already got installed and use, would be capable. I know... icing on the cake. I am not opposed to a small dev fee in order for this, need be. IDK about anyone else but that seems reasonable to me.

@Jackihio
Copy link

Currently I decided to take options+ of logi away from my tools box for the fact that it is a crap causing so much trouble. It just keep collapsing and won't even let you export the setting. I got 2 severe collapse that every setting is gone, and there is some random small collapsing that specific setting for certain program disappear. So Im moving to AHK2, which give more customize power to user and it is basically portal and never heard people complaining the collapse of script.

The problem here is that AHK2 don't recognise the extra key I got for MX master 3S. A easy to remap mouse is 100% needed to resolve the issue.

@pota2dev
Copy link

Currently I'm using auto hotkey for remapping mouse buttons. I wish PowerToys implement the ability to remap mouse buttons.

@TrevorSquillario
Copy link

AHK is too complicated, vendor provided software is never any good, PowerToys is great. Sounds like the perfect feature to implement!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Idea-New PowerToy Suggestion for a PowerToy Product-Mouse Utilities Refers to the Mouse Utilities PowerToy
Projects
None yet
Development

No branches or pull requests