Назначение клавиш Conkeror в Mac OSX

Кто-нибудь разобрался, как изменить привязки клавиш для мета и управляющих клавиш для Conkeror на Mac OSX? Например, в Emacs мой C сопоставлен с ключом команды apple, а мой M - с ключом опции. Есть ли способ сделать это для Conkeror? Кто-нибудь может предоставить javascript для файла.conkerorrc?

2 ответа

Установите 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 и отметьте два поля в разделе "Включить только в Conkeror".

Вы должны найти CMD M- и альт C-,

Превращение cmd в M- было просто - это первые три строки .conkerorrc, Делать альт в C- это не так просто, потому что Conkeror не может обнаружить, когда клавиша Alt нажата в OS X. Вот почему я сказал Conkeror прослушивать нажатия клавиш Ctrl, затем установил KeyRemap4MacBook, чтобы представить, что клавиши Alt на самом деле являются клавишами Ctrl, но только для Conkeror., Естественно, это означает, что Ctrl и Alt M-, Это не должно быть проблемой, если вы действительно не хотите использовать клавиши Ctrl для другого использования.

Вам придется немного поиграться с этим, чтобы получить именно то, что вы хотите, но в качестве примера... привязка C к M

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

Все, что вам нужно сделать, это заменить C на M или A или S для Meta, Alt и Super соответственно. а затем замените metaKey на то, что вы хотите, чтобы ключ был. Я не уверен, что выдает командный ключ, так что вам придется с этим возиться, но я уверен, что этот параметр - Alt, так что

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

Забавно, что в каждой системе, кроме OS X, Conkeror по умолчанию рассматривает Meta и Alt как одинаковые.

Править На самом деле это выглядит сложнее, чем я говорил сначала. Об этом следует прочитать вики-страницу Conkeror.

Другие вопросы по тегам