cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
esse
Strollin' around
Status: New idea

I was excited the recent Firefox nightly finally added the ability to do the basics: customize away the bad default keyboard shortcuts. However, I was sorely disappointed when I realized to primitive the current implementation is: you can't even rebind all the defaults (so the most common action of navigating to the next/previous tab is still off), and you can't even bind multiple keys for a command.

At least copy what Vivaldi has been doing for years!!! Allow rebinding everything, allow single keys (press Z/X to navigate history back/forward, no modifier needed!)

But now that there is some movement in this feature I'd like to suggest a radically better system vs whatever the current one is shaping up to be (maybe taking X more months to gradually extend to cover some basics), which can solve all the keybinding customization issues for years to come.

Add a proper advanced keyboard handling engine like QMK or kanata with contexts (just take a look at how each keybinding is given context conditions in various IDEs/code editors you use to code Firefox in for inspiration) so that you could do such beauty as:

- when not editing text, tap Z to go back in history, tap Z then A quickly (to a sequence of 2 taps) to go to the first page in history for the current session. Tap X to go forward in history, tap tap X then A quickly to go to the last page in history for the current session. Tap X then S to show page navigation history in a GUI

- when not editing text, tap D to go to the previous tab, F to go to the next tab, tap S to search currently opened tabs by name/url (all home row keys, can't get more convenient than then)

- when editing text, repeat the same action with Alt or another modifier pressed

- when editing any text hold SPACE (the most convenient button) and tap IJKL (inverted T cursor on your home row) to move your cursor just like if you pressed arrow keys

- when navigating a page, hold SPACE and tap JL (left/right of the inverted T cursor) to switch to tab left/right

- when navigating a page, hold SPACE and tap IK (up/down of the inverted T cursor) to switch to jump by half a page up/down

- or have the awesomeness of home row mods when typing without any extra tools (that do not know whether you're typing or not in a browser due to various limitations): hold F when tiping and tap any letter to capitalize it just like holding a Shift

And of course none of this complexity has to overwhelm any user: for basic stuff user could still use all that power to just do dumb change in the UI from Ctrl+P to Ctrl+O and only add the extra conditions if they feel like it

And invert the binding logic: instead of exposing a measly dozen of commands to be rebindable, make them all available as actions you could plug into any custom context/keybind, and also allow chains like in Vivaldi: then if you wanted to copy the current content of the URL bar you wouldn't even have to wait for Firefox to add that command, you could simply bind

Ctrl+Shift+C: sequence of 1) command_focus_address_bar 2) command_copy_selected_text_to_clipboard 3) send_key_Escape (to remove address bar focus)

(or do what Vivaldi already does and allow defining a custom chain of commands first, then using the new command_custom_chain_x in any keybinding)

 

1 Comment
Status changed to: New idea
Jon
Community Manager
Community Manager

Thanks for submitting an idea to the Mozilla Connect community! Your idea is now open to votes (aka kudos) and comments.