<RANT>
I may be old and crusty but that's not my problem. I simply want
control-h to work as backspace, they way God intended. The extensive
shortcut mappings in Firefox cause it to show the history sidebar
instead. There has to be a way around this.
</RANT>
Fortunately, Firefox is implemented in XUL, so the description of much of the behavior is in text form, not coded in binary. You just have to know where to look for it. My instance of Firefox is installed at /opt/firefox (and yes, I will end up changing it for everyone sharing this computer, but that's only me), so we do our work there
For my purposes, it was sufficient to just assign the showHistory
to another key. What we do is extract the key definitions from
the .jar file containing them, modify and replace.
Now it gets more interesting. This file is the definitions of
the entities used in broswer.jar:content/browser/browser.xul
(which you can hack with the same technique). I located the
this line
% cp /opt/firefox/chrome/en-US.jar .
% mkdir tmp
% cd tmp
% unzip ../en-US.jar
% vi locale/browser/browser.dtd
and simply remapped to some other poor slob, like 'z', giving this:
<!ENTITY historySidebarCmd.commandKey "h">
All that's left is to put it back in the jar and go
<!ENTITY historySidebarCmd.commandKey "z">
Close all your open firefox instances and restart.
It almost works. Now control-h sends you back a page.
Someday I'll figure it out the way I like it. Until then,
maybe this information will serve as a guideline to someone
else.
% jar -u0f ../en-US.jar locale/browser/browser.dtd
% sudo cp ../en-US.jar /opt/firefox/chrome/en-US.jar
Disclaimer: Don't blame me if these instructions don't work for your version of firefox. Make sure you have an installation kit downloaded *BEFORE* you try something like this, just in case firefox goes paws up after your surgery.