Going mouseless
176 points by FelipeCortez 3 years ago | 177 comments- bartvk 3 years agoFirefox has a neat trick to only search in links. Press ' (single-quote) and at the bottom, a text input field appears with the hint "Quick find (links only)". Type two or three characters will focus the link in question, just press enter to navigate.
- globular-toast 3 years agoThis used to pair nicely with "/" which opens up the normal quick search. Unfortunately this is broken on the "modern" web as many web pages "helpfully" override the "/" key to make it go to their search box which, of course, is not at all what that key should do. There doesn't seem to be any way to stop web pages stealing this key and I've slowly learnt to use the comparatively clumsy "Ctrl+F" instead as I'm too scared to try "/" now.
- swalladge 3 years ago> Unfortunately this is broken on the "modern" web as many web pages "helpfully" override the "/" key
Argh this kind of thing makes me really cross. So many sites seem to feel the need to reimplement things that are already part of most browsers or even in the spec. It's not just overridng default shortcuts, but custom context/rightclick menus, custom 'links' (where clicking them runs javascript code to window.open, instead of being a real link), custom form fields that advertise 'excellent accessibility', where the fields would have been accessible anyway if they didn't decide to reimplement them, disabling text selection, overriding focus styles because the accessible styles 'look ugly' ... the 'modern' web is pain.
Anyway, this wasn't going to be a rant. My point was going to be that consistency is key. Your comment on '"Ctrl+F" instead as I'm too scared to try "/" now' really resonated with me, because I've thought about this before. I've found that a feature or shortcut is only useful if it's consistent. I can't build muscle memory or be confident using a feature if it only works 90% of the time. Or even 99%.
I've tried tridacyl and other vim-style plugins for browsers several times in the past, but always end up uninstalling them in disappointment, because it's not possible to have a consistent experience. 99% of the time it works perfectly, but then there are the handful of sites or browser specific pages (eg. about: or view-source:) where it doesn't work at all, or doesn't work consistently so one must disable it. Then muscle memory totally breaks; you need to learn two sets of keybindings for the same context, and that introduces a hesitation for every keypress, which kills speed and enjoyment.
- i_s 3 years agoI mostly agree, but every now and then there is actually a good reason to override/re-implement them. For example, let us say you are using virtualized components [0], so all available elements have not necessarily been rendered to the DOM (making Control-F useless).
- sseagull 3 years agoI’ve always had in mind “you can’t have simplicity without consistency”. Applies to user interfaces, code structure, and APIs as well.
The more consistent something is, the less you have to remember. But it can be really hard to do things consistently for various reasons.
- i_s 3 years ago
- williamdclt 3 years agoSpecial mentions to the github actions log output, which not only overrides ctrl+f with their own search, but have a completely broken search. Which means logs are unsearchable. Thanks a lot.
- wging 3 years agoUnless they're doing something wonky like hiding content that is not in the viewport (thus reimplementing scrolling), you may be able to work around that by using ctrl-f from the URL bar, denying them the opportunity to hijack ctrl-f. So ctrl-l ctrl-f.
- MiddleEndian 3 years agoA Firefox extension I want (or maybe I'll make one day) would be one that prevents javascript from detecting any key input while holding right ctrl or left ctrl specifically.
- tux3 3 years agoDoes it open the browser search if you press ^F a second time?
- wging 3 years ago
- Grumbledour 3 years agoI wasn't even aware / was for quick search. I always used Ctrl+F, which is incidentally much easier on my localized keyboard. But trying it right now, I notice that / and Ctrl+F opens different dialogs? One is called "Quick Find", the other "Find in Page", with the latter offering additional options, even though both seem to do the same thing? What is up with that?
- bennyp101 3 years agoNot sure if it's a feature or not, but setting the page permissions for "Override keyboard shortcuts" still allows '/' to work, but will disable 'esc' for closing the search modal/popout - and as '/' is a keyboard shortcut, I have no idea why it still lets the site take it over
- stronglikedan 3 years agoHeck, MDN themselves is even guilty of this. It's maddening.
- tintt 3 years agoInteresting, up to this day I thought that browser search is Cmd/Ctrl+F and webapp search is typically “/”. I got used to that to the point that I find it convenient.
- swalladge 3 years ago
- jbaber 3 years agoDiscovered this when some vim-like plugin failed. Realized it's about 90% of the reason I was using a vim-like plugin.
- thomasahle 3 years agoI just tried using it when I realized I couldn't upvote your comment as the link has no text.
Back to vimium.
- dictum 3 years agoSlightly more involved, but still serviceable:
- start typing the text on a link near the icon you want to click (for this comment, `thomasa`...)
- then press Shift+Tab to highlight the previous link
- dictum 3 years ago
- nextos 3 years agoVimperator provided an incredible Vim-like experience for Firefox.
Sadly, the transition to a new plugin architecture killed it and Tridactyl doesn't come even close. Some things are not possible with the new Firefox APIs, and many websites steal keyboard focus thereby ruining the Vim-like experience. Really frustrating.
- wyclif 3 years agoWhat do you think of Vimium for Chrome? There's also a Firefox port: https://addons.mozilla.org/en-GB/firefox/addon/vimium-ff/
- wyclif 3 years ago
- tejohnso 3 years agoI ditched my vim-like plugin when I realized I could ctrl-f, ctrl-enter to follow links in chrome.
- thomasahle 3 years ago
- manaskarekar 3 years agoThanks, this is awesome. I totally expect to rely on this feature after using it for a few weeks and expect Mozilla to yank it out for usability reasons.
- janus24 3 years agoI'm using the US International keyboard mapping, to type ' I have to type ' + space. The goal is to add the possibility to wrote letters like é (' + e).
So this doesn't work for me and it doesn't seem possible to change the shortcut on Firefox :(
- Macha 3 years agoSo I use a keyboard layout (Irish) from a country where this a need some people have but not frequently. There is the compose feature, but it's located in the button underneath escape (labelled ` ¬ ¦), not overloading single quote.
The one issue with that arrangement is you run into video game server admin/modding tutorials and the like and they describe pressing "~" for the console, and it's hardcoded to the keycode and doesn't consider the keymap, so it's actually looking for that button, except getting a literal ` requires a double tap of ` rather than all the UI elements telling you it's ~.
Oh and quoting code blocks in markdown can be kind of annoying. Or inline variable names that start with a letter that supports the accent.
But I think I'd take those limitations over losing single quote.
- pge 3 years agoctrl-shift will switch back and forth between selected keyboards in windows, so you can keep the keyboard in ENG US most of the time (allowing you to use the ' shortcut in Firefox), and use ctrl-shift to switch to ENG INTL when needed.
- jolmg 3 years agoThere's a variant of the US layout called altgr-intl where instead of making ' a dead key you can do RightAlt-e for é.
- Macha 3 years agoIs that literally the same character for both? On my layout `e leads to è whereas alt-gr+e = é. é != è in many languages.
- Macha 3 years ago
- Macha 3 years ago
- nicholasjarr 3 years agoWow! One more reason to stick with Firefox. Thanks!
- petepete 3 years agoThank you so much for this. Used it since more or less day one and never knew about this feature.
- agumonkey 3 years agoI so forgot about this. Incredible.
- dagw 3 years agoWow, TIL. Thanks!
- globular-toast 3 years ago
- CharlesW 3 years agoFor anyone considering doing this for speed reasons:
We’ve done a cool $50 million of R&D on the Apple Human Interface. We discovered, among other things, two pertinent facts:
• Test subjects consistently report that keyboarding is faster than mousing.
• The stopwatch consistently proves mousing is faster than keyboarding.
This contradiction between user-experience and reality apparently forms the basis for many user/developers’ belief that the keyboard is faster.
- chaps 3 years ago
Hmm. Not to be "that vim guy", but when those navigation/search/etc become muscle memory, it's not really a high level function anymore to do things like searching.. at least in terms path decideability. The sort of amnesia they talk about here happens to me whenever I need to pull my hands away from the keyboard. Though, their study probably didn't have that many opinionated text editor nerds.It takes two seconds to decide upon which special-function key to press. Deciding among abstract symbols is a high-level cognitive function. Not only is this decision not boring, the user actually experiences amnesia! Real amnesia! The time-slice spent making the decision simply ceases to exist.
- luu 3 years agoIf you look at what Tog says was actually tested, every single test he describes is completely bogus. There's more detail on this in https://danluu.com/keyboard-v-mouse/, but briefly, a test he describes is:
> the author typed a paragraph and then had to replace every “e” with a “|”, either using cursor keys or the mouse. The author found that the average time for using cursor keys was 99.43 seconds and the average time for the mouse was 50.22 seconds
Sure, keyboard-only users who do that exact task who literally use the arrow keys plus backspace are slower than mouse users, but since keyboard-only users don't do bulk search and replace by navigating to each relevant character with arrow keys, that's a meaningless benchmark.
- sudosysgen 3 years agoSo they never heard of ctrl-R;e;<tab>;|;<enter>? Even without vim this is like a 5 second task.
Perhaps the key takeaway is that Apple optimizes interfaces for people who don't know how to use a computer.
- modeless 3 years agoNote that the research was conducted before 1989. "People who don't know how to use a computer" was approximately everyone.
- modeless 3 years ago
- vbezhenar 3 years ago
93 seconds? More like 3 seconds.:%s/e/|/g
- dumpsterdiver 3 years agoNo kidding. They spent $50 million to be laughed at by anyone who's heard of sed or vim? Yikes.
- dumpsterdiver 3 years ago
- sudosysgen 3 years ago
- zck 3 years agoThis article also says:
> It takes two seconds to decide upon which special-function key to press. Deciding among abstract symbols is a high-level cognitive function. Not only is this decision not boring, the user actually experiences amnesia! Real amnesia! The time-slice spent making the decision simply ceases to exist.
That's not my experience at all. Once you learn a keyboard shortcut, it doesn't take two seconds to recall it. Were his tests on expert users, or on beginners?
- Taylor_OD 3 years agoWell it depends on how often you use it. There are a handful of shortcuts I use... Once every other week? It certainly takes me a second or two to remember exactly how to do it. Even if I've used them on and off for years.
Sure ctrl z everyones got down. But what about alt k to kill that one process in that one program you have to keep fixing for that one client?
- okamiueru 3 years agoPretty much everything you do often enough will be automated away from conscious thought.
It ends up in a weird situation where if someone asks what the keyboard binding for, say, inserting a row into a org-mode table, I wouldn't be able to answer. Something with maybe a c in it, and a '-', not sure? Yet, once in the situation that needs it, the fingers move by themselves.
Also related, musicians don't spend two seconds figuring out how to play a note.
- smoe 3 years agoSure, but one of my most commonly used keyboard short cuts is the one that pops up a fuzzy search over all the available actions/settings. Whereas with the mouse i have to dig trough a ton of sub menus and often even have to google to find what I want.
- hutzlibu 3 years ago"Sure ctrl z everyones got down. "
Not really.
- okamiueru 3 years ago
- hambes 3 years agoThe difference is between using a keyboard shortcut like vim's "yaw" to copy a word vs vim's "d3f," to delete the next three words. The former you can save to muscle memory and always do instantly. The latter you have to think about, because you need to adjust it to your needs in the moment. That will always take a moment of thinking time.
- Taylor_OD 3 years ago
- 1vuio0pswjnm7 3 years agoI have been mouseless for over 30 years. (The office being the exception but I still use it minimally.)
The issue is not speed, it's control. Precision, if you will. I can automate repeated tasks with the keyboard. Doing that with the mouse is beyond awkward; it's counterintuitive.
Mouse is for interaction. Keyboard is for automation.
(Obviously for some tasks, e.g., ones involving graphics, we need a mouse.)
Is automation faster than interaction. You tell me. Try doing everything your computer does by hand. I will give you $50 million for your efforts. Then report back with your discoveries.
Generally no one (seriously) programs a computer exclusively with a mouse. A keyboard is used. Surely, there must be a reason for this.
Of course, the "tech" company model of the world needs users to not be programmers. The mouse is taken as a signal "we have a human on the line". Automation is taken as a signal "it's a bot". Truly, the only significant difference between the two is that it is far more difficult to manipulate, analyse and serve ads to "bots" and charge advertisers money for it. Users who can program the computer to automate tasks can escape online advertising and tracking in ways that others cannot.
- nicoburns 3 years ago> Generally no one (seriously) programs a computer with point and click, drag or touch. A keyboard is used. Surely, there must be a reason for this.
I certainly use a keyboard to program, but I also make good use of my mouse (well, touchpad) for text selection, changing windows, etc.
- tw600040 3 years ago> Generally no one (seriously) programs a computer exclusively with a mouse. A keyboard is used. Surely, there must be a reason for this.
Yeah, looks like there is a reason for this. Keys are only present in keyboards and not mouse..
- sodapopcan 3 years agoOne of the most brilliant programmers I worked with had a 14-button mouse. It had cut/copy/paste/select all/etc all on his mouse. He hated typing and actually couldn't touch type. He would always look for code online he could just copy/paste with minimal modification. I thought he was out of his mind but the dude produced amazing results and I think to this day I've still learned more from him about programming than I have from any of the other amazing people I've worked with.
I love to think keyboard is king, but none of this matters—it's whatever floats your boat.
- zdragnar 3 years agoSoftware / on screen virtual keyboards are a thing. You probably use one everyday if you have a smart phone. The same thing is available on your laptop / desktop as well, though not quite so convenient without t9 or swipe-typing.
- 3 years ago
- sodapopcan 3 years ago
- nicoburns 3 years ago
- egypturnash 3 years agoI find myself wondering how much difference the feeling of speed makes for creating a "flow" state. It may be physically faster to achieve a task, but if there's a minor context switch between "thinking about what to do" and "mousing around to do it" that doesn't happen with the keyboard, with a corresponding context switch back to thinking about the actual task that all this moving the cursor around is part of... how much time do those cost?
How much of one's internal working memory has to be flushed of the image of what you're trying to create, so that you can visually process mousing through menus much more densely packed than anything back in 1989 when Tog wrote that reply?
- rohansingh 3 years agoGreat point on the context switching. It made me think about how I've setup my keyboard and use my editor.
I always opt for a compact numpad-less keyboard with a trackpad right next to it. I like to have the trackpad as close to the keyboard as possible.
I'm a vim user, and what this means is that while I mostly use the keyboard, I can quickly switch over to the trackpad as an auxiliary input for certain movements.
I know the common refrain with vim is to learn how to do things without the mouse... and I certainly can do that pretty effectively. But after over 10 years of vim, I find that using a little bit of trackpad can actually save a lot of time.
- rohansingh 3 years ago
- intrepidhero 3 years agoI can't find it just now but I thought there was a followup study that looked only at operators familiar with the interface and in that case the results were overwhelmingly in favor of keyboarding (as most of us would expect).
- xyzzy123 3 years agoI wonder if this is due to the mouse requiring a sort of constant attentional feedback loop as you look at the screen and guide it where to go.
Even if it's subconscious and technically faster, or even an illusion - I feel like mouse is consuming more cognitive resources.
The feedback loop with keyboard can feel quite different, in flow it feels like you issue commands and look for immediate response.
Also, when doing a repetitive task you quickly pick up key rhythms and patterns without needing prodigous memory to recall every possible "shortcut".
What I am not sure the user interface testing covered is making users perform the same task 50 times per day.
I don't think that using keyboard to control mouse has the same advantages as a keyboard-native interface.
- strogonoff 3 years agoThe essence of the difference between keyboard and mouse interfaces is simply that the mouse introduces that extra mechanical layer between user’s intent and internal APIs, but offers the advantage of discoverability.
That advantage and disadvantage tradeoff heavily depends on the nature of core functionality, how it’s mapped to the UI by the developer/designer, and user’s overall experience and familiarity with software.
- strogonoff 3 years ago
- orzig 3 years agoAs with so many things, worth noting that 'people' vary widely across every relevant spectrum, and I can't imagine that the median hasn't also shifted since (checks notes) 1989 (!!!)
- michaelmrose 3 years agoI think others have done far too good a job debunking this obvious misunderstanding for me to add much on that front thus I'd like instead to ask a different question.
Tog insists that professional users discard the evidence of their own decades of experience using a computer in favor of the results of his stopwatch but not only declines to show his exact results and methods but declines to even conduct an experiment which looks even slightly like a professional computer using completing a task preferring a nonsensical exercise that appears designed to be automated for even greater savings. Why then after the writer discredits their ability to understand the topic 32 years ago are we still discussing their words.
It's hardly necessary to touch much on his ideas about hierarchies of complexity or perceptible time as he only needs to venture outside his own area of expertise into new and exciting theories about neurology and perception to support the otherwise forlorn and unproven theory that using the mouse was inherently faster in the first place.
If you ever in the course of your programming find the need to formulate new theories of quantum physics to explain why everyone else is wrong and you are correct you may want to step back and consider whether you have departed from the beaten path or perhaps from reality.
So why are we still wasting bandwidth on him?
Incidentally this reply was composed in Emacs. I sadly have a bad habit of misspelling words that spell check has alas done little to alleviate. Each time I misspelled a word instead of taking my hands off of the keyboard I hit a hotkey to go back to the first misspelled word tracking backwards from cursor. Most of the time the first suggestion was correct and I merely hit Enter. Once I had mangled it so badly that I had to hit a few characters to set it once again upon the right track. So 95% of the time 2 keystrokes, rarely 4 to correct misspellings after which I could continue typing from wherever I left off.
Sometimes I found that I didn't like a particular paragraph and wished to rewrite it. This can be accomplished in Emacs evil mode with cip meaning change in paragraph. This erases the current paragraph cursor is in regardless of where in the paragraph you are in other times I just wanted to rewrite part of a sentence in normal mode capital C deletes onward from point and leaves you in insert to continue typing.
- bloqs 3 years agoKeystrokes carry far less fine motor control so are "easier" and less cognitively demanding and feel faster as a result.
- the_af 3 years agoLess cognitively demanding? That's debatable. The mouse is way less demanding for my brain when trying to point at or select something in my IDE. Almost frictionless.
- the_af 3 years ago
- chaps 3 years ago
- jchw 3 years agoWhenever I don’t have a mouse, I notice. Immediately.
Been staying in hotels recently. The wifi login for IHG hotels varies a bit, but often has either tabs or a checkbox that is not keyboard accessible because it is not part of the focus order. Obviously this sucks for people with disabilities, but it also sucks for people with Android TV devices (in my case, a Chromecast.) Now obviously, one of those things is more important than the other (although unfortunately, I bet I know which complaint would be more likely to lead to a change.)
So yeah, I’ve always got a bluetooth keyboard/mouse combo for this reason. (It’s a bit pricey, but a K830 works well.) It’s a bit sad that websites and apps are so careless with accessibility, but unfortunately, for that reason, it’s hard to truly go mouseless. At least this page describes how to set up a virtual mouse, because yeah, you’re going to need it.
- kozd 3 years agoIf you want to ditch the physical keyboard/mouse, there are apps that let you use your phone as a Bluetooth keyboard/mouse.
- jchw 3 years agoThe trouble is that having WiFi access is often a prerequisite for said apps. Some options also require rooting, which I have done, although it is fairly impractical.
So for logging into a WiFi hotspot, it’s a tricky proposition.
- jchw 3 years ago
- kozd 3 years ago
- the_af 3 years agoI think keyboard-only being faster is a red herring, much like all the frequent arguing about learning to touch type to be "faster".
I don't doubt many hackers and programmers truly enjoy doing everything from the keyboard, and that they can do it really fast too. However, I simply don't buy this is an ideal we should strive for in general.
The mouse has an awesome UX property: it has zero friction for discoverability. It's always there, I know I can point and click and interact with something, I know I can drag stuff and I know I can group and select. Some UIs break this expectation, sure, but more often than not it will work.
I don't have to memorize shortcuts or develop "muscle memory" and can instead devote my brain power to the actual task I want to solve. If I stay a long time away from a certain editor or tool, I don't have to worry about forgetting its shortcuts -- the mouse is always there, reliable as always.
I'm an experienced programmer and a power user in many cases, and I do remember my share of shortcuts. But give me a mouse, anytime -- maybe I spent years away from your app, but I'll know how to use it, and fast. And those shortcuts be damned.
- urthor 3 years agoExactly.
it mirrors the command line experience. Command line is faster/move convenient once you've learnt how, but finding out how to use it involves reading a manual basically. Each individual task involves a search for a command line command that executes it.
Whilst the learning process for GUI is intuitive because it depends on a chain of tasks that are presented to the user as a visual dashboard.
Two entirely distinct learning processes.
- senorsmile 3 years agoI've been using awesome wm with a slightly customized settings. This plus vimium gets me to >99% keyboard only. When I have to use a Mac, my slow down is so noticeable.
- urthor 3 years ago
- raihansaputra 3 years agoIs there a keynav like utility for MacOS? Maybe a Karabiner/Hammerspoon other scripts?
EDIT: I've found some, should be "customizable" with Karabiner customization on top
https://github.com/trishume/QuickMouse
https://github.com/h2ero/XEasyMotion
Some great discussion here: https://gist.github.com/lornajane/3892c39098cf70baa9c7a1874c...
- nathan_phoenix 3 years agoYou might want to check out Vimac[1], provides system-wide Vimium tooltips. Not the same as keynav, but imo works even better.
- nathan_phoenix 3 years ago
- Aromasin 3 years agoI've used the ZSA Moonlander (https://www.zsa.io/moonlander/) as my main driver for the past 6 months, except I've replaced the right hand thumb pad with a custom mouse mod. I basically pulled the electronics from a Logitec trackball mouse and machined a casing for it to clip to the keyboard once the thumb buttons are removed.
It's been wonderful. I'm reaching the stage where I'm just as dexterous now with my thumb as I was with my regular mouse, and my right hand isn't constantly searching for the home row when I return to type. I can't recommend it enough.
- mariusor 3 years agoThe guys at Ultimate Hacking Keyboard have a trackball module[1] for their split keyboard that uses the same idea.
- fullyforged 3 years agoThis sounds really interesting! Do you have photos/a link to share?
- wjdp 3 years agoUnsure if I could live without the right thumb cluster but would be really interested in a write-up/photos of this project.
- sithadmin 3 years agoAs a fellow Moonlander user, I'd love to see a write-up of what you did.
- mariusor 3 years ago
- nathan_phoenix 3 years agoIf you're using MacOS and are looking for system-wide Vimium, checkout out Vimac[1]. Works really well!
- hultner 3 years agoI tried it about a year back and it was missing to much back then to be usable day to day for me. Took a look again now and it does look like there’s a lot of improvements, will have to give it another go.
- spfzero 3 years agoThis looks cool, especially hint mode. Wondering what scroll mode adds though, compared to just using the existing Mac OS shortcuts (or Pg Up/Pg Dn)
- hultner 3 years ago
- enricozb 3 years agoIf you're on linux, consider trying a tiling wm like i3 [0] or sway (wayland) [1]. New windows automatically place themselves in a nice place and don't overlap. It's extremely (if not entirely) keyboard driven and pretty configurable.
[0]: https://i3wm.org/
[1]: https://swaywm.org/
- RMPR 3 years agoAfter using bare WMs for years, I finally settled on i3 inside KDE[0]. Because I found it painful to manage everything myself (polkit, cgroups, ...) plus I already relied on a couple of features from DEs. It's fun for learning purpose, but not so much when you just want things to get out of your way, especially on a laptop
- michaelcampbell 3 years agoLast time I checked there was no equivalent to these, or any sort of actual tiling manager in MacOS; is this still the case? (For anyone to answer, if you know.)
- ggm 3 years ago
- justindirose 3 years agoI use Yabai and it works very well. Similar to i3 in how it tiles, and quite customizable.
- bpanon 3 years agoAmethyst is pretty good
- samhh 3 years agoI think that was replaced by Rectangle.
- samhh 3 years ago
- ggm 3 years ago
- RMPR 3 years ago
- dolni 3 years agoIf you're interested in a mouseless browser experience, another great option is qutebrowser: https://qutebrowser.org/
- matsemann 3 years agoUsing a Rollermouse, I never have to leave home-row when moving the pointer, so not such a loss of time compared to a normal mouse. The mouse-bar is just a centimeter off the space bar, so I just move it around with my thumbs. Index+thumb if I need more precision. No more elbow pain as well.
- thom 3 years agoThis is what I liked about the old ThinkPad nipples. I would still buy a laptop with that setup and no trackpad, tbh.
- thom 3 years ago
- trey-jones 3 years agoIt's a good skill to have. I think sysadmins kind of acquire it naturally, with much work being done in the terminal. I'm fairly proficient on my own computer with my own hotkeys, though I'm sure I could take it further with some effort. I still use a mouse frequently in the browser, but for the bulk of my work my hands don't leave the keyboard.
I'm not sure whether it's significantly faster than an "expert mouse user" but I also don't think it's slower. I haughtily think that my killing and yanking is more precise than it would be clicking, but who knows?
I think it's kind of a parlor trick really, but it does impress the younger and less experienced team members to some degree.
- cle 3 years agoTake care of your hands. I went on a crusade to go mouseless a few years ago, and eventually it resulted in RSI from typing so much. Focus on your posture, take breaks, stretch your hands and fingers, get an ergonomic keyboard, etc.
An under-appreciated benefit of using a mouse (as a programmer) is that it "switches things up" on your hands so that you aren't doing the same repetitive motions all day long. You can be marginally faster with a mouseless workflow, but you're definitely not very productive when you can't type for months due to RSI.
- cainxinth 3 years agoMy computer-related RSI prevention tips:
Get separate mouse and keyboard wrist rests.
Use a vertical mouse instead of a traditional one.
Use more than one type of mousing device and switch up from time to time. Graphic tablets with digital pens take some getting used to but are excellent.
Look up RSI forearm stretches and take breaks to stretch your arms and hands for a few moments at least every few hours. I'm also a big fan of gyro ball exercisers.
Get an ergonomic chair with movable arm rests that can keep your arms at around the same height as the desk your working at.
- jxramos 3 years agoI second the alternation idea, I have something like 4 input devices I alternate between to "spread the load" across different limbs and body parts. People experiment with different keyboard layouts too that basically remap the characters to different keys on the keyboard.
* roller mouse * left hand vertical mouse * right hand vertical mouse * trackpad * foot pedal
- BeFlatXIII 3 years agoWhat are some vertical mouse recommendations? I currently have an ancient Anker vertical mouse and am curious if one of the $100+ mice is worth the upgrade.
- cainxinth 3 years agoMy first vertical mouse was by Evolulent. Cost like $90 and it was great, but the slip feet wore away, the company made it very difficult to contact them, were sorta rude on the phone, and then said no to free replacement feet. I used slip tape for a while but eventually gave up.
That experience made me not want to buy another from them, so I bought the Anker wired vertical mouse for like $12. It lasted for three years, but the scroll wheel started going. Three years for such a cheap and good mouse was acceptable to me so I bought another, but the scroll wheel on the new one started going in less than a year (I’m not gaming with these things and I take good care of them, I just scroll a lot). To their credit, Anker sent me a free replacement with no hassles.
I still have the free replacement as a backup, but decided maybe it was time to try something fancier again, so I bought a Jellycomb wireless vertical mouse for $30 with a really cool split chassis design. The ergonomics were great, but once again the scroll wheel didn’t last.
My most recent purchase (about six months ago) was a Logitech MX Vertical for $94. The build quality is better than all the others and I like it very much except for one thing: the shape of it and the rubberized surface make my hand a bit hotter than I’d like. I’ve mostly gotten used to it, but it’s noticeable.
It costs 5x what the Anker does. Is it 5x better? No. But it is better, and I wanted something that I (hopefully) can keep for more than a few years. Jury’s still out on that front, though.
- cainxinth 3 years ago
- treeman79 3 years agoStarted having severe wrist pain 20 year ago. I got a bean bag wrist pad. No pain ever so long as I use bran bag ones. Comes back quick without.
- jxramos 3 years ago
- cainxinth 3 years ago
- alpb 3 years agoFor macOS, if you like Vimium, you'll like Vimac https://vimacapp.com/ as well. It supersedes vimium but vimium is still better while working in the browser context.
I'm also actively trying to go mouseless and Vimium+Vimac and setting custom keybindings to move/click my mouse on my ZSA Moonlander keyboard are currently helping me excellently.
In many cases, moving your hand to the mouse, finding the cursor, moving it and clicking it is a lot slower than a keystroke combo like F-SD.
- asjldkfin 3 years agoI have the exact same setup as you, moonlander + vimium + vimac.
Out of curiousity, how are you binding Vimac?
I'm binding it to where the right-shift key should be, and it's worked well, but always curious about alternative setups.
- asjldkfin 3 years ago
- nikivi 3 years agoI do similar but on mac and using Safari. https://github.com/televator-apps/vimari is great for this.
So is Karabiner (https://wiki.nikitavoloboev.xyz/macos/macos-apps/karabiner) to map opening apps to two keys.
- jodrellblank 3 years ago> "With the Vimium extension installed, pressing f will make every visible link on the page get a one-to-three letter shortcut."
This is a UX which happens quite often, but doesn't seem to get discussed much. I want to say it's more of a hybrid between keyboard and mouse even though it's all keyboard driven. I mean popping up numbers temporarily over things you might act on, then they vanish and might not be the same number on the same thing next time. e.g. a meta key in a web browser which overlays the tabs with numbers, you press a number to switch to the tab, then the numbers vanish.
The point would be that you don't have to read through them to work out which one you want, you don't have to manually count "how many things from the left" or "what's a unique substring to search for", you are already looking at the one you want so the number which appears on it is pseudo-eyeball-tracking, look at the thing you want, press the meta key, type the number which appears, ignore the other numbers. Like line numbers and Vim "49G" to jump to line 49, Win+Digit to run taskbar items, Windows menu underlined accelerators.
- arpa 3 years agoI went readless on mobile. Text doesn't wrap, can't zoom out to fit lines into view...
- FelipeCortez 3 years agoSorry about that. I wrote the style sheet in a hurry and forgot to test it on mobile, although zooming out worked for me.
- auslegung 3 years agoSame here, but I turned on reader mode on mobile Safari and was able to read it
- FelipeCortez 3 years ago
- agumonkey 3 years agoI'm at a courthouse, their software is web based and it's so horrendously inefficient. They tried to make a few keybindings but it's mostly mouse driven. Not even Enter to submit the main form. Gah. Lead dev please remember how fast a keyboard is and how important it is to go swift on simple jobs duties. Ergonomy and efficiency.
- brokenmachine 3 years agoCould you use greasemonkey or something to add the Enter to submit? Also there's vimium which might help.
If you do it all the time, it's worth fixing it.
- agumonkey 3 years agothey use IE, there's chrome but it's locked (no devtools) I don't think they allowed for extensions (security risks) but I could check.
right now I'm investigating automation through powershell (ie com object yields the DOM and js runtim)
- agumonkey 3 years ago
- brokenmachine 3 years ago
- alkonaut 3 years agoA mouse or trackpad is a 2D input device. Unless you have a 2D input problem (dragging nodes in a graph, drawing a free form curve, selecting a point on a map…) then it was never the right tool to begin with.
Navigating discrete UI elements or making simple UI actions of the kind that can be mapped to keyboard input - that’s easily doable with a keyboard. Occasionally it’s just a tad harder with keyboard than with mouse (web pages are notoriously useless with keyboard) but it’s possible.
I wouldn’t last a day without going crazy without a mouse though. People who say they have gone mouseless also seem to argue they have zero 2D input and basically use text and ignore all other workloads. That’s not exactly solving the problem (not that I think it can be solved any better than just using a mouse!)
- CharlesW 3 years ago> Unless you have a 2D input problem…
Are not most GUIs are a 2D input mechanism?
- arksingrad 3 years agoIt depends on the GUI.
For photo editing, the interactions with the photo directly require fine control in two dimensions with the cursor.
Many GUIs are just interfaces to modal switches, or a categorical variable with usually a finite number of options.
- alkonaut 3 years agoSort of (depends on terminology): A form is a set of controls laid out in 2D. But they are ordered and discrete so you can just ignore their positioning in x,y and instead navigate in their order instead (e.g tabbing through controls) making it a 1D input!
By “2D input” in this context I mean input where there isn’t also such a navigation option and you must input one or more coordinates and there is no way to enter the coordinates as numbers. For example the input surface (image) in a drawing program like Microsoft paint.
- auggierose 3 years agoRandom access vs. sequential access. Guess which one is more efficient?
- auggierose 3 years ago
- enriquto 3 years agoyes. But text UIs are, arguably, infinite-dimensional (because language is). Thus a 2D input problem is a severely limited particular case, that allows for very specific and useful optimizations helped by a mouse, pad or trackball.
- arksingrad 3 years ago
- CharlesW 3 years ago
- ndand 3 years agoMy attempt to make a practical keyboard-driven cursor app for Windows:
- Stratoscope 3 years agoThe article notes that you can use MouseKeys on Windows. MouseKeys is great, but only works if your keyboard has a numeric keypad.
Since I've used ThinkPads for many years, I wrote a program some time ago I called JKLmouse. It gives similar functionality to MouseKeys, but works on ThinkPad and other laptop keyboards that don't have a numeric pad.
It does help to have actual mouse buttons like on a ThinkPad. If you have laptop where the only way to do a mouse click is by pressing on the touchpad it won't work so well, because just the act of pressing the touchpad is likely to move the mouse pointer slightly.
JKLmouse and the TrackPoint work together nicely. You can use the TrackPoint for larger mouse motions and then use the keyboard for precise positioning, all seamlessly.
There is an installer, but for programmers I suggest instead installing AutoHotkey separately, and then download and configure JKLmouse.ahk to run at startup. If I do say so myself, I think it's a good example of some well-written AutoHotkey code. Maybe it will give you some ideas of other things you can do with AutoHotkey.
- fleaaaa 3 years agoVimium extension(I don't even use vim) and split keyboard browsing experience is such a god-send to me, maybe I should donate some to these dev..
- zerop 3 years agoSame thing happened to me quite a while ago when my mouse didn’t work consistently and started exploring keyboard ways of doing all work... and it did improve my keyboard shortcut awareness and usages. I still use them... I feel that keystroke of older keyboards was better than modern laptops. The key press was longer and somehow I like it more than modern ones.
- brokenmachine 3 years agoSome laptops have mechanical switches nowadays, I haven't tried them but they couldn't possibly be worse than normal laptop keyboards.
- brokenmachine 3 years ago
- salamandersauce 3 years agoSurprised there was no mention of using a tiling window manager like Xmonad, RatPoison etc. That can really cut down on mice usage.
- majewsky 3 years agoBefore I switched to a tiling window manager, I had my global shortcuts in KDE set up with all the available quick-tiling actions. Win+S would maximize a window, Win+{W,A,D,X} would move and resize the window to cover the {upper,left,right,bottom} half to the screen, and Win+{Q,E,Z,C} would similarly move and resize the window to one of the screen's quadrants. The shortcuts seem arbitrary, but are deliberately chosen to arrange into a nice square on the keyboard. That setup worked nicely for me for several years, until I converted to a true tiling window manager (Sway).
- HKH2 3 years agoEven just using shortcut keys to tile windows is better than using a mouse.
- majewsky 3 years ago
- asymptosis 3 years agoI remember trying this a decade ago with uzbl and vimperator. It was okay for a while, but uzbl unfortunately failed to gain momentum, and vimperator was nixxed more and more for various reasons.
The article in the link makes it sound like vimium is the last holdout of the resistance. It would be nice if it were possible to have other options again.
- square_usual 3 years agoOn Firefox, Tridactyl is actively developed and very feature rich. The only minor annoyance I have with it is that it sometimes overrides shortcuts other webapps have defined, which makes it difficult to work with eg. linear.app or RES for reddit. You can blacklist sites from Tridactyl, but then you have to choose between only native shortcuts, which can miss some crucial actions but are otherwise better than tridactyl, or only tridactyl.
- bovine3dom 3 years agoI think bindurl and unbindurl would solve most of your complaints: if you just want a few Tridactyl binds use blacklistadd then `:bindurl [URL] --mode=ignore ...`; if you want just a few webapp binds use `:unbindurl [URL] ...`.
There's also Ctrl-v in normal mode that lets you send one key sequence to ignore mode - I use it on YouTube with `Ctrl-v f` to toggle fullscreen. Ctrl-o works similarly but for normal mode from ignore mode.
- square_usual 3 years agoHey, awesome to get a reply from you! Thanks for all your work on tridactyl, it's made life a lot easier!
- square_usual 3 years ago
- bovine3dom 3 years ago
- alpaca128 3 years agoOn Firefox there's also Surfingkeys. I've been using that for the last year or so. Can't remember the exact reason I switched but it's been working well so far.
- square_usual 3 years ago
- whall6 3 years agoInvestment bankers are judged for using the mouse when using excel. It’s a rite of passage to be completely mouseless
- agumonkey 3 years agoI remember some finance dude handling excel like a korean gamer playing starcraft, it was as exciting as humbling.
- 908B64B197 3 years agoIntern: Uses the mouse
Junior: TrackPoint
Senior: Keyboard Only
Partner: Has someone else use the computer
- agumonkey 3 years ago
- tkainrad 3 years agoVimium was one of the first tools I learned shortcuts for with KeyCombiner[1].
I still have to use KeyCombiner Desktop's instant lookup[2] feature from time to time to look up its more unusual bindings.
A somewhat related blog post: Learning all VSCode shortcuts evolved my developing habits [3]
[2] A feature to look up shortcuts without leaving your current app. Can show shortcuts of the current app, current browser tab (macOS only), and shortcuts that you manually curated in collections.
[3] https://tkainrad.dev/posts/learning-all-vscode-shortcuts-evo...
- amelius 3 years agoI'm using a simple Wacom tablet. However, I still switch to the mouse for some tasks (Inkscape, KiCAD), because of the scrollwheel (indispensable for quick zooming).
I wish there was a hybrid solution (e.g. tablet with separate wheel for zooming) which is easy to set up in Linux.
- accurateappL 3 years agoI use tridactyl on firefox and it works very well.
- michaelkaufman 3 years agoI program with a Magic Trackpad 2. There's not too much I can't do with gestures vs a keyboard. It's much faster than using two hands. I also set it up for 3-finger drag and that's the killer app within the app. With that, moving windows around is dramatically faster than a mouse. I can select text with 3-finger drag and then two-finger tap for the context menu to see: definitions, copy/paste, delete etc..). Navigating my laptop is more enjoyable when I can use all five fingers for different things. Apple should take this feature out of the Accessibility menus and put it where it belongs with the trackpad prefs.
- sudosysgen 3 years agoCan't your window manager let you move windows using a key + mouse? Much faster than a mouse imo, and I used to use a Magic Trackpad also.
- sudosysgen 3 years ago
- taxcoder 3 years agoThanks for the keynav pointer. I switched from a mouse to a trackball due to shoulder pain, and it has really helped. Still, anytime I can use the keyboard instead of the mouse it makes me happy.
- smoldesu 3 years agoFor me, the key to "mouseless" is going to be the Tex Shinobi[0]. I haven't quite worked up the confidence to buy one yet (partially because current mechanical keyboard still works frustratingly well), but I look forwards to the day I could get something like this for TrackPoint synergy across all my typing surfaces.
- user3939382 3 years agoKeyboard is faster when instructing the computer for actions that you execute all the time. For situations where it’s practical to learn a keyboard input, it’s great.
Where this interface paradigm breaks down are in contexts where the input is novel. Keyboard shortcuts and commands have a discoverability problem that has not been commonly solved in way that makes them faster than the mouse for new/rare users.
- tkainrad 3 years ago> Keyboard shortcuts and commands have a discoverability problem that has not been commonly solved [...]
You might want to have a look at KeyCombiner Desktop[1], an application that can show the shortcuts for the current app without leaving it. On macOS, it even shows shortcuts for the current browser tab.
This solved the problem for me. Disclaimer: I made KeyCombiner
- tkainrad 3 years ago
- swader999 3 years agoWhat I want is a very small thumb trackball mouse that I can stick right in the middle of my truly ergonomic cleave keyboard.
- dredmorbius 3 years agoThat's quite close to what the IBM/Lenovo Trackpoint offers.
No, it's not a trackball (it operates by pressure rather than rolling), but the navigation is quite precise, and leaves both hands on the keyboard and home-row keys.
I've reached the point I'd like that for a desktop keyboard as well as laptop.
- CRConrad 3 years ago> I'd like [the IBM/Lenovo Trackpoint] for a desktop keyboard as well as laptop.
I think such things are commercially available. At least I'm fairly sure I saw them advertised on the Internet, not many years ago.
- CRConrad 3 years ago
- darnir 3 years agoThe Ultimate Hackers Keyboard has exactly that as a module you can attach to the keyboard.
- swader999 3 years agoIt does it does! Very tempted.
- swader999 3 years ago
- the_gipsy 3 years agoNot sure what cleave keyboard is, but you can stick a tint pimoroni trackball on any qmk keyboard microcontroller.
- dredmorbius 3 years ago
- a-b 3 years agoOS X users could try https://github.com/pqrs-org/KE-complex_modifications/blob/ma...
- a-b 3 years ago
- a-b 3 years ago
- anthk 3 years agoDoable with cwm (window manager with being everything manageable with a keyboard), st (pick any terminal here), tmux (better than spawning lots of terminals) and vimb (keybindings based web browser, but you can use the mouse if you want too) under BSD/Linux.
It helps against RSI.
- Koshkin 3 years agoI use text-mode links whenever I can, works great (even on Windows [0]).
- ericwooley 3 years agoA little off topic, but I got a UHK with the trackpoint module. It's been amazing.
UHK also has a mouse layer if you don't want the module.
Not having to move your fingers off the keyboard is what really saves me time, and has completely cured my tennis elbow.
Can't recommend it enough
- noxer 3 years agoWell Trackpoints are a thing still and way better than moving the mouse with the keys. Yes you can get desktop keyboard with trackpoints too.
For longer mouse task I switch to a real mouse anyway.
- jemurray 3 years agoI’ve used vi for 25 years now. Every shortcut and key combination is burned into unconscious memory. This holds true for all other applications used on a regular basis.
- dainiusse 3 years agoHmm. This sounds like a modern day amish :) i guess some sort of tiling window manager could better suit it
- blendergeek 3 years ago@dang, should this not have (1989) in the title?
Or am I misunderstanding exactly when we put a year in the title?
- nodejs_rulez_1 3 years agoNow go fingerless on your smartphone. Oh, we make an exception there do we?
- sillyquiet 3 years agoI think the snark is overboard, but I get what you are saying - but I will defend the article in that it's a neat experiment and it sort of highlights gaps in accessibility, like others in the thread have noted.
However, my first computer was a Commodore 64 and I currently have a Commodore 64 emulator I love playing around with - and doing everything in keyboard commands is a pita for things like word processors and spreadsheets even when you have the shortcuts in muscle memory.
There's a reason the mouse was so successful.
- qu4z-2 3 years agoI wish I could, frankly, but smartphone UIs are just not designed for it sadly. Heck, input boxes don't even autofocus on Android (presumably because a virtual keyboard pops up over half the screen for most people once they focus an input) so I need to jab the login field before I can start typing.
Whether or not Ctrl-C and Ctrl-V actually copy paste within any given application is about 50/50 (and not always the same between copy and paste!).
Since the big new version of Mobile Firefox it no longer scrolls when you send it scroll events (presumably there's a child frame or something).
Then again, Android is just generally not ready for production in a lot of ways other than keyboard support (the latter of which I sort of forgive them for -- phone keyboards are unfortunately quite rare these days).
So yes, we make an exception, but it's due to necessity not desirability.
- toast0 3 years agoPhysical keyboards on smart phones were glorious. Not all the apps would let you go through fields using only the keyboard (and some keyboards didn't have enough navigation keys, anyway), but when it worked well, it worked well.
Sadly, it cost money to include a keyboard, so the race to the bottom means you can't find them anymore. Just like real back buttons.
- brokenmachine 3 years agoPersonally, I don't want a physical keyboard on my phone.
I am irritated that the menu button was taken away on Android, that was good UI.
Now every app does menu differently which is a massive step backwards for discoverability and consistency.
- brokenmachine 3 years ago
- sillyquiet 3 years ago
- speedgoose 3 years agoIt's a lot easier with a touchscreen.
- orhanerday 3 years agoit's looking amazing.
- dotBen 3 years agooh boy. I'm happy to send the OP a mouse from Amazon if they DM me their address
- toiletaccount 3 years agoI've been doing this for the past 15 years. I use bash, tmux, (n)vim and git. It runs in whatever WM and on any OS I'll encounter. If your environment is a few simple tools, it's basically future proof and very portable. I like to keep config files fairly minimal as well so I don't become dependant on custom keybinds or functionality.
Touch screens on laptops have really made things nice for mouseless browser use. (eg, when you can't keyboard select a field or button)
- brokenmachine 3 years agoI can never imagine wanting to use a touch screen rather than a mouse which is much closer and more ergonomic, and has multiple buttons.
- toiletaccount 3 years agoI mapped a button to disable mouse input since the pad is right under my wrists when I type. For selecting one or two radio buttons or text fields, it's quicker to use the screen.
- toiletaccount 3 years ago
- RMPR 3 years ago> Touch screens on laptops have really made things nice for mouseless browser use. (eg, when you can't keyboard select a field or button)
The trackpoint makes it even better since your hands do not move from the keyboard in the first place
- brokenmachine 3 years ago