Karabinar の設定を外付けキーボードと元々のキーボードで使い分ける - dev.jgs.me

以前 Macbook Air を使っていた頃に、バックスラッシュをデリートにしたりして利便性を高めていたのだが、HHK をつなげると設定が共有されてしまって HHK のデリートが効かなくなったりした。そこで、調べてみると private.xml はデバイスを指定するディレクティブがあるようだ。

(xml)

              <?xml version="1.0"?>
<root>
  <devicevendordef>
    <vendorname>APPLE</vendorname>
    <vendorid>0x05ac</vendorid>
  </devicevendordef>
  <deviceproductdef>
    <productname>INTERNAL</productname>
    <productid>0x0273</productid>
  </deviceproductdef>
  <item>
    <name>Backquote to Escape in Apple Keyboard only</name>
    <identifier>remap.backquote_to_esc_apple</identifier>
    <device_only>DeviceVendor::APPLE, DeviceProduct::INTERNAL</device_only>
    <autogen>
      __KeyToKey__
      KeyCode::BACKQUOTE,
      KeyCode::ESCAPE
    </autogen>
  </item>
</root>
            

こんな感じで devicevendordefdeviceproductdef にそれぞれ Karabinar の Event Viewer で確認した値を設定してやると itemdevice_only ディレクティブで参照できるようになる。あとはこの調子で元々オリジナルで使っていたものを device_only 付きの item として移植してやればオッケーだった。

逆に外付けのキーボードだけで使いたい設定でも使えるとおもう。

今まで Dropbox に private.xml を入れてたけど gist にあげちゃうことにした。 https://gist.github.com/e-jigsaw/4ffd2a81623f9deab392