I like shortcat, but it's slow, even on a modern Mac.
Also, I'm not sure the dynamic nature of the hotkeys is a good thing. I could imagine if you use Mouseless for a long period of time, muscle memory might prevail as screen locations map to the same set of keys.
Yeah, I tried on an Intel MBP years ago when it was first launched. It was super slow, and I disregarded it. I just gave it a try on an M4 Pro; it's not instantaneous like Vimmium, but it is usable. I am sold!
Wow, as cool as this is, it's kind of a shame that we need to say "use coords to show where the mouse should click" instead of designing interfaces that keep pointing-device-free users in mind.
With Windows in particular, you absolutely can navigate Windows + Office keyboard only. I do it every day.
Now, third party software, is always going to be all over the place. Stuff that was largely built on Win32 components works fine, but "modern" stylized applications rarely have strong support.
You’re right that lots of Windows apps were designed with Keyboard only workflows in mind. It’s a shame that MacOS has so many points where if you don’t have a mouse you’re out of luck.
There is one major improvement you can do on Mac, at least for menus:
If you're interested in keyboard navigation of websites, consider a browser or extension with link hinting support! It worked really well in my experience a few years ago, although I've since became much more of a mouse guy and stopped using it.
Qutebrowser was my favorite browser for keyboard navigation but firefox, chrome, etc. have extensions for this as well.
I get that this might annoy you, but there is a direct trace all the way back to the original Mac in 1984 that required a mouse. As time went on and the two other OSes we still have gained mouse support (Windows, Linux) from their keyboard roots, they brought forward their ethos of keyboard navigation. Mac OS resolutely stayed attached to its mouse only roots.
I really feel like this used to be the default. That's how I always did it in macOS going back to the early 2000's.
Only in the last two versions or so did I notice it was no longer the default. I'm glad to see here that I can now re-enable it.
Edit: I see that I do have it enabled. But for some reason there are a lot of programs where it doesn't seem to work anymore, no matter what the settings. Off the top of my head: Half the Adobe programs I use for work.
I wouldn't say they're dead, just more hidden (e.g. GTK4 only shows them when you hold Alt). AFAIK most toolkits still support them, but app developers also have to actually define them.
> designing interfaces that keep pointing-device-free users in mind.
Agreed. Using keyboard keys to emulate a mouse cursor seems like it ought to be a last resort for graphical applications that lack proper accessibility affordances.
Contrast that with command palettes, accessibility controls, syntax tree navigation, and other approaches that rely on the names, content, and document structure that users already know rather than a special mode that displays two letter codes that must be read each time or memorized. Many of these other approaches also allow users to activate buttons, menu items, and links that are outside the current viewport or hidden in menus which reduces the overall number of "clicks" required to perform those actions. The downside is that they can take longer to type than a two-letter code. Still, my guess is that for most people it would be overall more efficient to optimize for cognitive load than pure speed.
(Though in the long run, I suspect that improvements in eye-tracking will lead to hybrid systems that are both lower cognitive load and faster than any of these.)
I just hit tab 1 to N times and hope for the best. I wonder if VIM style search on elements with a new HTML tag attribute would work (at least for browsers).
I'm curious if there's a program that uses a simple detection model for UX components to locate clickable areas. This would allow for global navigation similar to VimiumC
I think it's ok that hardware and software are designed with the 99% in mind. After that you probably run into competing interests/trade-offs anyway (a system built for ergonomics probably looks different from a system built for speed).
I think it's ok that hardware and software are designed with the 99% in mind.
That's called mob rule. We don't act like cavemen anymore. We build entire civilizations to prevent that sort of thing. You may have read in a history book once "We hold these truths to be self-evident, that all men are created equal."
I think the controller interfaces for FFXIV is worth a study in this. They designed an interface that is workable for an MMORPG with both mouse and controller (in this case, the controller can act as a proxy for our keyboard).
I've tried to use software like this and it looks awesome but it wasn't ultimately the solve for me when it comes to ergonomics.
I used a logitech mx mouse with the palm shape or whatever it's called and I realized that it stopped me from putting more of my hand on the desk, pin pointing the pressure of my hand onto the mouse instead of the desk. What helped dramatically was getting a smaller mouse without that thumb/palm shape (the logitech M720 Triathlon), that distributed more of the pressure onto my desk and I haven't had an issue since.
I hope that helps for anyone having similar ergonomic issues!
If you wanted to go in the other direction, you could achieve more productivity with faster mouse skills. The competitive FPS genre has spawned a bunch of aim training tools[0] to improve muscle memory.
As someone who went down the keyboard only blackhole, I've rebounded all the way to mouse maximization. Mice are nice! Another tip that really helped me is embracing good mouse acceleration (i.e. not the Windows or Mac built in garbage). This tool has honestly made using a mouse at least 3x better for me: https://github.com/RawAccelOfficial/rawaccel
I recently tried it but my muscle memory just refused to cope. I used to do a lot of competitve fps gaming and its hard to imagine a different way to hold a house. I do use a kineses ergonomic keyboard though but adapting to that felt much more normal than the mouse stuff idk why
If you wanted to go in the other direction, you could achieve more productivity with faster mouse skills.
I was always in the camp that believed that the keyboard was always faster than mouse for complex workflows.
Then a couple of weeks ago I spent most of a day in a hospital emergency room with someone, and couldn't believe the way those E.R. nurses fly through the menus and options in Epic using just a mouse.
I'm now closer to believing that "muscle memory is muscle memory." But I suspect it only works if the windows appear in the exact same place all the time.
This one is recursive-grid for Hammerspoon users on macOS, and is probably the easiest of the open source implementations to fully customize. (I made it years ago)
...which supports Vimium-style hints mode as well as the grid-based approach shown in this "Mouseless (app) explained in 80 seconds" video. It also has a very responsive maintainer.
Personally I like vimium's approach much better than the grid. Unfortunately not everything has a good accessibility tree (Zed sadly doesn't), but I just realized loading neru's page that I'm behind in versions. I haven't tried the "Native Vision OCR" addition to hints mode yet.
I also like having a trackpad right on the keyboard (using a SoflePLUS2 right now though I'm not totally sold on column stagger). Then I can use a real pointing device with only a slight movement of one hand. In the Mouseless video, the creator has tried to minimize the distance by putting the mouse between the halves of his keyboard, but I think he's both compromised the keyboard position to ease using the mouse (arms wide and parallel with wrists turned inward rather than arms converging toward a more splayed keyboard with somewhat closer halves, untented to minimize vertical separation compared to the mouse) and might have an uncomfortably small mousepad to avoid doing this even more. Not a compromise I'd want to make.
warpd, properly configured, was working perfectly for me.
until i realized i 99% needed it for web surfing. so i switched to kinkHints in firefox, which is covering my link clicking need.
Wow, this brings back the memories of a Byte (I think it was Byte) article about how a person used this strange thing (don't know if it was called "mouse" yet) to keep on working after his keyboard died.
I've been using a "hamster" for some time now. Its top surface is a track pad - nice.
I push back against people criticising independent software for not being free because I believe it is deeply harmful for our industry. My initial reply didn't have much susbtance, but then neither did the comment I was replying to.
Nah, this is a very good point; I've seen things similar to this in the past and it's a cool idea -- but "subscription modeling" every little tool is not a good path to keep going down.
Free and open source is important and it's perfectly fine to be critical here.
Demanding everything be free and open source is important if you don't want independent developers to be able to make a living, and instead wish to create a world where the vast majority of software is controlled by big tech, who are the benefactors of "free" software. The less you're willing to pay people making good software, the more territory predatory ad/tracking-fueled "free" software gets. The more territory you give them, the more they're going to buy out open source software to destroy. We see this happening more and more recently, with uv, bun, vite etc. being bought out - if they can't put food on the table, they will sell out to monopolists.
I agree that I would never pay a subscription fee for any kind of system functionality, but there is a lifetime purchase option available, so there is no grounds to critique that here. Having extra payments models available in addition to a regular purchase model does not make a product worse.
I made a very good living developing open source software for more than a decade. Nothing about open source software precludes one from making money, it's just a different business model from closed source.
A business model that supports a tiny fraction of the market. To the extent there is money in FOSS, even then most of it is provided by the funding of big tech (a whole host of some of the most widely-used FOSS, like Linux, LLVM, Go, Rust, C#, Typescript, VSCode, React, are all obviously corporate-backed). Independent developers who can make a living selling FOSS exist, but are absolutely on the fringe.
For a total opposite tool, there is mousemux (Windows only). You can get multiple mice on the same machine and you can attach a keyboard to each and lock it to a window or a screen.
Looks kinda similar to https://github.com/rvaiya/warpd/ , which is open source and free software. Always worked very well for me on Wayland, but seems to be working on Xorg and macOS as well.
I don't understand why they are not popular at all and only a few manufacturers build them.
It doesn't replace a mouse for me, but the track point is between the G H B keys and can be reached without moving the fingers away from the typing position. So it's great for some simple mouse commands.
There is at least a whole line up of models from Lenovo. But for keyboards there is currently only tex.com.tw that sells new keyboards with track point.
As an old user of thinkpads for years, on a Macbook the trackpad is as much under your thumb as the trackpoint is under your index finger and I find the trackpad far more accurate and less strain to use. In fact, my work-at-home setup is macbook pro, open face so i can use the keyboard+trackpad but external monitor so my posture isn't terrible.
I didn't say corporations can't have an ugly laptop lineup.
I'm saying that the trend of consumer/business laptop lineups is to make all of them look similar to a MacBook, because that's what most people want. Of course there will always be exceptions, like the ThinkPad.
I've been building the same thing for a while https://github.com/huytd/octocmd
It has everything you need to throw away the mouse: keyboard tab switching, search and click, vim-style clicking, keyboard scrolling.
I'm on Linux and totally going to give this a try. I switched from multiple monitors years ago to just a laptop and am in permanent portable mode.
I use the pointer stick exclusively so don't have to reposition my hands on the keyboard like with a track pad, but the pointer stick does keep my hardware choice limited, currently a X1 Yoga. If Mouseless would be faster, then I could get a Framework (no pointer stick available).
Amiga Workbench could be used mouseless by using key combinations to move the mouse around. It was cumbersome, but just good enough to let you use the system if your mouse was broken, or you had plugged a second joystick into the mouse port and couldn't be bothered swapping them to launch a game. Later there were add-ons like Reqtools and MCP which let you use keys more, e.g. Escape to close a window, or Return (Enter) to hit OK on a dialog box.
How do you handle apps that don't have great accessibility support?
Hell - after installing, it shows a slider to help adjust the label size of each element - but I can't slide it because (surprise) Homerow doesn't support horizontal slider elements like this.
I also can't highlight text on the screen etc.
Struggling to find a usecase for Homerow that isn't just navigating chrome or my filesystem.
fwiw Ive been using mouseless for a while now and I've been enjoying it! I like how i can remember the regions on the screen and the hotkeys are consistent. I also like that it makes the whole screen clickable not just what the app is able to recognize as a button.
I've had "mouseless" on every system since getting a keyboard that supports it (in my case the Ultimate Hacking Keyboard). It's changed my compute experience and I can never go back (so I hope they don't go out of business)
I have a small Logitech laser mouse with a few auxiliary buttons, horizontal click scroll, and an unlock able wheel for fast scrolling. One button opens up workspace view (four fingers up), side scroll switches between works spaces (four fingers sideways). When my laptop is setup on my desk at home with monitor and keyboard attached this is much more comfortable and efficient than using the track pad. That’s said, MacBook track pads are magic.
When I first tried OpenAI’s Atlas browser, I found it incredibly slow at moving the mouse. This could be a perfect use case for agents that need computer use.
Sometimes when I am too tired, I lean back in my chair and click through Hacker News or something similar. I use Vimium in my browser and HN is great to navigate with it, but that's the not the point - the whole point is I don't want to sit above my keyboard with my hands on the home row.
I consider myself a "keyboard power user" if this is a thing anyway, and I really dig the home row thing (Vimmer for 20+ years now), but frankly having my hands on the keyboard ALL the time throughout the day is really tiring. So, I actually like my mouse for a change of posture, the cursor that I can follow with my eyes, etc.
P.S. I have to admit, though, that I love even more the interfaces that don't require a mouse in the first place. It's a shame we stopped adding well-thought tab stops in the UI and keyboards shortcuts are just a free-for-all in the apps.
Committed Mouseless user, here. I use a split keyboard that has a mouse layer, but I almost never use it, let alone an actual mouse or trackpad. Mouseless is so much more efficient for me. It did take a day or two to get used to using it (and to get used to comments from people who see your screen when it's active).
i use this! it actually comes in handy when i'm too lazy to move my hands from my keyboard. on my ultrawide, the click zones are larger and easier to digest/hit.
well, you should be able to, at the OS level use only keyboard shortcuts. Windows once was great with tab, enter, escape, but browsers make things more complicated than dialog boxes, and MacOS really isn't good at keyboard shortcuts. I would prefer the solution was not Mouseless and the others, but no mouse.
If you have a big form to fill in, surely its going to take longer to type in the coordinates of each text box and get the mouse to click them rather than just hitting tab to select the next input element?