2019-06-21

AquaSKK新下駄配列を使うための設定 解説

anond:20190621202451

AquaSKKには同時打鍵認識記述する方法がないため、新下駄配列使用するには、AZIK場合のようにかな規則ショートカットキーをいじるだけでは不十分です。さらに一歩進んで、キー割り当てソフト使用する必要があります

私はKeyRemap4MacBookを使ってそれなりに新下駄配列が使える状態に出来たので今の時点での成果を少しずつ紹介していきます

ショートカットキーの変更

AZIK場合以上に、SKKで多用する「L」「Q」「X」といった単打のショートカットは、Controlとの組み合わせなどに変更しておく必要があります。これらのキーを使うかながどれも打てなくなるからです。

AZIK場合のQ,L,Xの問題と同じく、keymap.confを修正します。

AZIK場合と異なり、この問題修正には.ruleファイルの変更は不要です。

SandSの採用

両手で同時打鍵をする新下駄配列では小指でのシフト操作現実的ではありませんので、スペースキーシフトするSandS採用します。

KeyRemap4MacBook最初からまれている「Space to Shift_L (+When you type spce only, sendSpace)」の各種設定を好みで選んでもらえばいいと思います

既存の設定について

KeyRemap4MacBookには、既に「ことえり」「ATOK」といった普通IME用の設定はあります

これらの設定でも、ほとんどのひらがなカタカナ入力スムーズにできます

単打シフト問題

しかし、これらの設定では、漢字単語入力でつまります。単打入力の際にシフトしても、変換モードに移行しないのです。

この原因は、jis_shingeta_base.xmlにおいて、単打の場合モディファイアキーが押されていない場合のみ、新下駄配列への置き換えが行なわれるように設定されているからです。

下記の「ModifierFlag::NONE」という文字列がそれです。(「く」の定義を例にしています

<autogen>--KeyToKey-- 
KeyCode::H, ModifierFlag::NONE,
KeyCode::K, KeyCode::U, 
KeyCode::VK_NONE</autogen>

これは各種のショートカットキーを使えるようにするためでしょうがSKK的には困ります

シフト付きの単打の場合新下駄配列への置き換えが行なわれるように、上記のjis_shingeta_base.xmlコピー((usキーボードの場合jis_shingeta_base_for_us.xmlベースにした方がいいのでしょうね。))した上で、単打がシフトされている場合にも、文字が入れ替えられ、また、単打がシフトされている場合には入れ替えられた文字の一文字目もシフトされる定義を追加しましょう。

<autogen>--KeyToKey-- 
KeyCode::H, ModifierFlag::NONE,
KeyCode::K, KeyCode::U,
KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- 
KeyCode::H, ModifierFlag::SHIFT_L,
KeyCode::K, ModifierFlag::SHIFT_L, KeyCode::U, 
KeyCode::VK_NONE</autogen>

この追加を単打文字全てに対して行ない、修正後の定義private.xmlに追加します。

これで、そこそこ打てるようになるはずです。

「うぉ」の問題

単打でないかなのほとんどは、シフトによって普通に変換モードに入ることができますKeyRemap4MacBookで同時打鍵表現するのに使われる--SimultaneousKeyPresses--は、シフトについて設定しない場合シフトをそのまま渡してくれるからです。

ただし、この仕様はDと@の同時打鍵入力される「うぉ」の場合問題となります

<autogen>--SimultaneousKeyPresses--
KeyCode::D, KeyCode::JIS_ATMARK,
KeyCode::U, KeyCode::X, KeyCode::O,
KeyCode::VK_NONE</autogen>

「うぉ」を表現するのに必要なU、X、Oのすべてがシフトしてしまうのが良くないようで、シフトすると「う」と「ぉ」の間に送りの区切れがあると認識されて辞書登録モードに入ってしまます

以下のようにDがシフトしている場合の設定を明示的に追加して、Uだけがシフトするようにすれば大丈夫です。

<autogen>--SimultaneousKeyPresses--
KeyCode::D, ModifierFlag::SHIFT_L, KeyCode::JIS_ATMARK, 
KeyCode::U, ModifierFlag::SHIFT_L, KeyCode::X, KeyCode::O,
KeyCode::VK_NONE</autogen>
・の問題

同手同時打鍵による記号入力のうち、!と?の入力特に問題なくできますデフォルトでは半角ですが、全角にしたければAquaSKKの.ruleファイルで指定するだけで大丈夫です。

!,!,!,!
?,?,?,?

RとF、RとGの同時打鍵による「・」の入力については、jis_shingeta_base.xmlに設定がありません。これは、・についてはIMによって、入力方法が異なるからです。SKK場合はz/で・を入力しまから、RとF、RとG同時打鍵でz/が入力されるようにしましょう。

<autogen>--SimultaneousKeyPresses-- 
KeyCode::R, KeyCode::F,
KeyCode::Z, KeyCode::SLASH, 
KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- 
KeyCode::R, KeyCode::G,
KeyCode::Z, KeyCode::SLASH, 
KeyCode::VK_NONE</autogen>
/の問題

/もjis_shingeta_base.xmlに設定がありません。しかも、SKKデフォルトでは/の直接入力ができませんので、KeyRemap4MacBookの設定を弄るだけでは対応できません。

そこで、まず.ruleファイルに「s/」で「/」が入力できるような設定を追加したうえで、

s/,/,/,/

HとUの同時打鍵でSと/が入力されるようにprivate.xmlに設定を追加します。

<autogen>--SimultaneousKeyPresses-- 
KeyCode::H, KeyCode::U,
KeyCode::S, KeyCode::SLASH, 
KeyCode::VK_NONE</autogen>
「」と()問題

FG同時打鍵による「」、HJ同時打鍵による()入力一見できてるように見えるかもしれませんが、無駄な改行が挿入されるうえ、真ん中に移動してくれません。他のIMでの確定用に無駄なENTERが入力されるからです。

<!-- FG -> 「」 & ENTER & 左移動 -->
<autogen>--SimultaneousKeyPresses-- 
KeyCode::F, KeyCode::G,
KeyCode::JIS_BRACKET_LEFT, KeyCode::JIS_BRACKET_RIGHT,
KeyCode::RETURN, KeyCode::CURSOR_LEFT, 
KeyCode::VK_NONE</autogen>
<!-- HJ -> () & ENTER & 左移動 -->
<autogen>--SimultaneousKeyPresses-- 
KeyCode::H, KeyCode::J,
KeyCode::KEY_8, ModifierFlag::SHIFT_L, 
KeyCode::KEY_9, ModifierFlag::SHIFT_L,
 KeyCode::RETURN, KeyCode::CURSOR_LEFT, 
KeyCode::VK_NONE</autogen>

これは、KeyCode::RETURNを削除すれば解決です。

<!-- FG -> 「」 & 左移動 -->
<autogen>--SimultaneousKeyPresses-- 
KeyCode::F, KeyCode::G, 
KeyCode::JIS_BRACKET_LEFT, KeyCode::JIS_BRACKET_RIGHT,
KeyCode::CURSOR_LEFT, 
KeyCode::VK_NONE</autogen>
<!-- HJ -> () & ENTER & 左移動 -->
<autogen>--SimultaneousKeyPresses-- 
KeyCode::H, KeyCode::J,
KeyCode::KEY_8, ModifierFlag::SHIFT_L, 
KeyCode::KEY_9, ModifierFlag::SHIFT_L,
KeyCode::CURSOR_LEFT, 
KeyCode::VK_NONE</autogen>
選択ベル問題

新下駄配列を使っていると、候補ウィンドウ選択ベル(ASDFGHJKL)が使えなくなりますAquaSKK環境設定で選択ベルを1から9か、1から0に変えておきましょう。

記事への反応 -
  • 自分が昔、(今は非公開にしている)はてなダイヤリーに書いた記事を読もうとしている人がいたので、はてな匿名ダイヤリーに載せます。最近のMacではKeyRemap4MacBook(後のKarabiner)は使...

    • AquaSKKには同時打鍵を認識・記述する方法がないため、新下駄配列を使用するには、AZIKの場合のようにかな規則とショートカットキーをいじるだけでは不十分です。さらに一歩進んで、キ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん