Help us understand the problem. What is going on with this article?

0002-150104 MacのUSキーボードで親指シフト入力する方法(orzレイアウト編)

More than 1 year has passed since last update.

以下、旧OS用の方法として継続公開します。


本稿の方法はOS X El Capitan 10.11.6 までで動作確認済み。
Karabinerは現時点(2016/11/04)でMacOS Sierra(10.12)未対応のため利用できません。

前回のエントリーからの流れで、
MacのUSキーボードでも快適にorzレイアウトの親指シフト入力ができるように、Karabiner(Mac用キーボード置き換えソフト)の設定を詰めてみました。

右手ホームポジションの移動に慣れるまでは少しイライラしましたが、一度慣れてしまえばこれが最強と思われます。

orzレイアウトのメリット

orzレイアウトは↓こんな感じのキーボード配列です。
左親指シフトキー→スペースキー、右親指シフトキー→右コマンドキーに割り当てて使うのがふつうです。
不自然に右手の親指を曲げる必要がなくなるのが最大のメリットです。

orz001.png

orzレイアウトのデメリット

  • USキーボードでは「ぉ」(ちいさい「お」)に相当するキーが存在しないので、どこか他のキーに割り当てなおす必要がある
  • 英語モードと日本語モードで右手のホームポジションがずれるため、日本語入力ソフトの文節操作やキーボードショートカットで混乱することが多い

こんなふうにしてみた

  • 「ぉ」は「ぇ」の右隣りに移動した
  • ctrl shift command と組み合わせて右手のアルファベットを打鍵する場合に、キートップの印字通りの文字を入力するか、ひとつずらして入力するかをオプションでそれぞれ選べるようにした
  • 右にずれて使わなくなったY H N はオプションで無効化できるようにした

us_keyboard orz.jpg

設定ファイルとインストール方法

(1) 次の3つのテキストファイルを追加する

/Users/ユーザ名/Library/Application Support/Karabiner/uso/usorz_base.xml
・・・親指シフトキーにどのキーを使用するか定義

/Users/ユーザ名/Library/Application Support/Karabiner/uso/usorz_main.xml
・・・日本語モードでの各キーの割り当てテープル

port/Karabiner/uso/usorz_modkey.xml
・・・日本語モードでのctrl,shift,command+右手各キーの割り当てテープル

(2) Karabinerの設定ファイル(private.xml)を以下のように編集する

private.xml(例)
<?xml version="1.0"?>
<root>

  <item>
        <name>hoge1</name>
        ・・・・・・・・・・・・・・
        ・・・・・・・・・・・・・・
  </item>

  <item>
        <name>hoge2</name>
        ・・・・・・・・・・・・・・
        ・・・・・・・・・・・・・・
  </item>

===↓ この下4行を追加する
  <item>
        <name>US親指シフト入力</name>
        <include path="uso/usorz_base.xml" />
  </item>
===↑

</root>

(3) Karabinerの設定ダイアログでReload XMLボタンを押して設定内容を反映させる

Screen Shot 2015-01-03 at 16.56.36 .png

設定ファイル

uso/usorz_base.xml
<?xml version="1.0"?>
<root>

    <item>
        <name><ローマ字モード> 左シフト=スペース, 右シフト=右コマンド</name>
        <identifier>remap.usorz_space_command_r</identifier>

        <include path="usorz_main.xml">
            <replacementdef>
                <replacementname>LEFT_THUMB</replacementname>
                <replacementvalue>KeyCode::SPACE</replacementvalue>
            </replacementdef>
            <replacementdef>
                <replacementname>RIGHT_THUMB</replacementname>
                <replacementvalue>KeyCode::COMMAND_R</replacementvalue>
            </replacementdef>
        </include>
    </item>

    <item>
        <name><ローマ字モード> 左シフト=左コマンド, 右シフト=スペース</name>
        <identifier>remap.usorz_command_l_space</identifier>

        <include path="usorz_main.xml">
            <replacementdef>
                <replacementname>LEFT_THUMB</replacementname>
                <replacementvalue>KeyCode::COMMAND_L</replacementvalue>
            </replacementdef>
            <replacementdef>
                <replacementname>RIGHT_THUMB</replacementname>
                <replacementvalue>KeyCode::SPACE</replacementvalue>
            </replacementdef>
        </include>
    </item>

    <item>
        <name><ローマ字モード> 左シフト=左コマンド, 右シフト=右コマンド</name>
        <identifier>remap.usorz_command_l_command_r</identifier>

        <include path="usorz_main.xml">
            <replacementdef>
                <replacementname>LEFT_THUMB</replacementname>
                <replacementvalue>KeyCode::COMMAND_L</replacementvalue>
            </replacementdef>
            <replacementdef>
                <replacementname>RIGHT_THUMB</replacementname>
                <replacementvalue>KeyCode::COMMAND_R</replacementvalue>
            </replacementdef>
        </include>
    </item>

    <item>
        <name>---</name>
    </item>

    <item>
        <name>全角カンマと読点、全角ビリオドと句点をそれぞれ統合して[キーの右のキーを開放する</name>
        <name>(P:, Z:. [:、) -> (P:、 Z:。 [:「) </name>
        <name>(P,Zキーで≤や≥が入力されてしまう場合はチェックした方が幸せになれる)</name>
        <identifier>remap.blandz</identifier>
    </item>

    <item>
        <name>Y H N -> NULL</name>
        <identifier>remap.yhn_null</identifier>
    </item>

    <item>
        <name>---</name>
    </item>

    <item>
        <name>MOD_KEY+U I O P [ ] -> MOD_KEY+Y U I O P [</name>
        <name>MOD_KEY+J K L ; , -> MOD_KEY+H J K L ;</name>
        <name>MOD_KEY+M , . / -> MOD_KEY+N M , .</name>
    </item>



    <item>
        <name>control_L+右手アルファベットをずらす</name>
        <identifier>remap.usorz_control_l_key</identifier>

        <include path="usorz_modkey.xml">
            <replacementdef>
                <replacementname>MOD_KEY</replacementname>
                <replacementvalue>CONTROL_L</replacementvalue>
            </replacementdef>
        </include>
    </item>

    <item>
        <name>command_L+右手アルファベットをずらす</name>
        <identifier>remap.usorz_command_l_key</identifier>

        <include path="usorz_modkey.xml">
            <replacementdef>
                <replacementname>MOD_KEY</replacementname>
                <replacementvalue>COMMAND_L</replacementvalue>
            </replacementdef>
        </include>
    </item>

    <item>
        <name>shift_L+右手アルファベットをずらす</name>
        <identifier>remap.usorz_shift_l_key</identifier>

        <include path="usorz_modkey.xml">
            <replacementdef>
                <replacementname>MOD_KEY</replacementname>
                <replacementvalue>SHIFT_L</replacementvalue>
            </replacementdef>
        </include>
    </item>


</root>
uso/usorz_main.xml
<?xml version="1.0"?>
<root>

    {{JAPANESE_OYAYUBISHIFT_EXTRA}}
    <inputmode_only>JAPANESE</inputmode_only>

    <!-- 左手 上段 数字キー (順親指シフト) -->
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::BACKQUOTE, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::KEY_1, KeyCode::SLASH, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::KEY_2, KeyCode::SLASH, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::KEY_3, KeyCode::BACKQUOTE, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::KEY_4, KeyCode::BRACKET_LEFT, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::KEY_5, KeyCode::BRACKET_RIGHT, KeyCode::VK_NONE</autogen>
    <!-- 左手 上段 数字キー (クロス親指シフト) -->
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::BACKQUOTE, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::KEY_1, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::KEY_2, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::KEY_3, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::KEY_4, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::KEY_5, KeyCode::VK_NONE</autogen>

    <!-- 左手 上段 -->
    <autogen>--KeyToKey-- KeyCode::Q, ModifierFlag::NONE, KeyCode::DOT, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::W, ModifierFlag::NONE, KeyCode::K, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::E, ModifierFlag::NONE, KeyCode::T, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::R, ModifierFlag::NONE, KeyCode::K, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::T, ModifierFlag::NONE, KeyCode::S, KeyCode::A, KeyCode::VK_NONE</autogen>
    <!-- 左手 上段 (順親指シフト) -->
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::Q, KeyCode::X, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::W, KeyCode::E, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::E, KeyCode::R, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::R, KeyCode::X, KeyCode::Y, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::T, KeyCode::R, KeyCode::E, KeyCode::VK_NONE</autogen>
    <!-- 左手 上段 (クロス親指シフト) -->
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::Q, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::W, KeyCode::G, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::E, KeyCode::D, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::R, KeyCode::G, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::T, KeyCode::Z, KeyCode::A, KeyCode::VK_NONE</autogen>

    <!-- 左手 中段 -->
    <autogen>--KeyToKey-- KeyCode::A, ModifierFlag::NONE, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::S, ModifierFlag::NONE, KeyCode::S, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::D, ModifierFlag::NONE, KeyCode::T, KeyCode::E, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::F, ModifierFlag::NONE, KeyCode::K, KeyCode::E, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::G, ModifierFlag::NONE, KeyCode::S, KeyCode::E, KeyCode::VK_NONE</autogen>
    <!-- 左手 中段 (順親指シフト) -->
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::A, KeyCode::W, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::S, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::D, KeyCode::N, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::F, KeyCode::X, KeyCode::Y, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::G, KeyCode::M, KeyCode::O, KeyCode::VK_NONE</autogen>
    <!-- 左手 中段 (クロス親指シフト) -->
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::A, KeyCode::V, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::S, KeyCode::Z, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::D, KeyCode::D, KeyCode::E, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::F, KeyCode::G, KeyCode::E, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::G, KeyCode::Z, KeyCode::E, KeyCode::VK_NONE</autogen>

    <!-- 左手 下段 -->
    <block>
        <config_not>remap.blandz</config_not>
        <autogen>--KeyToKey-- KeyCode::Z, ModifierFlag::NONE, KeyCode::DOT, ModifierFlag::OPTION_L, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_only>remap.blandz</config_only>
        <autogen>--KeyToKey-- KeyCode::Z, ModifierFlag::NONE, KeyCode::DOT, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--KeyToKey-- KeyCode::X, ModifierFlag::NONE, KeyCode::H, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::C, ModifierFlag::NONE, KeyCode::S, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::V, ModifierFlag::NONE, KeyCode::H, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::B, ModifierFlag::NONE, KeyCode::H, KeyCode::E, KeyCode::VK_NONE</autogen>
    <!-- 左手 下段 (順親指シフト) -->
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::Z, KeyCode::X, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::X, KeyCode::MINUS, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::C, KeyCode::R, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::V, KeyCode::Y, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::B, KeyCode::X, KeyCode::I, KeyCode::VK_NONE</autogen>
    <!-- 左手 下段 (クロス親指シフト) -->
    <!-- 「ぉ」 -->
    <!-- <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::Z, KeyCode::X, KeyCode::O, KeyCode::VK_NONE</autogen> -->
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::X, KeyCode::B, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::C, KeyCode::Z, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::V, KeyCode::B, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::B, KeyCode::B, KeyCode::E, KeyCode::VK_NONE</autogen>

    <!-- 右手 上段 数字キー -->
    <autogen>--KeyToKey-- KeyCode::KEY_6, ModifierFlag::NONE, KeyCode::MINUS, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::KEY_7, ModifierFlag::NONE, KeyCode::KEY_6, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::KEY_8, ModifierFlag::NONE, KeyCode::KEY_7, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::KEY_9, ModifierFlag::NONE, KeyCode::KEY_8, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::KEY_0, ModifierFlag::NONE, KeyCode::KEY_9, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::MINUS, ModifierFlag::NONE, KeyCode::KEY_0, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::EQUAL, ModifierFlag::NONE, KeyCode::EQUAL, KeyCode::VK_NONE</autogen>
    <!-- 右手 上段 数字キー (順親指シフト) -->
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::KEY_6, KeyCode::EQUAL, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::KEY_7, KeyCode::BRACKET_LEFT, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::KEY_8, KeyCode::BRACKET_RIGHT, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::KEY_9, KeyCode::KEY_9, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::KEY_0, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::MINUS, KeyCode::MINUS, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::EQUAL, KeyCode::VK_NONE</autogen>
    <!-- 右手 上段 数字キー (クロス親指シフト) -->
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::KEY_6, KeyCode::EQUAL, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::KEY_7, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::KEY_8, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::KEY_9, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::KEY_0, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::MINUS, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::EQUAL, KeyCode::VK_NONE</autogen>

    <!-- 右手 上段 -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--KeyToKey-- KeyCode::Y, ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_not>remap.yhn_null</config_not>
        <autogen>--KeyToKey-- KeyCode::Y, ModifierFlag::NONE, KeyCode::R, KeyCode::A, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--KeyToKey-- KeyCode::U, ModifierFlag::NONE, KeyCode::R, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::I, ModifierFlag::NONE, KeyCode::T, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::O, ModifierFlag::NONE, KeyCode::K, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::P, ModifierFlag::NONE, KeyCode::T, KeyCode::U, KeyCode::VK_NONE</autogen>
    <block>
        <config_not>remap.blandz</config_not>
        <autogen>--KeyToKey-- KeyCode::BRACKET_LEFT, ModifierFlag::NONE, KeyCode::COMMA, ModifierFlag::OPTION_L, KeyCode::VK_NONE</autogen>
        <autogen>--KeyToKey-- KeyCode::BRACKET_RIGHT, ModifierFlag::NONE, KeyCode::COMMA, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_only>remap.blandz</config_only>
        <autogen>--KeyToKey-- KeyCode::BRACKET_LEFT, ModifierFlag::NONE, KeyCode::COMMA, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--KeyToKey-- KeyCode::BRACKET_RIGHT, ModifierFlag::NONE, KeyCode::SEMICOLON, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
    <!-- 右手 上段 (順親指シフト) -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::Y, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_not>remap.yhn_null</config_not>
        <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::Y, KeyCode::Y, KeyCode::O, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::U, KeyCode::Y, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::I, KeyCode::N, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::O, KeyCode::R, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::P, KeyCode::M, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::BRACKET_LEFT, KeyCode::X, KeyCode::E, KeyCode::VK_NONE</autogen>
    <!-- 「ぉ」 -->
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::BRACKET_RIGHT, KeyCode::X, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::BACKSLASH, KeyCode::VK_NONE</autogen>
    <!-- 右手 上段 (クロス親指シフト) -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::Y, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_not>remap.yhn_null</config_not>
        <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::Y, KeyCode::P, KeyCode::A, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::U, KeyCode::P, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::I, KeyCode::D, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::O, KeyCode::G, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::P, KeyCode::D, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::BRACKET_LEFT, KeyCode::P, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::BRACKET_RIGHT, KeyCode::SEMICOLON, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::BACKSLASH, KeyCode::VK_NONE</autogen>

    <!-- 右手 中段 -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--KeyToKey-- KeyCode::H, ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_not>remap.yhn_null</config_not>
        <autogen>--KeyToKey-- KeyCode::H, ModifierFlag::NONE, KeyCode::H, KeyCode::A, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--KeyToKey-- KeyCode::J, ModifierFlag::NONE, KeyCode::H, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::K, ModifierFlag::NONE, KeyCode::T, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::L, ModifierFlag::NONE, KeyCode::K, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::SEMICOLON, ModifierFlag::NONE, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::QUOTE, ModifierFlag::NONE, KeyCode::N, KeyCode::N, KeyCode::VK_NONE</autogen>
    <!-- 右手 中段 (順親指シフト) -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::H, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_not>remap.yhn_null</config_not>
        <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::H, KeyCode::M, KeyCode::I, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::J, KeyCode::M, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::K, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::L, KeyCode::N, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::SEMICOLON, KeyCode::X, KeyCode::Y, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::QUOTE, KeyCode::X, KeyCode::T, KeyCode::U, KeyCode::VK_NONE</autogen>
    <!-- 右手 中段 (クロス親指シフト) -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::H, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_not>remap.yhn_null</config_not>
        <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::H, KeyCode::B, KeyCode::A, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::J, KeyCode::B, KeyCode::A, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::K, KeyCode::D, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::L, KeyCode::G, KeyCode::I, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::SEMICOLON, KeyCode::P, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::QUOTE, KeyCode::QUOTE, KeyCode::VK_NONE</autogen>

    <!-- 右手 下段 -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--KeyToKey-- KeyCode::N, ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_not>remap.yhn_null</config_not>
        <autogen>--KeyToKey-- KeyCode::N, ModifierFlag::NONE, KeyCode::M, KeyCode::E, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--KeyToKey-- KeyCode::M, ModifierFlag::NONE, KeyCode::M, KeyCode::E, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::COMMA, ModifierFlag::NONE, KeyCode::S, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::DOT, ModifierFlag::NONE, KeyCode::N, KeyCode::E, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::SLASH, ModifierFlag::NONE, KeyCode::H, KeyCode::O, KeyCode::VK_NONE</autogen>
    <!-- 右手 下段 (順親指シフト) -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::N, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_not>remap.yhn_null</config_not>
        <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::N, KeyCode::N, KeyCode::U, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::M, KeyCode::N, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::COMMA, KeyCode::Y, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::DOT, KeyCode::M, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{RIGHT_THUMB}}, KeyCode::SLASH, KeyCode::W, KeyCode::A, KeyCode::VK_NONE</autogen>
    <!-- 右手 下段 (クロス親指シフト) -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::N, KeyCode::VK_NONE</autogen>
    </block>
    <block>
        <config_not>remap.yhn_null</config_not>
        <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::N, KeyCode::P, KeyCode::U, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::M, KeyCode::P, KeyCode::U, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::COMMA, KeyCode::Z, KeyCode::O, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::DOT, KeyCode::P, KeyCode::E, KeyCode::VK_NONE</autogen>
    <autogen>--SimultaneousKeyPresses-- {{LEFT_THUMB}}, KeyCode::SLASH, KeyCode::B, KeyCode::O, KeyCode::VK_NONE</autogen>

</root>
/uso/usorz_modkey.xml
<?xml version="1.0"?>
<root>

    {{JAPANESE_OYAYUBISHIFT_EXTRA}}
    <inputmode_only>JAPANESE</inputmode_only>

    <!-- Ctrol+右手アルファベットをずらす(日本語変換入力ソフトの文節操作等) -->
    <!-- 上段 -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--KeyToKey-- KeyCode::Y, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--KeyToKey-- KeyCode::U, ModifierFlag::{{MOD_KEY}}, KeyCode::Y, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::I, ModifierFlag::{{MOD_KEY}}, KeyCode::U, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::O, ModifierFlag::{{MOD_KEY}}, KeyCode::I, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::P, ModifierFlag::{{MOD_KEY}}, KeyCode::O, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::BRACKET_LEFT, ModifierFlag::{{MOD_KEY}}, KeyCode::P, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::BRACKET_RIGHT, ModifierFlag::{{MOD_KEY}}, KeyCode::BRACKET_LEFT, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <!-- 中段 -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--KeyToKey-- KeyCode::H, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--KeyToKey-- KeyCode::J, ModifierFlag::{{MOD_KEY}}, KeyCode::H, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::K, ModifierFlag::{{MOD_KEY}}, KeyCode::J, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::L, ModifierFlag::{{MOD_KEY}}, KeyCode::K, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::SEMICOLON, ModifierFlag::{{MOD_KEY}}, KeyCode::L, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::QUOTE, ModifierFlag::{{MOD_KEY}}, KeyCode::SEMICOLON, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <!-- 下段 -->
    <block>
        <config_only>remap.yhn_null</config_only>
        <autogen>--KeyToKey-- KeyCode::N, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    </block>
    <autogen>--KeyToKey-- KeyCode::M, ModifierFlag::{{MOD_KEY}}, KeyCode::N, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::COMMA, ModifierFlag::{{MOD_KEY}}, KeyCode::M, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::DOT, ModifierFlag::{{MOD_KEY}}, KeyCode::COMMA, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>
    <autogen>--KeyToKey-- KeyCode::SLASH, ModifierFlag::{{MOD_KEY}}, KeyCode::DOT, ModifierFlag::{{MOD_KEY}}, KeyCode::VK_NONE</autogen>

</root>

感謝とリンク

  • Karabiner これなしでMacの親指シフトはありえませんね。素晴らしい仕組みをありがとうございます。
  • orzレイアウト US親指シフトの設定ファイル作成にあたってはorzレイアウトのxmlの記述を大いに参考にさせていただきました。ありがとうございました。
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away