设置firefox浏览器中的快捷键

在firefox源码中,如何修改firefox浏览器的快捷键的配置呢?

以firefox-23.0为例,将对该问题进行介绍:
在目录firefox/firefox-23.0+build2/obj-i686-pc-linux-gnu/dist/bin/browser/chrome/browser/content/browser下,存在一个browser.xul文件,该文件中描述了firefox浏览器的快捷键的设置.该文件中存在如下的代码,从中可以看出相应功能的快捷键设置.比如说,F11是全屏与窗口模式的切换等.

 <keyset id="mainKeyset">
   <key id="key_newNavigator"
   key="&newNavigatorCmd.key;"
   command="cmd_newNavigator"
   modifiers="accel"/>
   <key id="key_newNavigatorTab" key="&tabCmd.commandkey;" modifiers="accel" command="cmd_newNavigatorTab"/>
   <key id="focusURLBar" key="&openCmd.commandkey;" command="Browser:OpenLocation"
   modifiers="accel"/>
   <key id="focusURLBar2" key="&urlbar.accesskey;" command="Browser:OpenLocation"
   modifiers="alt"/>

   <key id="key_search" key="&searchFocus.commandkey;" command="Tools:Search" modifiers="accel"/>
   <key id="key_search2" key="&searchFocusUnix.commandkey;" command="Tools:Search" modifiers="accel"/>
   <key id="key_openDownloads" key="&downloadsUnix.commandkey;" command="Tools:Downloads" modifiers="accel,shift"/>
   <key id="key_openAddons" key="&addons.commandkey;" command="Tools:Addons" modifiers="accel,shift"/>
   <key id="key_errorConsole" key="&errorConsoleCmd.commandkey;" command="Tools:ErrorConsole" modifiers="accel,shift"/>
   <key id="key_devToolbar" keycode="&devToolbar.keycode;" modifiers="shift"
   keytext="&devToolbar.keytext;" command="Tools:DevToolbarFocus"/>
   <key id="key_responsiveUI" key="&responsiveDesignTool.commandkey;" command="Tools:ResponsiveUI"
   modifiers="accel,shift"
   />
   <key id="key_scratchpad" keycode="&scratchpad.keycode;" modifiers="shift"
   keytext="&scratchpad.keytext;" command="Tools:Scratchpad"/>
   <key id="openFileKb" key="&openFileCmd.commandkey;" command="Browser:OpenFile"  modifiers="accel"/>
   <key id="key_savePage" key="&savePageCmd.commandkey;" command="Browser:SavePage" modifiers="accel"/>
   <key id="printKb" key="&printCmd.commandkey;" command="cmd_print"  modifiers="accel"/>
   <key id="key_close" key="&closeCmd.key;" command="cmd_close" modifiers="accel"/>
   <key id="key_closeWindow" key="&closeCmd.key;" command="cmd_closeWindow" modifiers="accel,shift"/>
   <key id="key_undo"
   key="&undoCmd.key;"
   modifiers="accel"/>
   <key id="key_redo" key="&undoCmd.key;" modifiers="accel,shift"/>
   <key id="key_cut"
   key="&cutCmd.key;"
   modifiers="accel"/>
   <key id="key_copy"
   key="&#169;Cmd.key;"
   modifiers="accel"/>
   <key id="key_paste"
   key="&pasteCmd.key;"
   modifiers="accel"/>
   <key id="key_delete" keycode="VK_DELETE" command="cmd_delete"/>
   <key id="key_selectAll" key="&selectAllCmd.key;" modifiers="accel"/>

   <key keycode="VK_BACK" command="cmd_handleBackspace"/>
   <key keycode="VK_BACK" command="cmd_handleShiftBackspace" modifiers="shift"/>
   <key id="goBackKb"  keycode="VK_LEFT" command="Browser:Back" modifiers="alt"/>
   <key id="goForwardKb"  keycode="VK_RIGHT" command="Browser:Forward" modifiers="alt"/>
   <key id="goBackKb2" key="&goBackCmd.commandKey;" command="Browser:Back" modifiers="accel"/>
   <key id="goForwardKb2" key="&goForwardCmd.commandKey;" command="Browser:Forward" modifiers="accel"/>
   <key id="goHome" keycode="VK_HOME" command="Browser:Home" modifiers="alt"/>
   <key keycode="VK_F5" command="Browser:Reload"/>
   <key id="showAllHistoryKb" key="&showAllHistoryCmd.commandkey;" command="Browser:ShowAllHistory" modifiers="accel,shift"/>
   <key keycode="VK_F5" command="Browser:ReloadSkipCache" modifiers="accel"/>
   <key keycode="VK_F6" command="Browser:FocusNextFrame"/>
   <key keycode="VK_F6" command="Browser:FocusNextFrame" modifiers="shift"/>
   <key id="key_fullScreen" keycode="VK_F11" command="View:FullScreen"/>
   <key key="&reloadCmd.commandkey;" command="Browser:Reload" modifiers="accel" id="key_reload"/>
   <key key="&reloadCmd.commandkey;" command="Browser:ReloadSkipCache" modifiers="accel,shift"/>
   <key id="key_viewSource" key="&pageSourceCmd.commandkey;" command="View:PageSource" modifiers="accel"/>
   <key id="key_viewInfo"   key="&pageInfoCmd.commandkey;"   command="View:PageInfo"   modifiers="accel"/>
   <key id="key_find" key="&findOnCmd.commandkey;" command="cmd_find" modifiers="accel"/>
   <key id="key_findAgain" key="&findAgainCmd.commandkey;" command="cmd_findAgain" modifiers="accel"/>
   <key id="key_findPrevious" key="&findAgainCmd.commandkey;" command="cmd_findPrevious" modifiers="accel,shift"/>
   <key keycode="&findAgainCmd.commandkey2;" command="cmd_findAgain"/>
   <key keycode="&findAgainCmd.commandkey2;"  command="cmd_findPrevious" modifiers="shift"/>

   <key id="addBookmarkAsKb" key="&bookmarkThisPageCmd.commandkey;" command="Browser:AddBookmarkAs" modifiers="accel"/>
   <key id="manBookmarkKb" key="&bookmarksGtkCmd.commandkey;" command="Browser:ShowAllBookmarks" modifiers="accel,shift"/>
   <key id="viewBookmarksSidebarKb" key="&bookmarksCmd.commandkey;" command="viewBookmarksSidebar" modifiers="accel"/>

   <key id="markPage" key="&markPageCmd.commandkey;" command="Social:TogglePageMark" modifiers="accel,shift"/>
   <key id="focusChatBar" key="&social.chatBar.commandkey;" command="Social:FocusChat" modifiers="accel,shift"/>

   <key id="key_stop" keycode="VK_ESCAPE" command="Browser:Stop"/>


   <key id="key_gotoHistory"
   key="&historySidebarCmd.commandKey;"
   modifiers="accel"
   command="viewHistorySidebar"/>

   <key id="key_fullZoomReduce"  key="&fullZoomReduceCmd.commandkey;"   command="cmd_fullZoomReduce"  modifiers="accel"/>
   <key                          key="&fullZoomReduceCmd.commandkey2;"  command="cmd_fullZoomReduce"  modifiers="accel"/>
   <key id="key_fullZoomEnlarge" key="&fullZoomEnlargeCmd.commandkey;"  command="cmd_fullZoomEnlarge" modifiers="accel"/>
   <key                          key="&fullZoomEnlargeCmd.commandkey2;" command="cmd_fullZoomEnlarge" modifiers="accel"/>
   <key                          key="&fullZoomEnlargeCmd.commandkey3;" command="cmd_fullZoomEnlarge" modifiers="accel"/>
   <key id="key_fullZoomReset"   key="&fullZoomResetCmd.commandkey;"    command="cmd_fullZoomReset"   modifiers="accel"/>
   <key                          key="&fullZoomResetCmd.commandkey2;"   command="cmd_fullZoomReset"   modifiers="accel"/>

   <key id="key_showAllTabs" command="Browser:ShowAllTabs" keycode="VK_TAB" modifiers="control,shift"/>

   <key id="key_switchTextDirection" key="&bidiSwitchTextDirectionItem.commandkey;" command="cmd_switchTextDirection" modifiers="accel,shift" />

   <key id="key_tabview" key="&tabView.commandkey;" command="Browser:ToggleTabView" modifiers="accel,shift"/>

   <key id="key_privatebrowsing" command="Tools:PrivateBrowsing" key="&privateBrowsingCmd.commandkey;" modifiers="accel,shift"/>
   <key id="key_sanitize" command="Tools:Sanitize" keycode="VK_DELETE" modifiers="accel,shift"/>
   <key id="key_quitApplication" key="&quitApplicationCmdUnix.key;" command="cmd_quitApplication" modifiers="accel"/>

   <key id="key_undoCloseTab" command="History:UndoCloseTab" key="&tabCmd.commandkey;" modifiers="accel,shift"/>
   <key id="key_undoCloseWindow" command="History:UndoCloseWindow" key="&newNavigatorCmd.key;" modifiers="accel,shift"/>


   <key id="key_selectTab1" oncommand="gBrowser.selectTabAtIndex(0, event);" key="1" modifiers="alt"/>
   <key id="key_selectTab2" oncommand="gBrowser.selectTabAtIndex(1, event);" key="2" modifiers="alt"/>
   <key id="key_selectTab3" oncommand="gBrowser.selectTabAtIndex(2, event);" key="3" modifiers="alt"/>
   <key id="key_selectTab4" oncommand="gBrowser.selectTabAtIndex(3, event);" key="4" modifiers="alt"/>
   <key id="key_selectTab5" oncommand="gBrowser.selectTabAtIndex(4, event);" key="5" modifiers="alt"/>
   <key id="key_selectTab6" oncommand="gBrowser.selectTabAtIndex(5, event);" key="6" modifiers="alt"/>
   <key id="key_selectTab7" oncommand="gBrowser.selectTabAtIndex(6, event);" key="7" modifiers="alt"/>
   <key id="key_selectTab8" oncommand="gBrowser.selectTabAtIndex(7, event);" key="8" modifiers="alt"/>
   <key id="key_selectLastTab" oncommand="gBrowser.selectTabAtIndex(-1, event);" key="9" modifiers="alt"/>

   <key id="key_toggleAddonBar" command="Browser:ToggleAddonBar" key="&toggleAddonBarCmd.key;" modifiers="accel"/>

  </keyset>

还是不要改的为好,这个比较通用:)

一般不改,但是如果需要定制firefox浏览器的话,可以借鉴.