New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 221914 link

Starred by 52 users

Issue metadata

Status: Assigned
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature

Sign in to add a comment

Feature request: mouse button mapping

Project Member Reported by, Mar 11 2013

Issue description

Chrome Version     :  26.0.1410.28 (Official Build 186335) beta
OS Version         :  3701.42.0 (Official Build) beta-channel link
Type of computer   :  Chromebook Pixel

I'm using a Chromebook Pixel with an Evoluent VerticalMouse 2.  For ergonomic reasons, I want to remap the mouse's buttons.

I'd like to map virtual button 2 (wheel-click) to physical button 3 (middle mouse button) and virtual button 3 (right-click) to physical button 6 (right mouse button).

I can do that on Linux using /etc/X11/xorg.conf, and on Windows using Evoluent's driver software.  I'd be thrilled if I could do the same kind of remapping in ChromeOS without dropping into developer mode.
Labels: -Type-Bug Type-Feature Cr-OS-Kernel
Labels: -Area-Undefined -Cr-OS-Kernel Cr-UI
This isn't a kernel feature.  I guess Andrew would be the best person to decide what on support for this?

Comment 3 by, Mar 27 2013

Status: Assigned
Kuscher, can you comment on if we should do this? Technically it's not hard, it's just a question of UI work.
I seem to remember Ryan having strong feelings about this.

Comment 5 by, Mar 27 2013

I don't remember strong feelings ... but anything is possible.

Chrome has always aimed to minimize UI, as these features add up. Exposing an API for a customization extension seems the best path here (as this not so highly requested to be part of core UI), but Kuscher should make the call (adding Pramod from touch side too).
I agree. This is similar to the countless keyboard shortcut requests we get. There, we will expose an API so you can install an extension to transform your keyboard into a GermanoUnixEMacsPhotoshopGMailShortcutMonster. 

But for 99% of users it would just be more cognitive load. 

So can we expose an API so people can build extensions for things like this?

Comment 7 by, Mar 27 2013

An extension API would be fine for my use-case.

(It's clearly a power-user feature, so I can totally understand why you don't want to put it in the default UI.  But I do still want to be able to do it somehow.)

Comment 8 by, Aug 6 2013

Any update on whether/where the extension API is on the development roadmap?
I would also love this feature, as I have several extra buttons on my mouse, and right now they are all mapped to left click. If I didn't have such big hands i'd try to find another mouse that "just worked" better, but this is all i've found! I'd love a way to remap some of the keys to be more useful!
Also interested in this feature.
I would disagree this is a power user only feature, this is a ergo/accessibility feature for user who need a mouse other than the common 3 buttons.  

Vertical mouse is a common off the shelf device and most user purchase them due to need.  Most vertical mouse comes with extra buttons or roller for customization and
user would like remap or disable some of the extra buttons the mouse provided.

Comment 12 by, Nov 15 2014

Also, some mouse have more than one buttons and I would love to be able to use them in Chromebook.
I have a Logitech Anywhere MX and on Windows it's mapped for navigation with the 2 side buttons assigned to open and close tabs. I wish I could do the same on my Chromebook as 99% of it's usage is web surfing.

Comment 14 by Deleted ...@, Mar 6 2015

I also want this feature because I have some extra buttons as well that need a bit of remapping

Comment 15 by Deleted ...@, Jun 4 2015

I installed crouton on my Acer c720 to get sublime text. Ideally I would love to map "ctrl + z" and ctrl + shift + z" to my mouse. Thank you and keep up the great work Google.

Comment 16 by, Jun 22 2015

Would also love to map side buttons to (display all windows) like expose on a mac,

Would be great if we could map to any existing button or shortcut.

Is anyone working on this?
+1 to this. I'm considering getting the Pixel 2 but use the Evoluent mouse.

Is there a way to change the mapping of the mouse buttons via flags or advanced options? If not, is the API planned so we can build an extension?

love my pixel, this is one of the key missing things for me, i squeeze my mouse and it simply doesn't do what i need it too...

Comment 19 by, Oct 29 2015

I'm really used to browse chrome tabs with my Logitech wheel-side-buttons and now it' s very annoying not being able to develop an extension just to get that functionality. 

Please add extra buttons mappings so users can get the full potential out of his devices 

Project Member

Comment 20 by, Jun 17 2016

Labels: Hotlist-Google
Components: -UI UI>Settings
I've just replaced my faulty Evoluent VerticalMouse 4 with a VerticalMouse 3 rev 2 and the button mappings are all different, so I'd really love to be able to remap the buttons to stop doing the wrong things thanks to my muscle memory.
I'm using a logitech mx performance mouse and it has a button for window switching in other OS's. Obviously it does nothing in chromeos but it would be so great if it triggered the window switching (the three-finger swipe down) in chromeos. It's kind of a bummer UX to have to switch between mouse and trackpad to get the full experience.

Comment 24 by, Mar 13 2018

I also really need this. The Logitech Trackman Marble has no scroll wheel, and no middle-click button. On other OSes, you can map the "back" button to middle button to get scrolling while you hold that down and spin the ball. Impossible to configure on ChromeOS without dev mode.

On Linux you can remap:

pointername="Logitech USB Trackball"
xinput set-button-map "$pointername" 1 8 3 4 5 6 7 2 9

The default mapping is "1 2 3 4 5 6 7 8 9"

Comment 25 by, Mar 13 2018

Even if we could emulate a 3rd button by holding both buttons and moving the mouse to scroll, that would be acceptable to me at least.

Comment 26 by, Mar 13 2018

I have a MX Master mouse and one of the buttons is useless under Chrome OS.  Would be nice to be able to remap all the mouse buttons.
I have the MX master 2 and I'm having the same issue, the extra buttons on the mouse do not work in Chromebook.
Issue 814839 has been merged into this issue.
+1 to this
It would be great to be able to use the side buttons on an Evoluent vertical mouse (mine is version 4).

Right now, on Pixelbook (Chrome OS), this doesn't appear to be possible.
Re-assigning to ovanieva since similar to keyboard shortcut remapping.

@adlr, do you know if we can tell that a mouse has additional buttons?
+Dan as FYI

Bumping this up, as it's important from an a11y perspective. @adlr, any further thoughts here? 
. HID-device button/key-mapping API YES PLEASE.  
. Need vastly surpasses security risks, but security risks real.
. Ability to implement multi-key-sequence to unicode-char would be awesome
. Ability to exchange arbitrary data to modern HID-devices would be nice 


This (API for HID mapping extension) would be an excellent and needed addition.

Elsewhere, I have commented on threads wanting something akin to compose-key functionality (currently available only for US keyboard layout users).

Addresses mice, Logitech are now signposting their more advanced mice as 'windows/mac compatible' on the packaging, and their more basic mice as 'windows/mac/chrome-os compatible'.  They have created the chrome-os app for Unifying-pairing, but presumably are prevented from releasing an extension to exploit multi-button mouse config on the higher-end mice by the lack of even basic button-mapping in Chrome.

With a suitable API they (or indy extn developers) could presumably remap buttons based on current window (active or pointer-over) URLs or android app names etc.

It might even be possible for them to deploy their 'flow' multi-device in-mouse clipboard functionality; or configure HID-devices with onboard key-mapping (like the Logitech gaming mice) although I don't have a use for those.

Likewise other HID manufacturers who want to create extensions to freely up/down-load data to/from their products.  Although this is probably a bit too much to ask for an initial implementation.

Security is obviously a core issue here - anyone installing an extn that is essentially/almost a key-logger should be informed of the risk.  Maybe even restrict such extns from nefarious network xmission if possible. 


This thread is getting some attention on hackernews ( It's worth retaining an expert in 508 compliance who can certify whether this feature must be implemented to meet the specification. However, on my layman's reading of the spec, it would seem that omitting this feature, or any other feature which enables the relevant item below, may fall out of compliance.

The relevant item may be the following (possibly among others, but this stood out most readily for systems with non-closed functionality):

> 502.3.13 Modification of Focus Cursor. Focus, text insertion point, and selection attributes that can be set by the user shall be capable of being set programmatically, including through the use of assistive technology.

To be clear, I'm not a 508 expert; my reading of the text should be considered a lay interpretation, but it would appear this simple omission may potentially impact the platform's qualification for further federal, state, and e.g. public education adoption.

Relevant scoping:

> E201.1 Scope. ICT that is procured, developed, maintained, or used by agencies shall conform to the Revised 508 Standards.

> Although the original intent of Section 508 was to provide accessibility in the federal sector, it has been widely accepted that colleges and universities are subject to its requirements under Title II (

I encourage you to retain the appropriate 508-equipped expert(s) and counsel to determine whether this is a requirement which shall/must be met. I could very easily be wrong, but I've had enough tangential exposure to 508 that the relevant conversation surrounding this feature request made me curious to dig deeper.


I encourage anyone with professional 508 experience to check my assertion above and correct me if I've misinterpreted or misrepresented anything in particular.
Components: UI>Accessibility
I agree that this is an accessibility issue. We should track it as such.

Sign in to add a comment