It's really humbling and everyone should do it every now and then. An old coworker coined "mouseless monday mornings" where we'd unplug our mice(?) until lunch to start each week. We all learned a lot about how to be more efficient in our IDE's, learned tons of useful OS and browser shortcuts, observed tons of accessibility flaws in our product, and all of that during the dullest hours of the week.
One is so stupid, to learn some "useful shorcuts" which are existing only until some megacorp is going to change anything in their software (OS, IDE, browser has almost none of them). I am a huge proponent of learning touchtyping, then vim and... nothing more.
I think we're having a disconnect here. You can keep your custom settings and take them with you wherever you go. This actually also applies to your operating system (especially Linux) but I personally do not mess with them much unless it's a tiling window manager - which is another class of software that benefits greatly from setting up custom shortcuts.
Closing tab is at least 10x more rare event for me than choosing another tab, and for me doing this with cursor is handy since all the webpages suppose I have a mouse and none of them suppose I know how to surf without mouse. Choosing another tab for me is never like Ctrl[-Shift]-Tab because I have too much of them.
Windows used to be awesome at this. The norm (and expectation) was for programs to provide keyboard shortcuts for all sorts of things. They were gently surfaced right where you needed them - e.g. underlines on the menus, and accelerator key shortcuts listed beside menu items and in mouseover captions. That made them natural to learn and easy to adopt.
Then some dolt at Microsoft decided those cues were "clutter", and hid them by default.
A new generation of programmers grew up not knowing about, or not prioritizing, the keyboard.
I remember a junior salesguy once watched me use my computer for a few minutes and was blown away by the speed at which I did things.
This is one of the things that pisses me off about MacOS. Every other majot OS out there at least offers a good failsafe keyboard navigation built in to each UI component. In a pinch, the keyboard is your friend, at least until your pointing device is back up.
MacOS: lol, sorry, bluetooth settings require a pointing device to add a new one. Keyboard navigation? Sure. It worked up until this part, but we didn't bother to allow the add button to be selectable. Why? Reasons.
It wasn't on the page linked above but on this page [1] at the bottom it reads:
> To quickly turn Full Keyboard Access, Sticky Keys, Slow Keys, or the Accessibility Keyboard on or off using the Accessibility Shortcuts panel, press Option-Command-F5 (or if your Mac or Magic Keyboard has Touch ID, quickly press Touch ID three times).
To your credit, this does indeed work, but I won't retract my point. It's super-kludgy to go through everything like this, and I definitely can't leave it on all the time. I'm spoiled by the innate tab, shift-tab options of other operating systems. Ironically, when I tried to turn on the accessibility feature just through keyboard nav of Settings, I failed to get to the checkbox (there is at least a global Accessibility shortcut...if it's switched on).
I'm at a loss to explain why this particular navigation issue shows up in the Settings app. Other, less critical parts of the OS actually work fine.
Hilariously, I was once trying to install MacOS to a HP university laptop, hackintosh style, and got into a situation where after hours of kernel panics and boot configurations I finally got far enough to see the MacOS install screen on the display!
I did not have working trackpad or usb, but undeterred I continued with keyboard navigation through the install menu, going further and further, partitioning and formatting drives and whatnot, until finally I hit the language selection dropdown, one of the last steps in the install process. This screen, although simple, did not have keyboard accessibility. I tried everything I could but never got the mouse to work, and was stuck at the language select. Frustratingly the screen also played some weird pop music full blast which I never was able to lower the volume of.
I still think somehow they knew, that they were mocking me, knowing that the trackpad would always work on a real mac, and only kids with too much free time would be stuck on the final step of the install process...
Interesting. Did this change in the last decade? I remember MacOS as being very keyboard-friendly out-of-the-box and awesome for automating GUI. But then again, the last MacOS I used was 10.6, around 15 years ago. And I heard automating GUI suffered in recent versions. So they lost on the keyboard-abilities too, I guess.
The worst for me is being able to select the non-default option in an alert window. Sometimes CMD + 'the first letter of the word in the button' works, but that's like a 30% chance. How is there not a standard for that? I'd even accept the arrow keys + Enter at this point.
This is a nice tip! This does not work for MacOS alerts that want you to enter data (like a file name to save), but I will be using this and the other guy's CMD + . (period) tip as much as possible in every other scenario.
This is a great tip that I didn't know about. Thank you. It doesn't work for Numbers, since I need to DELETE not Cancel the file changes, but I'm sure it'll work in a ton of other places.
(Edit: Just tested this in numbers, works fine. In cases where the button isn't correctly tagged as a "delete" button it might not -- in that case, cmd-<first letter of button content> will almost always work.)
Allegedly, for the Mac mouse the reason is so that people can't use it permanently plugged in, because cables are ugly and against "the Apple philosophy".
My cordless beard trimmer doesn’t run when plugged in, so you have to wait for it to charge before using it. When getting ready in the morning, you can’t sit around for an hour waiting for it to charge enough to function.
I mean from an EE perspective it makes some sense, because you save some on circuitry (not like a lot in absolute cost, but your cordless beard trimmer probably doesn't have a lot of margin).
So the real reason is probably just to make it cheaper. (Well maybe not in the Mac case)
Yeah in case of the beard trimmer it's because it uses quite a lot of power so you need a beefy adapter to run it. These often still use NiMH cells and trickle charge with 100mA or so.
For a mouse this is all irrelevant because it uses so little power that it can easily be powered by a regular USB.
Also, many bathrooms don't have sockets anyway. At least not nearby (and cooper is expensive too these days)
Supposedly it's by design. The justification being something along the lines of "you're doing it wrong" if you have to drag the cable around while mousing.
I had a first generation Mac mini, and I was playing around with mouse settings and accidentally changes some setting that basically disabled my mouse. The problem was the button or control to change it back didn't work via keyboard. I eventually recovered but came very close to wiping the machine.
It's not ALL bad, when I recently replaced my 2012 MacBook Pro with a 2024 Air M3, I was pleased to see that Apple FINALLY allows tabbing in system pop menus for things like Save, Delete, Close and selecting those options with the Space bar. Not sure when that was added as default behaviour, but I always found this frustrating coming from Windows. The interesting thing is that precisely one app I used on the 2012 MBP - Ableton Live Digital Audio Workstation - always allowed keying through popups flawlessly - so the underlying capability was there.
I wonder if VoiceControl can be turned on without a mouse, and then one might be able to use VoiceControl to add a pointing device without currently having any pointing device.
I’ve only tried VoiceControl very very briefly and it was a bit difficult to get it to do what I meant that it should do, I seem to remember. But might be worth trying it a bit more.
If anyone is trying to reach mouseless nirvana on Windows, I maintain a tiling window manager[1] and a hotkey daemon[2] (though you can bring your own thanks to the architecture choices I made), the former of which provides a very robust event subscription system which you can integrate with using any language of your choice.
One of the cooler parts of my little mouseless ecosystem is that I automatically have different keyboard layers (QMK style) activate depending on which application is currently focused, saving me a whole bunch of time fumbling around with obscure hotkey combinations for changing layers![3]
I was forced to use my computer mouseless for a couple of months recently (due to problems with the USB ports). It wasn’t a huge issue since I had things set up mouselessly to start with: with the combination of Sway, Vimium, Emacs, zathura [0] and warpd [1] it was quite tolerable. That said, I’m happy to have my mouse back now — there’s just too many applications which assume that you have one.
Loved vimium but in the end I went for tridactyl because it combines both vimium and
firenvim while being more straightforward (just open a vim window to edit the text box)
Also to be able to have a config file in the home to commit to my dotfiles repo is great.
In addition to making changes like those described in the article, I bought a Svalboard keyboard (https://svalboard.com), which has a trackball under the phalanges of each hand. This allows the user to use their pointer with minimal hand movement. Here's a relevant video: https://youtu.be/RCXgPqlpZeM
You may be thinking of [Homerow](https://www.homerow.app/) for Macos. Its okay for popups that I used to need a mouse for. There's another app that does similar "Vimium for Desktop" but it wasn't as responsive and sometimes focus would get stuck, but I forgot that software's name.
You might be thinking of Shortcat. I've been using it for a while and it mostly works but doesn't seem as polished as Homerow. Going to give that one a try now.
Vimperator was even better, and allowed a very smooth operation of most Firefox without using the mouse. Sadly, it was killed by the transition to a new plugin API.
Vimium and other current options lead to quite some friction, as Firefox disables plugins on many scenarios, such as a new empty page.
Hence, you often find yourself in a situation where you have to think whether Vimium is active and you can use Vim-like shortcuts, or you need to fallback to the Firefox UI.
> Vimium and other current options lead to quite some friction, as Firefox disables plugins on many scenarios, such as a new empty page.
>
> Hence, you often find yourself in a situation where you have to think whether Vimium is active and you can use Vim-like shortcuts, or you need to fallback to the Firefox UI.
Tridactyl works around this by setting a global keybind ( Ctrl - , ) that either pulls focus back to itself or, if it's not allowed on that page, kicks you to a tab it can control
I definitely remember using Windows 3.1 near mouseless -- when did Microsoft remove the underscore under menu items? It probably wasn't optimal like some of the modern incarnations, but it was ubiquitous and pretty fast.
In this regard I agree with apple about no touchscreens. Switching tasks/input devices have a cost -- you aren't getting rid of the mouse because touchscreens lack precision, so you now have 3 things to juggle for input.
There are cursor movement tools that use the keyboard--most obviously, the arrow keys. And at least in Windows, entire windows can be moved around or re-sized with the cursor. But it's also the case that there are keyboard remapping tools that allow you to re-map control keys (or other keys) to be cursor control keys as well; I've used a program like this written in C since the early days of Windows 3.1. (I had to make changes to it over time, but I'm using it as I type this in Windows 11.) I'm pretty sure there are similar keyboard remapping tools in Linux, and probably on Macs.
Also: there are re-mapping tools, and there are re-mapping tools. The simple ones allow a one-to-one mapping, e.g. Ctrl-M becomes PageDown. The simplest ones do not allow you to map e.g. Ctrl-D to seven Down arrows, nor do they allow moded mapping--e.g. having Ctrl-Q toggle between selecting and non-selecting cursor movement.
I switched to mousing left-handed at some point, years ago. I noticed some of my left-handed colleagues mousing wrong-handed, possibly because of right-handed siblings, and getting some good use out of having pen and paper more easily accessible because of it. I decided I'd do the same.
Something I didn't expect: with my left hand on the home row, I can touch the mouse by stretching my little finger. So it's no effort at all to put my hand on it and use it to move the cursor. And so I've pretty much given up entirely on using the keyboard for arbitrary caret motion. It's much easier to just put my hand on the mouse and move the cursor and click where I want it to go.
I’ve got a trackball on left that can scroll with rotating the ball.
Still very much secondary to mouse but I find myself reaching for it on other computers subconsciously and being surprised when there is just empty desk
I've been forced by some shoulder issues to reevaluate how I use the computer. My issues seem to mostly be from external rotation of the arm (i.e go from keyboard to mouse movement), though I've had some wrist issues before as well. That's gotten better, but it's still not great.
Not sure what I'll try. Split ergo keyboard maybe, and try to get my development workflow to work as mouselessly as possible. I only wish nvim worked better with Java. It's still a bit too flakey. Painfully almost works. Maybe there are some Idea plugins or somethng.
Interesting choice of window manager. Has anyone here used PaperWM and can comment on how its "scrollable" interface compares to more traditional tiling WMs like i3?
It’s awesome. I’ve switched to Niri which was inspired by Paper. When I use Gnome, I always install Paper. I never liked tiling WMs because I generally have a full height text editor, a full size web browser, and a handful of background terminals. This is cramped in a tiling arrangement, but works beautifully in a scrolling WM.
It speaks a lot about tiling. One thing I hate about the current "tiling" options in mainstream desktops, like windows, Mac and even KDE, is that they're so half baked. You can tile windows side by side but then if I make one window a bit narrower to make an uneven split, I still have to manually resize the other one :( That's not tiling.
I'm really interested in trying qutebrowser, but I've had so many issues with near-constant breakage in python projects. Are there no similar projects in statically typed languages, or maybe compiled?
Also qutebrowser's less powerful adblock, and missing a few other plugins I rely heavily upon...
FWIW I use qutebrowser on macOS (homebrew), alpine(postmarketos), Arch and Ubuntu and have never had an issue - installs cleanly via os package manager and just works (including wayland and x11). It’s under active development and the main devs seem pretty responsive to issues. It uses qtwebengine(chromium) - so none of the browser heavy lifting is in python. Don’t write it off due to the language used.
Qutebrowser is not perfect but the concept and keyboard control is spot on.
Specifically ad blocking is not as comprehensive as eg brave or ublock since they don’t have element hiding - just domain blocking. There was some discussion on GitHub to add it but I’m not sure of current status. This means that you’ll see Reddit and YouTube ads unfortunately (without some scripting effort;)
Surprised to see PaperWM instead something like i3 or dwm as those are at least for me the top tiling window managers. I haven't tried ratpoison but read that is a good choice as well. Perhaps PaperWM was chosen because of it fancier look compared to more minimalistic UI than i3 or dwm?
I was thinking about this as I needed to get another mouse, my Mx Master 2's scroll wheel is nasty/didn't want to bring it into the office... But I ended up just getting a 3 and bringing that in $100 damn... I'm trying to avoid having multiples of something eg. a laptop barely use.
I have been using i3 for years now. Rock solid, extremely lightweight and very simple to use. Once configured I never found myself looking back at it. Documentation is superb, and didn't take me more than a week to get used to it. Never tried PaperWM, nor other WM as nothing has been simpler nor more effective than i3. Probably dwm but I think is for those that like to have some hands on and tweaking.
Of course nothing will ever be simpler than i3 if you never try anything else. I am happy with sway and have resisted the urge to try hyprland/paperwm. But I'm not going to delude myself and say it's because sway is better. It's just that I don't want to endure the switching costs.
My comment was a little bit short. I have used plenty of window manages in the past: window maker, blackbox (now dead I guess?), gnome (from the era of RedHat 6.2 onwards), KDE, Ubuntu desktops (I don't know if is Gnome tweaked or something else). Perhaps I stay loyal to i3 because it was the first tiling manager that I tried and seemed pretty straightforward to be productive with it. Have to try other ones as well but never find time to do so. Same story happened to me with Vim. I still need to give Emacs a shot.
I recently rediscovered Ratpoison WM and the origin of its name (tl;dr it is meant to prevent the need for using a mouse). I think the main issue for me really is that navigating the web is sometimes faster with a pointer. I already use vim and the shell for everything else, but navigating Google Maps or Wikipedia or Stack Overflow is just easier when you can point and scroll.
I think it's a nice first step in running web browsers from the keyboard. Well, beyond built-in functionality.
You push 'f' to get link hints, if there's few they'll be things like 'a', 'c', 'j', 'l', if many it'll build up algorithmically, most I've seen is triples, like 'ade'. You push those keys and it opens the linked page. 'H' to go backwards, 'd' and 'u' to scroll down and up, 'yf' and then a link hint to copy a link URL, 'x' to close a page and 'X' to open the last closed, and so on.
Some people want more, like vim motions in input fields and so on, so they opt for more complex tools.
After being a Linux user for 10 years, the one thing I still miss from Windows is the ubiquity of tabbing around dialogues - this is still only at about 80% in day to day Linux stuff, which is enough to make it not something I use for a primary method. (in fairness, at least half of this is due to Electron shite.)
Highly recommend UHK for an initial ergo split setup with a traditional row staggered layout. I put an apple trackpad in between the splits. But now considering getting into column staggered layout splits with integrated trackball/pad like the Sofle
reply