Google-chrome – How to configure CTRL+H as backspace under Google Chrome

debiangoogle-chromekeyboard shortcuts

I cannot make CTRL+H do anything else than "Open history" under Google Chrome. I tried the Chrome plugin allowing to redefine keyboard shortcuts but I can only add "actions" or whatever that means to a keyboard shortcut and apparently it's done using some gigantic JavaScript hack.

Here's the plugin:

https://chrome.google.com/webstore/detail/mgjjeipcdnnjhgodgjpfkffcejoljijf

In any case I cannot make CTRL+H work as the backspace key under Chrome (i.e. delete the key at the left of the cursor). I'd particularly like that to work in the address bar / search bar (which is the same "bar" under Chrome) and in text edit form as well.

So how can I make CTRL+H work as the backspace key under Google Chrome? (Debian GNU/Linux Wheezy here).

Note that if the answer is to use the plugin for Chrome allowing to change shortcuts, then I'd need the exact method, step-by-step, as to how to do it because I already tried it and couldn't make it work

Best Answer

I know this is an old question, but I came across this while trying to do the same thing as you so I'm gonna post this anyways.

I'm using Chromium and I used Ubuntu 12.04 (now I'm using Gentoo), but it shouldn't matter.

Executing:

$ gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"

will change the key bindings to the Emacs binding. If you're fine with that, then this is all. However, if you want to use Ctrl-a as "select all", there's a bit more work to do.

Take a look at /usr/share/themes/Default/gtk-2.0-key/gtkrc and /usr/share/themes/Emacs/gtk-2.0-key/gtkrc. The syntax should not be too difficult to understand. Copy all the key bindings you want to use to the /usr/share/themes/Default/gtk-2.0-key/gtkrc. Don't forget to add the

class "GtkEntry" binding "foo"
class "GtkTextView" binding "foo"
class "GtkTextView" binding "bar"

part, which can be found at the very end of the file.

GNOME

The settings should be reflected by switching to the Emacs theme and switching back to the Default theme.

$ gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
$ gsettings set org.gnome.desktop.interface gtk-key-theme "Default"

Non-GNOME

Create and add the following to ~/.gtkrc-2.0

gtk-key-theme-name = "Default"

Restart Chromium and the settings should be reflected.

The best thing about this is that even if you set Ctrl-w to delete one word, you're still able to close tab when you're not inputting.

P.S. I also use the happy hacking keyboard and I'm happy to find someone who uses it too :)

Ubuntu 18.04 (GTK3)

Edit: 11/01/2018

After nearly 5 years, I'm updating this post for Ubuntu 18.04. I'm currently using Firefox, but the following should be independent of what browser you use.

On GTK3, the ~/.gtkrc-2.0 method no longer works. Instead, edit the ~/.config/gtk-3.0/settings.ini and add the following line to the end:

gtk-key-theme-name=Emacs

If you want to modify the bindings, the Emacs binding can be found in /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css, which can be copied over to ~/.config/gtk-3.0/gtk.css and modified.

Some references: