- US親指シフト:MacのUSキーボードで快適に親指シフト入力するスマートな方法(2018/7改訂版)を公開しました。(2018/07/19)
- MacOS Sierra(10.12)以降に対応したKarabiner Elementsで利用できる方法ですので、ぜひお試しください。
以下、旧OS用の方法として継続公開します。
本稿の方法はOS X El Capitan 10.11.6 までで動作確認済み。
Karabinerは現時点(2016/11/04)でMacOS Sierra(10.12)未対応のため利用できません。
前回のエントリーからの流れで、
MacのUSキーボードでも快適にorzレイアウトの親指シフト入力ができるように、Karabiner(Mac用キーボード置き換えソフト)の設定を詰めてみました。
右手ホームポジションの移動に慣れるまでは少しイライラしましたが、一度慣れてしまえばこれが最強と思われます。
orzレイアウトのメリット
orzレイアウトは↓こんな感じのキーボード配列です。
左親指シフトキー→スペースキー、右親指シフトキー→右コマンドキーに割り当てて使うのがふつうです。
不自然に右手の親指を曲げる必要がなくなるのが最大のメリットです。
orzレイアウトのデメリット
- USキーボードでは「ぉ」(ちいさい「お」)に相当するキーが存在しないので、どこか他のキーに割り当てなおす必要がある
- 英語モードと日本語モードで右手のホームポジションがずれるため、日本語入力ソフトの文節操作やキーボードショートカットで混乱することが多い
こんなふうにしてみた
- 「ぉ」は「ぇ」の右隣りに移動した
- ctrl shift command と組み合わせて右手のアルファベットを打鍵する場合に、キートップの印字通りの文字を入力するか、ひとつずらして入力するかをオプションでそれぞれ選べるようにした
- 右にずれて使わなくなったY H N はオプションで無効化できるようにした
設定ファイルとインストール方法
(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ボタンを押して設定内容を反映させる
設定ファイル
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>