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.
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.<p>Then some dolt at Microsoft decided those cues were "clutter", and hid them by default.<p>A new generation of programmers grew up not knowing about, or not prioritizing, the keyboard.<p>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.<p>Hope what's old becomes new again!
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.<p>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.
I'm a fan of ratpoison - <a href="https://www.nongnu.org/ratpoison/" rel="nofollow">https://www.nongnu.org/ratpoison/</a>
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.<p>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]<p>[1]: <a href="https://github.com/LGUG2Z/komorebi">https://github.com/LGUG2Z/komorebi</a><p>[2]: <a href="https://github.com/LGUG2Z/whkd">https://github.com/LGUG2Z/whkd</a><p>[3]: <a href="https://github.com/LGUG2Z/komokana">https://github.com/LGUG2Z/komokana</a>
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.<p>[0] <a href="https://pwmt.org/projects/zathura/" rel="nofollow">https://pwmt.org/projects/zathura/</a><p>[1] <a href="https://github.com/rvaiya/warpd">https://github.com/rvaiya/warpd</a>
In addition to making changes like those described in the article, I bought a Svalboard keyboard (<a href="https://svalboard.com" rel="nofollow">https://svalboard.com</a>), 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: <a href="https://youtu.be/RCXgPqlpZeM" rel="nofollow">https://youtu.be/RCXgPqlpZeM</a>
I love these papers. I have been on a similar path on macOS.<p>Concerning Vimium, there is the Vimium C version that seems to be a bit faster.<p>On macOS there is a similar software (don’t remember its name) to use a Vimium like feature on your whole desktop.
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.<p>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.<p>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.
There's so many ways to do this with tiling window managers, keyboard managers for browsers, scriptable keyboards, etc.<p>My personal setup is Guake for instant terminal, chat gpt cli, Firefox + vimium, and a tiling gnome extension (wintile I believe).<p>It's minimally invasive, and bog standard Ubuntu otherwise.
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.<p>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 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.<p>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.
For mac <a href="https://contexts.co/" rel="nofollow">https://contexts.co/</a> is awesome for navigating without a mouse<p>Vimium browser extension FTW, works on Chrome as well.
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 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.
So many good options here.<p>Vimium is the gateway drug to the fantastic qutebrowser (more integration and customisation, scripting, based on qtwebkit/engine).
If you're keen on the ideas of PaperWM, but don't want to lug GNOME around for the ride, niri is great: <a href="https://github.com/YaLTeR/niri">https://github.com/YaLTeR/niri</a><p>(Though I personally drive niri with a lot of touchpad gestures. Three-finger swipes up/down/left/right etc are great.)
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.
Recently, there was a post on HN about mouseless for Mac [0], and I think this can help in situations where no keyboard shortcut is possible.<p>[0]: <a href="https://mouseless.click/" rel="nofollow">https://mouseless.click/</a>
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.
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.)
I'm using the Awesome (tiling) WM (written and configurable using Lua) and lots of shortcuts. A toolbar-less / menubar-less Emacs. Terminals etc.<p>But for web browsing I still reach for the mouse.