Skip to content

Instantly share code, notes, and snippets.

@hisasann
Forked from kei-q/private.xml
Last active January 27, 2017 11:12
Show Gist options
  • Save hisasann/82f16c455b094c5fed3c to your computer and use it in GitHub Desktop.
Save hisasann/82f16c455b094c5fed3c to your computer and use it in GitHub Desktop.
<?xml version="1.0"?>
<root>
<item>
<name>Control_L to Control_L</name>
<appendix>(+ When you type Control_L only, send Escape + EISUU)</appendix>
<identifier>remap.controlL2controlL_escape_orig</identifier>
<autogen>--KeyOverlaidModifier-- KeyCode::CONTROL_L, KeyCode::CONTROL_L, KeyCode::JIS_EISUU, KeyCode::ESCAPE</autogen>
</item>
</root>
Control_Lを単独で押した時にEscapeとみなす"Control_L to Control_L (+When you type Control_L only, send Escape)"はVim(SublimeのVintableなどそれっぽいものも含む)を使用しているユーザーには大変便利な設定です。
これを有効にすると、Aの横にあるキーを押すだけで簡単にinsert modeから抜けられます。
また、"Escape to EISUU+Escape"はVimと日本語入力をあわせて使うユーザには大変便利な設定です。
insert modeから抜けるとき、日本語入力出来る状態になっていると各種キーが動かなくなりますが、この設定によりinsert modeを抜けると同時にEISUUに切り替わります。
大変残念なことに、これらを同時に有効にしても、Control_Lを単独で押しただけではEISUUが送信されず、悲しい思いをします。
そのため、上記2つの設定が実現する設定を改めて書いた次第です。
@hisasann
Copy link
Author

hisasann commented Jan 8, 2015

<?xml version="1.0"?>
<root>
  <item>
    <name>Control_L to Control_L</name>
    <appendix>(+ When you type Control_L only, send Escape + EISUU)</appendix>
    <identifier>remap.controlL2controlL_escape_orig</identifier>
    <autogen>--KeyOverlaidModifier-- KeyCode::CONTROL_L, KeyCode::CONTROL_L, KeyCode::JIS_EISUU, KeyCode::ESCAPE</autogen>
    <autogen>--KeyToKey-- KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen>
  </item>
</root>

@hisasann
Copy link
Author

hisasann commented Jan 8, 2015

escapeを押したときに英数に戻すのを追加した版

@hisasann
Copy link
Author

hisasann commented Jan 8, 2015

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>iTERM2</appname>
    <equal>com.googlecode.iterm2</equal>
  </appdef>
  <appdef>
    <appname>MACVIM</appname>
    <equal>org.vim.MacVim</equal>
  </appdef>
  <appdef>
    <appname>ATOM</appname>
    <equal>com.github.atom</equal>
  </appdef>
  <list>
    <item>
      <name>Control_L to Control_L</name>
      <appendix>(+ When you type Control_L only, send Escape + EISUU)</appendix>
      <identifier>remap.controlL2controlL_escape_orig</identifier>
      <autogen>--KeyToKey-- KeyCode::CONTROL_L, KeyCode::CONTROL_L, KeyCode::JIS_EISUU, KeyCode::ESCAPE</autogen>
      <autogen>--KeyToKey-- KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen>
    </item>
  </list>
</root>

@hisasann
Copy link
Author

hisasann commented Jan 8, 2015

アプリを限定した版(動作確認していない)

@bageljp
Copy link

bageljp commented Mar 17, 2015

2個目の方、

<autogen>--KeyToKey-- KeyCode::CONTROL_L, KeyCode::CONTROL_L, KeyCode::JIS_EISUU, KeyCode::ESCAPE</autogen>

<autogen>--KeyOverlaidModifier-- KeyCode::CONTROL_L, KeyCode::CONTROL_L, KeyCode::JIS_EISUU, KeyCode::ESCAPE</autogen>

にしたらCtrl+Cなども効きました。
これで快適なvim Lifeがおくれます。

@hisasann
Copy link
Author

最終形態。

<?xml version="1.0"?>
<root>
  <item>
    <name>Control_L to Control_L</name>
    <appendix>(+ When you type Control_L only, send Escape + EISUU)</appendix>
    <identifier>remap.controlL2controlL_escape_orig</identifier>
    <autogen>--KeyOverlaidModifier-- KeyCode::CONTROL_L, KeyCode::CONTROL_L, KeyCode::JIS_EISUU, KeyCode::ESCAPE</autogen>
    <autogen>--KeyToKey-- KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen>
  </item>
</root>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment