A mouseless tale: trying for a keyboard-driven desktop
110 comments
·January 31, 2025PeeMcGee
eimrine
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.
Henchman21
Do you also flog yourself when you make mistakes? Or is that just something you think others should do?
joseda-hg
I find I can do plenty in the browser via Vimium extension, tabbing and general keyboard shortcuts (PgUp/Dn, Ctrl+t/n/f/e/r/q)
dizhn
Set up your own shortcuts for the software that matters to you. Terminal emulator and text editor/IDE will pay for the effort spent very quickly.
eimrine
That "pay" will always disappears, but the keyboard placement and vim commands never disappear.
mouse_
wait, so, do you really move your mouse cursor all the way up to the little tiny x every time you'd like to close a tab in your browser?
eimrine
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.
rkagerer
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.
Hope what's old becomes new again!
paulryanrogers
Mice were also more rare in the era in which early Windows was common. So keyboard support was often a necessity.
Havoc
Yeah. The window snapping also seems to have been broken. Seems pretty unpredictable as to what the outcome is now.
Eg windows key right/left sometimes snaps it to half half. But sometimes to 1/4. 3/4. and sometimes to another screen.
No idea why, but seems like botched UX when outcome of keyboard shortcuts feel random to the user
NBJack
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.
j16sdiz
Did you enable this setting? If yes, can you tell me more what's missing?
https://support.apple.com/en-us/guide/mac-help/mchlc06d1059/...
aarond0623
Doesn't this require foresight that your mouse may fail? It isn't enabled by default.
Any other OS, you'll be able to at least tab around without the mouse.
pyth0
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).
[1] https://support.apple.com/en-ca/guide/mac-help/mchlae61a6de/...
yencabulator
What's missing is discoverability -- something Apple used to claim to care about.
NBJack
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.
vouwfietsman
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...
slightwinder
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.
perdomon
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.
kps
> How is there not a standard for that?
There was, long ago, in the Macintosh Human Interface Guidelines.
wkat4242
Which apple always sets an example for by not following.
samatman
System Settings / Accessibility / Keyboard / Full Keyboard Access
This is macOS we're talking about. You can move the pointer with your face if you want (or more likely, if you need to).
egypturnash
Often space cycles this, for some reason.
perdomon
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.
ccppurcell
Had to use a Mac at a job last year. It wasn't used much so the mouse wasn't charged. Why oh why is the mouse unusable when it's charging!?
art0rz
My Bose headphones also aren't usable while charging. Very frustrating. I don't care if there are technical reasons. It's just bad UX.
Biganon
Same with my Sony headphones. Never understood the reasoning.
paulryanrogers
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.
patwolf
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.
mvanbaak
I just tried, and if you hit 'Tab' a couple of times, it will select the 'Connect' button that shows up after the name of the discovered devices.
From time to time I need this to re-pair with my, very old, logitech wireless mouse, that's why I knew it is totally possible with just the keyboard.
NBJack
This issue was with 'Add'. My Mini is still hampered by this flaw.
Optimal_Persona
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.
smoyer
I'm a fan of ratpoison - https://www.nongnu.org/ratpoison/
dimatura
There's dozens of us!
cess11
It's a rather nice wm, or at least it was some twenty years ago when I used it between something I've forgotten and IceWM.
Should probably check it out again and compare to how I've been using i3 since 2018 or so.
bsnnkv
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]
[1]: https://github.com/LGUG2Z/komorebi
cropcirclbureau
I've used Komorebi in the past, it seems to be the better tiling option available in windows when I went looking. Thank you for your work!
bradrn
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.
perdomon
Vimium is absolutely life-changing and I can't believe I've been forced to browse the internet like a caveman for my entire life.
cassepipe
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.
gigatexal
100% agree. If you are a fan of vim movements and have the muscle memory it’s the only way to navigate.
subsection1h
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
geniium
I love these papers. I have been on a similar path on macOS.
Concerning Vimium, there is the Vimium C version that seems to be a bit faster.
On macOS there is a similar software (don’t remember its name) to use a Vimium like feature on your whole desktop.
mtoohig
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.
geniium
Oh nice, thanks for sharing this. I don't think it was homerow (or it has evolved a lot).
I'll give this one a go to see if this helps me touch less my mouse
dangson
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.
gigatexal
Thanks for sharing will try this out.
nextos
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.
RunningDroid
> 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
geniium
Oh I saw it's name I think but I have never tried it.
nytesky
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.
eviks
Where is the juggle? You use the most comfortable input method for a specific task
mcswell
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.
jvanderbot
There's so many ways to do this with tiling window managers, keyboard managers for browsers, scriptable keyboards, etc.
My personal setup is Guake for instant terminal, chat gpt cli, Firefox + vimium, and a tiling gnome extension (wintile I believe).
It's minimally invasive, and bog standard Ubuntu otherwise.
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.