みずぴー日記

人間の再起動ボタンはハワイのビーチにある

AquaSKK 4.4.[2-4]: JetBrains対応

要約

AquaSKKレベルでJetBrains製品に対応するのをあきらめた。C-j/l/q/L/Qを使用可能にするために、Karabinerを利用するようにした。

ダウンロード

https://github.com/codefirst/aquaskk/releases/tag/4.4.4

使い方

Karabinerのprivate.xmlに以下のように書く。

<?xml version="1.0"?>
<root>
    <include path="/Library/Input Methods/AquaSKK.app/Contents/Resources/karabiner.xml" />
</root>

するとKarabinerの設定画面にJetBrains用の設定が表われるので、それを有効にする。

f:id:mzp:20161009102928p:plain

さらにAquaSKKの互換性で com.jetbrains に対して「入力ソース同期」を有効にする。

f:id:mzp:20161104093413p:plain

制約

無理矢理やっているため、いくつかの制約がある。

  • AquaSKK統合では動作しない
  • 入力モードを切り替えたときにポップアップはでない

変更内容

JetBrains製品ではC-j/l/q/L/Qが使えないため、なんらかの回避策が必要となる。

これまでAquaSKK側でいくつかの回避策を取っていたが、JetBrains側の挙動に強く依存しているため、たまに動かなくなったりする。 これまでも何度か対応をしている。

そういった対応もそろそろツラつらくなってきたので、より低レベルな部分で対応できるKarabinerを使うようにした。

そのため、AquaSKK側に以下のような変更を加えた。

  • JetBrains用の回避コードをはずした。
  • Karabiner側の入力ソース変更にAquaSKKが反応するようにした。

Sierra

KarabinerはまだSierraでは動かないが、JetBrains製品も動かないらしいので、これでいいと思っている。

ちなみにAquaSKK自体はSierraでも動く。