ヤルキデナイズド

Unclassified Articles on Software and IT

Mac の CLIP STUDIO PAINT で Emacs ぽくカーソルを動かせるやつ書いた

CLIP STUDIO PAINT は独自のUIフレームワークを使っているので Ctrl-F,B でカーソルを前後に動かすとかそういうやつができない。ので KeyRemap4MacBook の設定を書いた。

以下の XML$HOME/Library/Application Support/KeyRemap4MacBook/private.xml に書く。で KeyRemap4MacBook の設定を開いて ReloadXML して設定を有効にする。テキストフィールドで Ctrl-F, Ctrl-B, Ctrl-N, Ctrl-P, Ctrl-A, Ctrl-E, Ctrl-K が使えるようになる。ただし Ctrl-A, Ctrl-E, Ctrl-K は、複数行にわたるテキストフィールド(テキストツールのボックスなど)では期待通りに動作しない。以上。

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>CLIPSTUDIOPAINT</appname>
    <equal>jp.co.celsys.CLIPSTUDIOPAINT</equal>
  </appdef>

  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_SHELL_CLIPSTUDIOPAINT_emulate_ctrl_k</name>
    <url type="shell">
      <![CDATA[
      /usr/bin/osascript \
      -e 'tell application "System Events"' \
      -e 'keystroke (ASCII character 31) using shift down' \
      -e 'keystroke "d" using control down' \
      -e 'end tell'
      ]]>
    </url>
  </vkopenurldef>

  <item>
    <name>My CLIP STUDIO PAINT Hacks</name>
    <appendix>Change Ctrl+N to Down Arrow</appendix>
    <appendix>Change Ctrl+P to Up Arrow</appendix>
    <appendix>Change Ctrl+F to Right Arrow</appendix>
    <appendix>Change Ctrl+B to Left Arrow</appendix>
    <appendix>Emulate Ctrl+A</appendix>
    <appendix>Emulate Ctrl+E</appendix>
    <appendix>Emulate Ctrl+K</appendix>
    <identifier>private.my_clipstudiopaint_hacks</identifer>
    <only>CLIPSTUDIOPAINT</only>
    <autogen>__KeyToKey__ KeyCode::N, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_DOWN</autogen>
    <autogen>__KeyToKey__ KeyCode::P, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_UP</autogen>
    <autogen>__KeyToKey__ KeyCode::F, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT</autogen>
    <autogen>__KeyToKey__ KeyCode::B, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_LEFT</autogen>
    <autogen>__KeyToKey__ KeyCode::A, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_UP</autogen>
    <autogen>__KeyToKey__ KeyCode::E, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_DOWN</autogen>
    <autogen>__KeyToKey__ KeyCode::K, VK_CONTROL | ModifierFlag::NONE, KeyCode::VK_OPEN_URL_SHELL_CLIPSTUDIOPAINT_emulate_ctrl_k</autogen>
  </item>
</root>