HHKBやMacキーボードでの親指シフト入力するときに親指キーの配置がもう少しという悩みがありました。
これに対応するために、Keyremap4Macbookの力を借りて、右手ホームポジションを右にずらす大馬鹿野郎な非常に理にかなった解決方法を考えました。
有りがたいことにorzレイアウト設定はKeyremap4Macbookのパッケージに同梱して頂きました。こちらにそのあたりと使い方などは記事にしました。せっかく作った設定なので、ソースをさらしておきます。
ソース
設定はprivate.xmlとr_oyayubishiftinput_roman.xmlの2つのファイルからできています。 「private.xml」は下の設定を作ります。
- 右手1行ずらしのキー配置r_oyayubishiftinput_roman.xmlを呼び出して、左シフト=スペース、右シフト=かなの機能を割り当てます。
- ]キーをDeleteキー(後退キー)として機能させる設定。
- ATOK向けの3つの設定
- Yキーで全角カタカナ変換(”Ctrl + I”)
- Hキーで半角英数 変換(”Ctrl + @”)
- Nキーで再変換(”Ctrl + Shift + Y”)
どの設定もJAPANESE...を入れて、日本語入力時のみの動作にしています。
「r_oyayubishiftinput_roman.xml」は右手のホームポジションを右へ1列ずらした設定を定義しています。JAPANESE...の設定を持っているので、日本語入力が「ON」の時のみ機能します。
列ずらす様な指示をしているわけではなく、単純に1つ1つキーを再定義しています。コードは手作業です。
良い作り方かは分かりませんが、機能を実装できれば良いかなと。
private.xml
[xml]
<?xml version="1.0"?>
<root>
<!– Oyayubi R 1 line Shift worte by N.bigeast —>
<item>
<name>Oyayubi R 1 line Shift</name>
<item>
<name><ローマ字モード> 右手1行ずらし 左シフト=スペース, 右シフト=かな</name>
<identifier>remap.oyayubi_shift_roman_space_kana_migi_shift</identifier>
<include path="r_oyayubishiftinput_roman.xml">
<replacementdef>
<replacementname>LEFT_THUMB</replacementname>
<replacementvalue>KeyCode::SPACE</replacementvalue>
</replacementdef>
<replacementdef>
<replacementname>RIGHT_THUMB</replacementname>
<replacementvalue>KeyCode::JIS_KANA</replacementvalue>
</replacementdef>
</include>
</item>
<item>
<name>]キーをDeleteキーにする(後退キー)</name>
<identifier>remap.jis_oyayubishiftinput_Bracket_right_2_backspace</identifier>
<inputmode_only>JAPANESE</inputmode_only>
<autogen>–KeyToKey– KeyCode::JIS_BRACKET_RIGHT, KeyCode::DELETE</autogen>
</item>
<item><name>— ATOK 設定 ———————————————–</name></item>
<item>
<name>Yキーを全角カタカナ変換(”Ctrl + I”)にする。</name>
<identifier>remap.jis_oyayubishiftinput_Y_key_2_Ctrl+I</identifier>
<inputmode_only>JAPANESE</inputmode_only>
<autogen>–KeyToKey– KeyCode::Y, ModifierFlag::NONE, KeyCode::I, ModifierFlag::CONTROL_L, KeyCode::VK_NONE</autogen> –>
</item>
<item>
<name>Hキーを半角英数 変換(”Ctrl + @”)にする。</name>
<identifier>remap.jis_oyayubishiftinput_H_key_2_Ctrl+@</identifier>
<inputmode_only>JAPANESE</inputmode_only>
<autogen>–KeyToKey– KeyCode::H, ModifierFlag::NONE, KeyCode::JIS_ATMARK, ModifierFlag::CONTROL_L, KeyCode::VK_NONE</autogen> –>
</item>
<item>
<name>Nキーを再変換(”Ctrl + Shift + Y”)にする。</name>
<identifier>remap.jis_oyayubishiftinput_N_key_2_Ctrl+SHIFT+Y</identifier>
<inputmode_only>JAPANESE</inputmode_only>
<autogen>–KeyToKey– KeyCode::N, ModifierFlag::NONE, KeyCode::Y, ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L, KeyCode::VK_NONE</autogen> –>
</item>
<item><name>————————————————————</name></item>
</item>
<!– End Oyayubi R 1 line Shift —>
</root>
[/xml]
r_oyayubishiftinput_roman.xml
[xml]
<?xml version="1.0"?>
<root>
<!– Oyayubi R 1 line Shift worte by N.bigeast —>
<item>
<name>Oyayubi R 1 line Shift</name>
<item>
<name><ローマ字モード> 右手1行ずらし 左シフト=スペース, 右シフト=かな</name>
<identifier>remap.oyayubi_shift_roman_space_kana_migi_shift</identifier>
<include path="r_oyayubishiftinput_roman.xml">
<replacementdef>
<replacementname>LEFT_THUMB</replacementname>
<replacementvalue>KeyCode::SPACE</replacementvalue>
</replacementdef>
<replacementdef>
<replacementname>RIGHT_THUMB</replacementname>
<replacementvalue>KeyCode::JIS_KANA</replacementvalue>
</replacementdef>
</include>
</item>
<item>
<name>]キーをDeleteキーにする(後退キー)</name>
<identifier>remap.jis_oyayubishiftinput_Bracket_right_2_backspace</identifier>
<inputmode_only>JAPANESE</inputmode_only>
<autogen>–KeyToKey– KeyCode::JIS_BRACKET_RIGHT, KeyCode::DELETE</autogen>
</item>
<item><name>— ATOK 設定 ———————————————–</name></item>
<item>
<name>Yキーを全角カタカナ変換(”Ctrl + I”)にする。</name>
<identifier>remap.jis_oyayubishiftinput_Y_key_2_Ctrl+I</identifier>
<inputmode_only>JAPANESE</inputmode_only>
<autogen>–KeyToKey– KeyCode::Y, ModifierFlag::NONE, KeyCode::I, ModifierFlag::CONTROL_L, KeyCode::VK_NONE</autogen> –>
</item>
<item>
<name>Hキーを半角英数 変換(”Ctrl + @”)にする。</name>
<identifier>remap.jis_oyayubishiftinput_H_key_2_Ctrl+@</identifier>
<inputmode_only>JAPANESE</inputmode_only>
<autogen>–KeyToKey– KeyCode::H, ModifierFlag::NONE, KeyCode::JIS_ATMARK, ModifierFlag::CONTROL_L, KeyCode::VK_NONE</autogen> –>
</item>
<item>
<name>Nキーを再変換(”Ctrl + Shift + Y”)にする。</name>
<identifier>remap.jis_oyayubishiftinput_N_key_2_Ctrl+SHIFT+Y</identifier>
<inputmode_only>JAPANESE</inputmode_only>
<autogen>–KeyToKey– KeyCode::N, ModifierFlag::NONE, KeyCode::Y, ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L, KeyCode::VK_NONE</autogen> –>
</item> <item><name>————————————————————</name></item>
</item>
<!– End Oyayubi R 1 line Shift —>
</root>
[/xml]