74 comments

[ 2.8 ms ] story [ 149 ms ] thread
As someone who's used tiling WM's for years this confuses me. How I use my trackball? I don't outside of having to access something in Firefox that vimium isn't allowed to touch.
I was half expecting a very short entry basically saying "Well, most of the times, I don't."
And there's always keynav to close the gap, too:)
I dunno. As another person who's also used tiling WMs for years, I find the mouse to operate in a different model, and I wish it was played with more. Like how in Acme you could select arbitary text, press the middle mouse button and it'd be sent off to the appropriate handler.

Keyboard UI tends to be verb first. E.g in Vimium if you want to open a link in a new tab you press F to start the "Open in new tab" command. Then it lists the links you can open in a new tab for you to select from.

Whereas mouse UI tends to be noun first. E.g you see a link, and right click it to list the commands. You then select the "Open in new tab" command.

I think the reason for the difference is that the mouse can reach an arbitrary location easier than a keyboard, but once it's there it has much less options to continue.

For me, this means that the mouse is more exploratory, and the keyboard is more task oriented. If I'm toying around with ideas the mouse works better, but if I have something specific I want to do you can't beat the keyboard.

Writing this I've realised that I could repurpose the underutilised side buttons on my mouse as modifiers :p Hold top thumb button: press left click to go previous window, right to go next; hold bottom thumb: press left to go to previous workspace, right to go to next. Could have top thumb + mouse wheel for volume (and middle click for mute). I guess bottom middle could open a radial menu of commonly used apps/commands :)

I use Surfingkeys, it's similar to Vimium, but the experience of opening links is a lot better than what you describe (I haven't used Vimium, so cannot tell). "Clicking" a link is two key presses, maybe three, if there are a lot of links on the same page. If it were a contest, I'd probably be able to open links faster than someone using their mouse, but this being a relatively infrequent activity doesn't really need to be that fast.

On the other hand, things like Surfingkeys, accidentally, sometimes allow me to circumvent bad design of a Web page, like when there's text you wouldn't be ordinarily able to select by dragging your mouse (because it responds to mouse events and changes etc.) this is still usually possible with Surfingkeys. (Without it, you'd have to "inspect element, find the element with text and extract it from there). Also, often times I can use this extension to scroll things that you wouldn't be able to scroll with mouse (again, due to bad Web page design).

Mouse only wins in situations with NIH GUI elements, esp. s.t. require drag-and-drop (volume adjustment on video clips), or controlling built-in elements (like this text area) to resize them (which is really just a browser defect in accessibility, but hey, most of the time I have to use Web, I have to overcome the incompetence of the people building it, thus the selection of tools).

Surfingkeys looks pretty similar (though I have yet to try it); I'm just describing the experience poorly. You press f, little labels show up on the links (I called this "listing the links"), and you then press the keys on the label (the "select from" part). Probably me using the open in new tab command F (as opposed to open in current tab command f) did not help.

Not saying it's a bad experience. I find it's quite nice if I'm currently looking at the correct link so I can get the letters from the label easily.

It's just a different paradigm. If I didn't know what a link was, I wouldn't know that I could press f to open the link selection. This means I can't select a link unless I had a "select unknown" button, and then use that to inspect it.

Select unknown can be done with the keyboard: Emacs' embark[^1] is a good example of it. You use search/arrows to go to an interesting piece of text (e.g something underlined), run embark, and it lists all the potential things you can do with it (e.g open in external browser, or download an archived copy). It's just that keyboard UIs do not tend to be geared around it.

That though is the sort of thing the mouse is good at: you see something interesting, you prod it to see what you can do with it.

Say you saw a phrase you didn't understand in the browser. Currently, with a mouse you'd highlight it, right click, and then select the search with search engine option. With keyboard you'd open the search engine, and enter the phrase. Both get you to the same place.

Now if we extend the mouse to have a "I would like to know idioms better" option. You could just select the phrase, right click, and a definition could be there waiting for you next to the context menu. It could even be there on hover.

With the keyboard though, you'd generally run an "I would like to know idioms better" command. This would then ask you which idiom on the page would you like to understand. You then select it, and presto. A faster version could potentially have idiom meanings show up the moment you ran the command by a similar hover effect (or just listing all discovered idioms in a popup etc).

One of the differences here though is that from the mouse you still have a list of actions on the text open, so maybe if you liked the definition you could then copy the phrase.

This certainly could be done from the keyboard UI: just have it list other applicable commands that could be run on the selection generated from the command that searched for phrases. No reason why it could not then spawn something asking if you wanted to "(c)opy, c(u)t" etc like the context menu.

But that is only visible because there was a phrase you didn't know. If you didn't know that there was a command to define phrases, you wouldn't have found out. In theory you could have commands register everything they could act on, and then have another command let the user select an interactive thing, and list the commands that registered for it. I think that would be overwhelming though, as something like a dictionary command would register for every word.

Ultimately the mouse is just different then the keyboard, and I think that there is interesting potential in having a tool that can interrogate arbitrary things on your screen.

[1]: https://github.com/oantolin/embark

> You press f, little labels show up on the links

Yeah, that's how Surfingkeys works too more or less.

What you are saying is that you need to learn to use this interface in order to be efficient with it -- this is pretty much the story of any human activity, any tool ever. Whatever you learn how to do, you get simplified tasks and more forgiving tools. It's very rare that you'd keep the same tool and the same approach if you keep specializing in something. So, I don't see it as a problem. Yes, you need to learn, yes, because knowing how to do something more efficiently is worthwhile?..

> Currently, with a mouse you'd highlight it, right click, and then select the search with search engine option. With keyboard you'd open the search engine, and enter the phrase. Both get you to the same place.

Nope. That's not even close to how it works. With Surfingkeys, when I look at a phrase / word that I want to look up in a search engine, I can do this:

1. Press "v", and do the Jedi-jump style navigation to select the beginning or end of the text I'm interested in (i.e. it will take another 1-3 key presses). 2. Press "v" again to enter visual selection mode (similar to Vi's). 3. Use Vi's navigation commands to select the text of interest (again, another 2-3 key-presses). 4. Press "o" to search in default search engine (but there are also bindings for other engines, or I could select them by name w/ auto-complete. Or, I could press "y" to copy selected text and paste it elsewhere (also outside of the browser). Or, I could press "t" and paste it into Google Translate text box in a new tab etc.

This also works for all kinds of "unselectable" texts (eg. in GMail, the email title is not normally selectable with the mouse because instead it will try to open it). With Surfingkeys I can select the title of an email w/o opening it in GMail.

Another benefit is precision. I don't need to pay a lot of attention to the mouse pointer's position. If I know what text I want to select, I can do it with my eyes closed, or, more likely, looking at a different place on the screen which may require my attention at that time. Not that useful with selection, but is very useful with search / when I need to fill a bunch of forms, and I need to look at the original when searching for the corresponding text in my copy.

> It could even be there on hover.

With Surfingkeys you hover by pressing C-h. See the steps above for how to focus the element of interest, and then by pressing C-h you'd invoke the mouseover event. This also beats mouse interaction for elements that are hidden or partially hidden by other elements on the page due to bad / broken layout.

Interesting, I probably need to learn jedi jump. I do feel like there's a class of nagivation I don't use. What if I wanted to select from your message (with the cursor at the start of it):

> again, another 2-3 key-presses

I guess atm, I would do `/again<enter>nvi(`. That's based off the fact that I don't think "again" shows up much in the text, and I can jump quickly between instances via `n`. Then once I'm there I realise that the rest in in parens, so I go for `vi(`. In retrospect I should have searched for "again," as the comma is even more specific.

It's funny: "Another benefit is precision. I don't need to pay a lot of attention to the mouse pointer's position." is close to an argument I'd make for the mouse. I think that might be because when I'm thinking, I idle with the mouse, higlighting things that look interesting to me etc. So when I want to move forwards, it's pretty close where I want to be. If I had to select something via keyboard I'd have to look for distinct markers to work out if I can do something like `vi(`, whereas the mouse lets me do fuzzy visual matching (acme would. This is only for mouse though, my touchpad/trackpoint is less precise.

My point was not that I think the mouse is better then the keyboard. My point was that I think the mouse tends towards a fuzzier exploratory mode, and the keyboard tends towards more focused execution modes. Even if you like one mode more, there's no reason not to improve the other.

Now after writing all this, I'm not sure that's correct as I can think of other exploratory keyboard UIs that work (e.g Norton Commander style file managers).

I do still think that there is no reason not to improve your mouse experience, a nd that it does have untapped potential. Acme editor has this thing where you can just right click a word, and it'd jump to the next instance of that word. No selection needed. So if you're reading some code and see an interesting variable you could right click to see where it's next used. This of course assumes you have your hand on a mouse already, which in the case of Acme you probably do as it has a heavy mouse focus.

Hover was a terrible example though. I hate having things appear during hover. I was just trying to think through what the least interaction would be, and you're quite right that if you can focus via keyboard easy it'd also be easy to get hover.

----

A weird thought came to me during this: what if the vimperator/vimium/surfingkeys link selector was ported to the mouse? You could hold down the left mouse button, and this would label all the links with numbers, and highlight number 1 (or 0 if you prefer). Then when you spun the mousewheel down it'd move to the next one. Spinning it up would go to the previous link. Finally when you released the left mouse button, it'd open the selected link.

So how it'd play out is you'd hold left, see you want link 11, spin the mousewheel that many times, and then release. I suspect you'd learn how far the numbers feel over time, so it'd get fairly precise (and you can adjust by spinning back).

No idea how practical it'd be.

I have an MX2 and MX3, which work about the same.

Side wheel is mapped to switching desktops, which on Mac is a nice, smooth animation that follows the wheel, on Windows it's acceptable instant switch and on Linux I haven't tried it yet.

Back button stays as is, it's helpful. Forward button and scroll mode buttons can be remapped and I'm still considering the options. Emoji menu is an option, because I always forget the keyboard shortcut across platforms. Base button is the gesture control from Logi Options+, but I barely used it because I find it a bit unergonomic.

Work daily on a Mac and use a mouse and trackpad simultaneously, I find the trackpad the quickest for navigation but need the precision of a mouse. Wonder how a setup similar to this would go instead of the trackpad.
This is great. Customising extra mouse buttons for day-to-day computer use is underrated.

I mapped the two side buttons on my mouse to switch virtual desktops, and now I can't live without it. Switching desktops is a three-fingered swipe away on a laptop trackpad, why shouldn't it be as immediate with a mouse?

For my home theatre PC (i.e. the intel NUC that's plugged into the TV for netflix), the wireless mouse that's sitting on my coffee table has its side-buttons mapped to volume up/down, which is important - the wireless keyboard has prominent volume controls, but avoiding switching to the keyboard is extra useful in this context.

I like my current mouse (microsoft intellimouse), but the prospect of adding three further buttons in addition to the two side buttons I already have, and the realisation that the escape key, specifically, is one of the major drivers of mouse-to-keyboard switches, is making me consider switching to the one in the OP. Though being ambidextrous is a drawback - the intellimouse is an excellent shape.

This is great! It really makes me yearn for a VIA like application to rise to popularity for mice. I still have trouble doing any kind of software anything with almost all popular modern mice on linux. There's an open razer app that's popular, but I think that's maybe it? I had a Glorious mouse for a long while I loved, but couldn't do a thing with it software wise.
I enjoy write-ups like this! Decided to illustrate mine similarly, just now:

https://imgur.com/pmMtCG2

It's very geared towards browser (over-)use. Rest of the time, I'm in a terminal with minimal mouse use besides select/copy/paste stuff.

I have a Logitech G600 and my most used remapped keys are hotkeyed to:

Ctrl + Tab (next tab)

Ctrl + Shift + Tab (previous tab)

and Ctrl + W (close tab)

... it's so so useful to be able to flick through browser/code tabs and close them all from my mouse.

I see a good unused 3-button combo on your screenshot that could be good for these bindings, even if they are a bit awkward to click :P

Some other oft-used hotkeys are my ShareX Screenshot hotkey (ShareX is awesome. Windows-only though), and a hotkey I set up to handle the StreamKeys extension so that I can play/pause YouTube, Twitch etc. with my mouse (works better than just media hotkeys in my experience).

Those are regularly used hotkeys as well, I just have the left hand there on the keyboard all the time. Those are certainly in the category of easier to reach from home position than [esc, enter, backspace, F5]

I'm also a modestly heavy user of AHK, as well. Though for mouse things, the UX of Logitech's mouse button remapping is definitely nicer to deal with. (as commented elsewhere in the thread)

Loved that, looks advanced, and you also map Esc!
I use something very similar with Logitech devices and can't imagine my life without it.

One thing I'll add, IMO it makes way more sense to map "forward" button to "Enter". Esc is already easy to reach if you keep your left hand on the left side of the keyboard.

I've been using MMO-style mice to do similar things for a while.

Logitech's G-whatever software is kind of annoying, but one thing I _do_ like about it is it'll flash the configurations directly onto the mouse. This avoids needing to do any special config in the OS.

I use their tool on Windows to just flash the mouse once, then I can use it on any machine and all my custom key-binds and macros "just work".

Logitech has a mouse firmware tool you can run specifically to program the mouse without needing to load any of the bloated software. It's a standalone portable utility.
I went a different direction recently, i ditched the mouse and instead bought a lower-end Huion graphical tablet. I do pretty much everything with the keyboard, but while thinking about things i much prefer sketching ideas and taking notes by hand over e.g diagrams as code.

It has only been a couple weeks and im still getting used to using a digital pen and what combination of software to use, but pretty happy so far with the experience.

That’s pretty interesting. I’d love to use one for art, but it always seemed like another clunky thing I needed attached. I didn’t consider using it INSTEAD of my mouse. Also, one of them has a scroll wheel, which is relatively important to my browsing habits. Maybe I’ll try this out. I’ve got an old Wacom around here somewhere.
I'm headed this way, too, minus the tablet. As my joints are getting older, I'm finding the hand movements involved with using a mouse or trackpad to be more and more painful. I've been trying to go keyboard-only, but it's incredible the number of applications these days, not to mention the operating system's UI, that require the pointer because they don't have keyboard shortcuts (or even a way to use the keyboard) for more and more application functions.

I remember DOS applications and many early Windows applications could be navigated entirely by keyboard. I think Microsoft's developer docs once strongly urged developers to not make things mouse-only because 1. people may prefer the keyboard and 2. not everyone has a mouse.

The web is even worse. So many web sites can't even seem to grasp the concept of tab-ordering, let alone support keyboard-only operation.

There's a couple keyboard oriented web browsers that make things a tad better. Qutebrowser for example. There's also extensions for Firefox.
I use a Razer Naga MMO mouse for work, it has 12 buttons on the side and I bind all kind of things on them. Run/Debug, Hot Reload, Volume Up/Down, Back & Forward etc.

There's a 3rd party tool for MacOS called SteerMouse, that let's you configure everything without ever touching Razer software (shudder).

I'm always looking for a non-gaming focused alternative, with a maybe a bit more slick industrial design, but sadly there are none, so I think Razer is currently the best on the market.

> I use a Razer Naga MMO mouse for work, it has 12 buttons on the side and I bind all kind of things on them. Run/Debug, Hot Reload, Volume Up/Down, Back & Forward etc.

That’s my setup as well, and it is amazing. I really recommend it.

> There's a 3rd party tool for MacOS called SteerMouse, that let's you configure everything without ever touching Razer software (shudder).

Which is just as good, as Razer’s software is not updated anymore. Newer mice are not officially supported. SteerMouse is great, though, even with the newest models.

> I'm always looking for a non-gaming focused alternative, with a maybe a bit more slick industrial design, but sadly there are none, so I think Razer is currently the best on the market.

The Logitech G604 was great, I liked its ergonomics better than the Naga and it was visually unremarkable (all black with no blinking RGB nonsense). Sadly they don’t make it anymore. But I don’t complain, the Naga I have is not too distracting either.

I haven’t seen a non-gaming mouse that could be comparable in terms of functionality. The closest I have tried is the MX Master: the side scroll thing is interesting (particularly for 3D visualisation as you can entirely control a camera in a 3D space just with the mouse, leaving the other hand free for other controls) and the device is well built and satisfying to use, but does not have enough buttons.

They still make the g604. One feature I like is it'll connect via USB, Bluetooth, or their own dongle which gives you higher refresh rate and better reliability than Bluetooth.
It’s not on their website anymore, and most stores here don’t have it (including Amazon) and those that do sell it for €150. But yeah it was really good.
On macOS, I use SensibleSideButtons to map my Logitech mouse side buttons to Swipe Right and Swipe Left. This works as a generic Forwards/Back in lots of places: Safari, Firefox, Finder, iTerm2.

Unfortunately the app appears to be abandoned (no Apple Silicon builds), but if there's interest I will resurrect it.

https://sensible-side-buttons.archagon.net

Isn't this functionality covered by Karabiner?
That’s overkill just for the side buttons, though. I feel bad every time I need to tinker with Karabiner because I don’t think I understand half the options.

To me, SteerMouse is more user-friendly and less intimidating. It might or might not help solve the OP’s problem, depending on the mouse model. Worth a try anyway.

Checkout SaneSideButtons, works on Ventura/M1.
I use this! And didn't know it was unsupported on M1+ since I'm not on that yet. Please keep it alive!
I use an Elecom Huge[1] trackball, it's got a few extra buttons that I've mapped with SteerMouse[2] (excellent MacOS Mouse Driver tool) and BetterTouchTool[3] on macOS to provide window and space management/switching:

It has: Left click, Right Click, Scroll wheel press, scroll wheel tilt down, scroll wheel tilt up, back, forward, fn1 and fn2 by the wheel, and fn3 right next to the right click.

- Scroll Wheel Press and Fn3: are set to middle click (for some reason, in my setup, fn3 can't always be the third mouse depending on context... it's annoying).

- fn1: Expose

- fn2: Application Expose

- hold fn3 + tilt down: previous space

- hold fn3 + tilt up: next space

- back/forward: set to move backwards and forwards or swap tabs depending on the application (customized with BetterTouchTool per-app)

- Bonus: Easy Move + Resize [4]: I hold my configured Hyper key (left control on my external keyboard, karabiner configured to be cmd+option+control+shift) and left-click to move, right-click to resize

[1]: https://elecomus.com/web/product/3271/

[2]: https://www.plentycom.jp/en/steermouse/

[3]: https://folivora.ai/

[4]: https://github.com/dmarcotte/easy-move-resize

Thanks for sharing, I've been looking for another trackball to try besides logitech's and microsoft's.
They're pretty good, I have the wireless model and wish I had gone for wired; some of my setups have had some interference that has impacted its range, other setups have been fine though.
Ok, thanks for following up. I have added one to cart. I like to have both wireless and wired so I think I'll try out the wireless and see how it fits.
I love my CST L-Trac but sometimes I wish I'd gotten the version with the extra button inputs to setup some extra keybinds.

Alternatively I've finally become used to having a magictrackpad2 and gestures. And thank you other devs[1] for someone getting it working on Windows x86/ARM64 builds as well. Next step is trying to find out if I can get it working fully under FreeBSD.

[1]https://github.com/imbushuo/mac-precision-touchpad

I have two CSTs. One has the extra buttons. I used them for a command key under my palm. I don't use them anymore. Too many wires for too little bang.
I'm surprised how few people seem to use the wheel as a middle-click button (eg, to open new tabs).

When I switched to a Logitech MX Anywhere it had no middle wheel click. I thought this was an absolute scandal - wasn't everyone using this!? Apparently not.

Amazing how some things we think are the status quo turn out not to be.

I use middle mouse button (MMB) all the time! To open links in new tabs, close tabs and windows (i.e. MMB-click an app shown in the Alt-Tab menu), or hold to scroll.
One more middle mouse button user here.

It's usually the first thing that stops working on my mice.

Also I love it that ThinkPads still have 3 physical mouse buttons over the touchpad, so I don't have to mess with the gestures or hold down Ctrl to open links in new tabs.

(comment deleted)
Does it really not have the middle wheel click? This screenshot [0] seems to show it does, perhaps it’s not the default and needs to be configured in the software? (My MX Master 3 certainly has a clickable mouse wheel, and I use it quite often.)

[0]: https://cx-assets.logi.com/CC%20Graphics/OptionsPlusUI/4_Opt...

I have an MX Anywhere 2S, and it has a middle click (but not middle wheel click), but it is weird.

Depressing the wheel switches between smooth and ratcheting.

Beneath the wheel is a small button that is middle click. But it feels unnatural compared to the MX Master 2S I use with my desktop.

Mine wore out on my Logitech G300s after using it for camera movement in Dota. I'm hesitant to buy another one now because I realize that the mouse wheel switches are probably not built with as long an intended lifespan as the main buttons.

I haven't found any other mouse that has this shape/size and button options, so I might just have to buy a few (in case they stop making them), assuming the middle mouse button will die again. But Roccat mouse in the OP looks close. I also should look into if the microswitches can be replaced or even upgraded.

too difficult to click on many mice without also moving the wheel, imho.
I believe this should be higher. I’ve yet to find a mouse where you can consistently click the wheel without moving it a notch.

It’s so bad on my current mouse that when I have a game or something that requires a click, the wheel will register 4 out of 5 times, with only 1/5 I can actually register a wheel-free click.

On my old MX Revolution, middle click was the switch between it indexing and free-wheeling...and also sometimes registered as a click/key, e.g. - I played games when I had it - 'stab with knife' in the Battlefield of the day; more obviously it was also the zoom in scopes that supported it, so I'd find myself stabbing the air to get it in the right mode when trying to use it as a sniper...
I hate being without a middle mouse button, but pushing down on a scroll wheel is not the solution—it often triggers a scroll or tilt which sucks. Middle-mouse buttons are super useful in CAD / GIS or 3d modelling domains for panning.

I even use BetterTouchTool to create a tap zone on my track pad to emulate a 3rd button (and a few other gestures, like top right to middle to right edge to send a CMD-W and rotating [two fingers in opposite directions] to switch tabs left or right/back or forwards).

> pushing down on a scroll wheel is not the solution—it often triggers a scroll or tilt which sucks.

This is my complaint about the wide adoption of the IntelliMouse design, which replaced the previously-common middle button with the clickable wheel. It always imposes at least one of these problems:

- accidental clicks

- accidental wheel movement

- accidental mouse movement

- hard on the wrists

- wears out too early

It's such an awful substitute that, when forced to use most wheel mice, I resentfully give up on middle click actions (which I normally use a lot).

Fortunately, there are a few mice with both a wheel and a middle button:

- 3Dconnexion CadMouse Pro

- Logitech G600 (requires remapping w/ ratbagctl)

- EVGA X15 (I think)

It really does have middle click - but yes, not on the wheel.

See this image: https://www.gottabemobile.com/wp-content/uploads/2017/06/log...

On the left image, the lower, centered circle above the green light highlights the middle click.

I'm using one right now, and I can click it to open links in a new tab (by default with no changes in software.) Works in Firefox under Linux Mint and Windows 10.

(comment deleted)
I use my middle mouse so much that I have it bound to a side button for easier use.
I didn't add a description to the mousewheel because I thought it was obvious it's super useful. I use it to close stuff, open links in a new tab, and of course gaming. Also with the Kova I get no problem about the wheel moving while actuating the button, it doesn't scroll.
I wonder about linux.

After playing computer games, why is mouse and keyboard customization so vanilla?

It would be really nice if they keyboard and mouse could be highly integrated with the window manager and apps.

I mean as a first-class function, not sparsely populated keyboard/mouse settings, or some external utility.

Coming from infra / system, most people I work with are the kind that use Linux both at work and at home. Of course, my selection is biased... but, those Linux users I met don't like fancy DEs. The less functionality a DE has -- the better. And, frankly, if Web wasn't so unnecessarily complex and so tied to just two programs that only come in GUI, I wouldn't even run a DE. And so would a lot of people I know.

Also seeing how every bit of Linux configuration sucks, has layers of nonsense and brokenness... I just don't want another utility that screws up with my input devices. It's painful already as it is.

I appreciate them publishing their setup - but I do find somethings questionable to my taste. But my taste is irrelevant, what's cool is that it works for them. I really love using my MX Master mice (I think I've had one of every generation) and the flexibility it affords makes using the computer so much better to my eyes, much like this person gets with their Kova.
I only really use mouse when playing video games. I don't play competitively, but still am relatively good at end-game contents. I only use mice without side buttons. There's nothing like a frustration of accidentally pressing useless buttons when you are doing complicated game mechanics and have something unrelated happen, like popping some dialog that wants you to adjust sound volume or some other nonsense.

In work-related settings, sometimes I need to use my mouse when using virt-manager, when I have to do something with some GUI elements of the company's product, but that's exceedingly rare. Most of my work has no use for mouse at all.

Sometimes, I see people editing text with mouse, and it's the same feeling you get when you watch someone play chess or some other board game, making a wrong move. It's really hard to resist the temptation of showing them how to do that thing they are doing, but better.

Similarly, none of the things OP is programming their mouse to do are things I'd ever want to use, eg. I don't have a window under cursor because I don't use a windowing DE, I don't need to swing my mouse in shapes to switch desktops: I have no need for that feature either / it's not a thing with tiling DEs. The way OP describes using their computer just sounds painful to me.

I mean, I was hoping to find some sort of use for the mouse in my daily life, but this article further convinced me that it belongs with the rest of the gaming gear.

I'm usually surfing the web and generally interfacing with my computer with my hand on the mouse. So it makes sense to me to pack that device with actions. I also use a tiling wm (awesomewm) but I turned it into a windowed wm with rule-based tiling.
G604, 15 buttons. Love it.
I’m a fan of mapping mouse buttons to forward/back navigation, copy/paste, and next/previous tab (ctrl-tab and ctrl-shift-tab in most browsers).
I used to do stuff like this with a mouse with a lot of buttons. It feels kinda cool for a while.

Nowadays I'm using a tiling wm and I dont even use a mouse unless I'm playing a shooter. It's a game controller for me. Some graphical applications are built around a mouse unfortunately, so I use my touchpad (lately getting used to the nub on my thinkpad) when necessary, it's not for the most part. If you write code, or find you don't really use your PC for entertainment purposes all that often, besides playing a video in VLC or something, it's a superior experience and I recommend it. It makes the machine feel less like a kiosk and more like an extension of your mind, it's a dance you do from one context to another, tasks performed like the flow of water. There's a feel to getting things done that is a lot like parkour. Even unrelated programs compose from a UX perspective very well. Operating a computer with one finger and your wrist, mentally mapping tasks to the menus they're nested in will feel a lot more sluggish and cumbersome once you get used to the keyboard focused approach to interaction. It might feel like a steep learning curve, but so is a keyboard compared to Morse code, and you wouldn't dream of typing up anything in morse code once you have a keyboard in front of you.

I would like to emphasize one point that the article mentions, but doesn't expand on, which is Mouse Gestures. Gesturefy is a wonderful browser extension! I can't recommend it enough.

Here is a blog post about my mouse gesture config, and why: https://river.me/blog/mouse-gestures/

Yep I use gestures heavily on the browser, almost without thinking.
> I don't believe in the keyboard-driven mentality

> I program the buttons by mapping them to keyboard shortcuts

It seems to me they want the same functionality as a keyboard, but on their mouse. A mouse’s primary differentiator is moving a cursor around on the screen. Everything else is button pressing. And a keyboard offers vastly more flexibility than a mouse in that respect. Not to mention the driver compatibility and ergonomic/RSI issues…

The shortcuts are just a way to easily map actions. And I guess a way to kill 2 birds with one stone by having both devices available to those shortcuts. I think both devices are equally powerful.
> First of all, I use the mouse a lot, I don't believe in the keyboard-driven mentality that tries to undermine the mouse. Although I do use the keyboard heavily, not just for typing but for shortcuts.

For me, I've generally tried to have things set up so that I can operate my computer either entirely with the mouse, or entirely with the keyboard. Generally this means a combination of Vimium and a mouse gestures plugin.

I really miss the wheel gestures that the FireGestures extension (lost in the Firefox e10s migration) had, which let you map actions to right-click + scroll. You could have the gestures bring up a menu, which could be navigated by continuing to scroll up/down while keeping right-click held, which made for a really nice UX. I had right-click + scroll down bring up a menu with the history for the current tab, and right-click + scroll up bring up a menu with recently closed tabs.

Ploopy mouse. It has QMK firmware. You can switch or cycle layers with one button, and get a bunch of extra features. I can control volume, paste plain text on my Mac, and more.

Oh and side buttons mapped to page up/down is incredibly useful too.

many gaming mice comes with this sort of functionality. with mine (g304/5), i tend to not change what the buttons do, but i use them as "keybinds" for individual programs.

middle mouse click (mouse3?) is great for "ping" functions in games, besides the opening a link in new tab ofc. the page up / down default feature of the side buttons (mouse4 and mouse5) can be bound for voice chat (push-to-talk, toggle mute), for example.