Mac OSX上的Conkeror键绑定

时间:2010-02-04 07:00:26

标签: emacs macos key-bindings conkeror

有没有人想出如何在Mac OSX上更改Conkeror的元键和控制键的键绑定?例如,在Emacs中,我的C映射到apple命令键,而我的M映射到选项键。有没有办法为Conkeror做这个?任何人都可以为.conkerorrc文件提供javascript吗?

2 个答案:

答案 0 :(得分:1)

你必须对此进行一些调整,以使其完全符合你的要求,但作为一个例子......将C重新绑定到M

modifiers.C = new modifier(
  function (event) { return event.metaKey; },
  function (event) { event.metaKey = true; });

您需要做的就是分别用M或A或S代替Meta,Alt和Super。然后将metaKey替换为您想要的密钥。我不确定Command键产生了什么,所以你必须摆弄它,但我很确定该选项是Alt,所以这将是

modifiers.M = new modifier(
  function (event) { return event.altKey; },
  function (event) { event.altKey = true; });

虽然很有趣,但在OS X的每个系统上,Conkeror默认情况下将Meta和Alt视为相同。

编辑实际上它看起来比我刚开始说的要复杂得多。你应该阅读the Conkeror wiki page about it

答案 1 :(得分:1)

安装KeyRemap4MacBook

将其放入.conkerorrc

modifiers.C = new modifier(
  function (event) { return event.metaKey; },
  function (event) { event.metaKey = true; });
modifiers.M = new modifier(
  function (event) { return event.ctrlKey; },
  function (event) { event.ctrlKey = true; });

将其放入~/Library/Application Support/KeyRemap4MacBook/private.xml

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>CONKEROR</appname>
    <equal>org.mozdev.conkeror</equal>
  </appdef>
  <item>
    <name>Enable only in Conkeror</name>
    <item>
      <name>Option_L to Control_L</name>
      <identifier>private.app_cokeror_option_l_to_control_l</identifier>
      <only>CONKEROR</only>
      <autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::CONTROL_L</autogen>
    </item>
    <item>
      <name>Option_R to Control_R</name>
      <identifier>private.app_conkeror_option_r_to_control_r</identifier>
      <only>CONKEROR</only>
      <autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::CONTROL_R</autogen>
    </item>
  </item>
</root>

启动KeyRemap4MacBook并选中&#34;在Conkeror&#34;中启用的两个框。

你应该发现 cmd M- alt C-

cmd 转换为M-是直截了当的 - 它是.conkerorrc的前三行。将 alt 设置为C-并不简单,因为Conkeror无法检测OS X中何时按下 alt 键。这就是我告诉Conkeror听的原因对于 ctrl 按键,然后安装KeyRemap4MacBook假装 alt 键实际上是 ctrl 键,但仅限于Conkeror。从本质上讲,这意味着 ctrl alt 都是M-。这不应该是一个问题,除非你真的想把你的 ctrl 键放到另一个用途。