1. 37

As most of you know, Firefox will soon drop support for “legacy” extensions, and Vimperator, Pentadactyl, and Mouseless Browsing are all incompatible with Firefox 57. I just recently ported my modest alternative to those extensions to WebExtensions, and figured that some of the people on lobste.rs could find this useful, at least until their preferred keyboard browsing addon is updated to support firefox 57.

The plugin is of course open source (https://github.com/mortie/mouseless-plugin), and I’d be happy to receive feedback, bug reports, or feature requests (though obviously can’t promise to implement everything).

There’s one known bug so far: Some websites are too cool to use an <a> tag, and instead use a <span> or <div> or something equally silly, with a JavaScript click event handler, as links. I have some ideas about how I could fix that, but don’t have a ton of time to work on it at the moment because studies.

  1. 4

    This looks nice; I was concerned that with the move to WebExtensions, Firefox would be subject to the same crippling limitations as Chrome extensions, which are hard-coded against rebinding keys like ctrl-n and ctrl-p.

    It’s still no substitute for proper Emacs bindings that work in textareas, but this might prevent me from throwing my laptop out of the window when Mozilla finally destroys KeySnail.

    1. 2

      Hi, are there any brief instructions on how to use it? I see the shortcuts defined in the settings but they don’t seem to work. Is it modal? This is probably obvious stuff, but I could use a little direction. :)

      1. 4

        You have to reload a page before the addon works in it. I don’t really know if there’s a way to work around that, but it’s like that for now at least :)

        Also, keep in mind that add-ons don’t work on addons.mozilla.org.

        1. 2

          Thanks for the info. I also had to select the preset. Which should be obvious from the control label, but I was thinking it would default to qwerty.

          1. 2

            No, it should default to QWERTY. What version of Firefox are you using?

            1. 1

              Nightly - 57

          2. 1

            I had the same problem you need to manually refresh any already open tab before you can use it on that tab. Or just restart the browser.

          3. 2

            I like this so far. Still getting used to it, but I think it works well for me.

            A few comments:

            • I like the scroll amount. I’ve never really thought about this before, but it fits nicely in between what you get by scrolling with arrow keys (too little) and what you get with pgup/pgdown (too much).
            • I remapped scroll-up/down from kl to kj to match my vim muscle memory, though. Being one key shifted over, and with the up/down order swapped, was confusingly similar-yet-not for me.
            • I disabled j; to switch tabs. This seems to break for me too often when I want to switch more than one tab to the left/right. I’ll try hitting ;; to go two right, but the intermediate tab will end up focusing a textarea (on lobste.rs, for example) so I’ll end up just typing ; into the textarea. I’ve already gotten used to using ctrl+tab and ctrl+shift+tab for keyboard tab switching, so I’ll just keep doing that I think, trading off the emacs-esque modifier key contortions for more reliably out-of-band signalling.
            • The “blobs” system for clicking links is weird, but I’m finding it nice to use. Is this an existing approach to keyboard navigation of links? I haven’t run into it before. Textmode browsers like lynx and links use either arrow-scrolling through links, or numbered links instead, but this seems quite a bit faster for pages with many links.
            1. 3

              Is this an existing approach to keyboard navigation of links?

              I believe this is what vimperator/pentadactyl/uzbl use

            2. 1

              This is cool! I’ve tried keysnail and vimperator, but they all felt like a bit too much for me. One thing I preferred with …one of them, can’t remember which… was that you could press the “show blobs” key and as soon as you’d typed a full blob, it’d open the link in a new tab, instead of then having to click (shift)enter. You of course need different “show blob” keys (one for same tab, one for new tab, one for copy URL), but I it does save a keypress altogether and I think it “feels faster”.

              I tried https://i.imgur.com/xstOfrZ.png for settings, but even after restarting firefox, the “scroll up/down fast” features still require S-? and S-`.

              It might make sense to make the blobs hide on any scroll event, or just on any key that’s not a “blob key” or backspace.

              Also, how about “scroll to top/bottom” keys? And, for those really awful web sites that require it: “scroll a full page left/right”

              1. 1

                I currently take a more drastic approach and use Conkeror, which is a reskinning of Gecko rather than an extension.

                Nice to know that these extensions will still be around if/when Conkeror stops working (e.g. when Mozilla switch away from Gecko, XUL, etc.)

                1. 1

                  Vimium does a similar job for Chrome.

                  1. 1

                    How does it compare to the QuantumVim extension?