Which mouse buttons on a Mac can actually be remapped
Per-model button slots and USB IDs, generated straight from the recognition list inside LinguaX. Useful before you buy a mouse, and for settling arguments about what a given model exposes to macOS.
Logitech and other mice: button slots on macOS
Every model below is recognised by USB ID, which is what unlocks named slots instead of raw button numbers. Filter by brand, or follow a model through to its setup guide where one exists.
| Model | USB ID | Mappable slot configuration | Slots |
|---|---|---|---|
G102 LIGHTSYNC Logitech | 0x046d:0xc09d | S1S2TM | 4 |
G305 LIGHTSPEED Logitech | 0x046d:0xc53f | S1S2M | 3 |
G502 HERO Logitech | 0x046d:0xc08b | S1S2TMWLWR+3 unnamed | 9 |
G502 Proteus Spectrum Logitech | 0x046d:0xc332 | S1S2TMWLWR+3 unnamed | 9 |
G502 X Logitech | 0x046d:0xc099 | S1S2TMWLWR+3 unnamed | 9 |
Logitech | 0x046d:0xb031 | S1S2TM | 4 |
M585/M590 Logitech | 0x046d:0xb01b | S1S2MWLWR | 5 |
M720 Triathlon Logitech | 0x046d:0xb015 | S1S2TMWLWR | 6 |
M750/M750 L Logitech | 0x046d:0xb02c | S1S2TM | 4 |
MX Anywhere 2 Logitech | 0x046d:0xb013 | S1S2MWLWR | 5 |
MX Anywhere 2S Logitech | 0x046d:0xb01a | S1S2MWLWR | 5 |
Logitech | 0x046d:0xb025 | S1S2MSM | 4 |
Logitech | 0x046d:0xb037 | S1S2MSM | 4 |
MX Master Logitech | 0x046d:0xb017 | S1S2TMSMWLWR | 7 |
MX Master 2S Logitech | 0x046d:0xb019 | S1S2TMSMWLWR | 7 |
Logitech | 0x046d:0xb023 | S1S2TMSMWLWR | 7 |
Logitech | 0x046d:0xb034 | S1S2TMSMWLWR | 7 |
Logitech | 0x046d:0xb042 | S1S2TMSMWLWRAR | 8 |
POP Mouse Logitech | 0x046d:0xb030 | TM | 2 |
Surface Precision Mouse Microsoft | 0x045e:0x0823 | S1S2M | 3 |
DeathAdder V3 Razer | 0x1532:0x00b2 | S1S2M | 3 |
Viper Ultimate Razer | 0x1532:0x007b | S1S2S3S4M | 5 |
Magic Mouse 2 Apple | 0x05ac:0x0269 | no mappable buttons | — |
- S1
- Side button 1
- S2
- Side button 2
- S3
- Side button 3
- S4
- Side button 4
- T
- Thumb button
- M
- Wheel click
- SM
- Scroll-mode key (ratchet / free-spin)
- WL
- Wheel tilt left
- WR
- Wheel tilt right
- AR
- Actions Ring
Slots are named positions rather than raw button numbers, so the same mapping recipe works across mice in a family. A few models expose extra buttons that have no named slot — those are counted but shown as “unnamed”. Magic Mouse 2 is recognised but exposes no mappable buttons; macOS drives its touch surface natively.
How this data is determined
Slot configuration: a fixed per-model definition
Which physical inputs a mouse has, and what each one is called, is fixed per model. It is not something software can interrogate the device about — it is a definition maintained against real hardware, which is why this is a table rather than a live probe. The USB IDs in the second column are exactly what the app matches against.
Why DPI and scroll-mode support are not listed
Those capabilities are established when the mouse connects, by asking the device what it supports — not by looking up the model. Two units of the same model on different firmware, or the same unit over a receiver versus Bluetooth, can answer differently. Publishing a per-model yes/no column would therefore be guesswork presented as fact. The app finds out at connection time; a static page cannot.
Keeping it honest over time
This page is generated from the app’s own recognition list by a sync script, which also has a check mode that reports any disagreement between the two. When a model is added to the app, regenerating is a one-line command — so the table is never a hand-typed copy that someone has to remember to update.
Frequently asked questions
What is a “slot”?
A named position on the mouse rather than a raw button number. macOS reports side buttons by index, and those indices differ between devices and even between connection types. Naming them — S1, S2, T for the thumb button, SM for the scroll-mode key, WL/WR for wheel tilt — means one mapping recipe works across every mouse in a family instead of being tied to one model.
My mouse is not listed. Does that mean it will not work?
No. Smooth scrolling, pointer speed and click-based side buttons work on virtually any USB or Bluetooth mouse through the universal HID engine, with no driver. Being on this list is what additionally unlocks model-specific handling: the thumb button, the scroll-mode key, wheel tilt as discrete buttons, and special keys. Models are added on a rolling basis.
Why is there no DPI or SmartShift column?
Because there is no honest per-model answer. Support for adjustable DPI and scroll-wheel mode is discovered when the mouse connects, by asking the device what it implements — it is not derived from the model name, and it can differ with firmware revision and connection type on the same model. A yes/no column would be guesswork dressed up as data, so this table does not have one.
Where does this data come from?
It is generated directly from the recognition list that ships inside LinguaX, not compiled by hand. USB IDs and slot configurations are exactly what the app matches against, and the same sync script has a check mode that flags any drift between the two — so this is never a hand-typed copy going quietly stale.
Magic Mouse 2 is listed but shows no slots. Why?
It is recognised, but it exposes no mappable buttons — there is nothing to remap. macOS already drives its touch surface and gestures natively, so LinguaX deliberately hides it from the device list rather than showing an empty configuration screen.
How do I actually map these buttons?
Install LinguaX, connect the mouse, and it appears with its named slots already detected. Each slot accepts click, double-click, long press, four-directional swipe and modifier-hold, so one physical button can carry several actions. macOS 13+, ~10 MB native, 30-day free trial.