Has anyone figured out how to change the keybindings for the meta and control keys for Conkeror on Mac OSX? For example, in Emacs I have my C mapped to the apple command key and my M mapped to the option key. Is there any way to do this for Conkeror? Can anyone supply the javascript for the .conkerorrc file?
2 回答
你必须稍微摆弄一下才能让它完全符合你的要求,但作为一个例子......将 C 重新绑定到 M
modifiers.C = new modifier(
function (event) { return event.metaKey; },
function (event) { event.metaKey = true; });
您需要做的就是用 M 或 A 或 S 分别替换 Meta、Alt 和 Super 的 C。然后将 metaKey 替换为您想要的密钥。我不确定 Command 键会产生什么,所以你必须摆弄它,但我很确定那个选项是 Alt 所以那将是
modifiers.M = new modifier(
function (event) { return event.altKey; },
function (event) { event.altKey = true; });
有趣的是,在除 OS X 之外的所有系统上,Conkeror 默认将 Meta 和 Alt 视为相同。
编辑实际上它看起来比我一开始说的更复杂。您应该阅读有关它的 Conkeror wiki 页面。
把它放在你的.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 并选中“仅在 Conkeror 中启用”下的两个框。
你应该找到cmdisM-
和altis C-
。
制作cmd成M-
很简单 - 这是 的前三行.conkerorrc
。alt进入并不简单,因为ConkerorC-
无法检测altOS X 中何时按下键。这就是为什么我告诉 Conkeror 监听ctrl按键,然后安装 KeyRemap4MacBook 以假装这些alt键实际上是ctrl键,但仅适用于 Conkeror。自然,这意味着既ctrl和alt是M-
。ctrl除非您真的想将密钥用于其他用途,否则这应该不是问题。