JIS かなの代わりの配列探し

この文章から全て月配列 2-263 式を使用して書く。

JIS かな打ちを止める事は前回の日記に書いた通りであるが、かと言ってローマ字に戻るつもりはさらさら無かった。 JIS かなよりも優れた配列があるのは認識していたが、「何らかのキーボードエミュレータを入れる必要がある」というところで選択肢から外していた。 使用する PC が決まっているのならば良いが、他人の PC を触った時に日本語が打てなくなるのも困るし、そもそも仕事だとそのようなソフトを導入できない場合もある。

ある日 JIS かなに習熟していくに従い右手小指の痛みに悩まされるようになり、対策をネットで調べ始めた。 結局出てきた結論としては「代わりに右手薬指を使う」というものだったが、昨日の日記に書いた通り「消極的な対策」に見えた。 ただ、やはり調べていくうちに「もし他の優れた配列を使えたらどんなにいい事か (こんなくだらない事で悩む事もないのに)」と考え始めた。

私は「仕事や趣味で使いたい」というのがあったので無計画に導入するわけにはいかない。 まずは調査から始めることにした。

タイピングソフトでどのようにしてマイ配列を使用しているのか

イータイピングで月配列や新下駄配列、親指シフトを使用している人を見る度に思っていたのは「この人たちはどうやってタイピングソフトでマイ配列を使っているんだろう」という事だった。 何らかのキーボードエミュレータを使っている事は分かっていたが、技術者として JavaScript で解釈しているであろうキーコードに対応するのにどうしているのか、というのが気になった。

例えば jQuery を使用した場合「各キーを押下した」イベントは以下のようにして取得できる:

<!DOCTYPE html>
<html>
  <head>
    <!-- jQuery 3.1.1 CDN -->
    <script
      src="https://code.jquery.com/jquery-3.1.1.js"
      integrity="sha256-16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA="
      crossorigin="anonymous"></script>
    <script type="text/javascript">
$(window).keydown(function(e) {
  if (e.keyCode !== 16) {  // 16 はシフトキーの keyCode
    var text = e.keyCode + " が押されました。シフトキーは押されて";
    text += event.shiftKey ? "います。" : "いません。";
    $('div').text(text);
  }
  return false;
});
    </script>
  </head>
  <body>
    <div></div>
  </body>
</html>

この仕組みはかな打ちでも使用されている。 イータイピングでは必ず「日本語入力をオフにしてください」と表示されるが、これは素の英数字入力のキーコードを取得したいが為なのである。 例えば JIS かなで「た」と打った場合は JavaScript 側では「Q」のキーコードとして解釈しているというわけだ。 これが例えば月配列 2-263 式だと「た」は「G」のキーなのだが、この場合でも JavaScript 側には「Q」のキーコードとして発行されていなければならない。

とりあえず物は試し、という事で DvorakJ というキーボードエミュレータを入れてみた。 「日本語入力用配列を常に使用する」という設定項目を見つけた。 これはタイピングを練習する時にオンにする項目らしい。 オンにして月配列 2-263 式に設定し「た」を打ってみた。 「q」が出力された。

この挙動により理解することができた。 DvorakJ によって IME OFF であってもタイピングソフトに正しく解釈されるキーコードに変換して発行されるわけだ。 ちなみに「日本語入力用配列を常に使用する」をオフにすると IME OFF 時は正しく QWERTY の出力がされる (Dvorak 等に変更もできる)。 これは便利だ。

どの配列がいいのか

次に「自分が使うとしたらどの配列がいいのか」の検討に入った。

まず私は頻繁に IME を ON / OFF して入力するスタイルであり IME の ON / OFF を親指シフトの位置にある「変換」「無変換」キーで行っている (Mac だと「かな」「英数」キーとしてデフォルトでそうなっている)。 なので親指シフト系の配列は除外される。

あと重視するのは「ある程度メジャーで地位が確立されていること」だ。 あまりにもマイナーだと情報が少なすぎて辛いという懸念があった。

というわけで候補を月配列の事実上デファクトである月配列 2-263 式新下駄配列に絞った。

月配列に決めた理由

  • 新下駄配列の学習コストが高いこと。濁音と半濁音が「゛」「゜」を付けるのではなく全て別のキーに割り振られているし「しゃ」「しょ」なども全て別キーになっている。覚えればこれが一番速いのは理解するところだが、これはブラインドタッチできるようになるまでが大変そうだ……
  • 新下駄配列のシフトが同時押しなのに対し月配列が前置 (ローマ字のように 2 打鍵で打つ) であること。前者の方が速そうだがミスも多くなりそうだ
  • 月配列にローマ字互換性があり Google 日本語入力 (Linux だと ibus-mozc) があれば「とりあえず使えるようにはできる」こと (参考: Mozcで「月配列」を使う)

新下駄配列は「タイピング競技で最速を目指す」場合には最適かもしれないが、私が目指すところはそれではない。 「日常生活で快適に日本語を打つ」事。 それには月配列の方が向いている、という判断となったわけだ。

Mac を捨て去る覚悟で臨む

上記の通り Mac でも Google 日本語入力のローマ字テーブルを使用して月配列を使用できるがあくまでローマ字を利用しているだけなので表示がイマイチで常用は厳しいように思う。 Karabinerprivate.xml をいじればいけるらしいが、よく分かっていない。 余談だが新下駄配列は Karabiner で簡単に使えた……。

最近の MacBook Pro の Touch Bar の「欲しかったのはコレジャナイ」感もあり、この際 Mac から乗り換えてもいい気がしてきた。 Surface Pro 5 が出たら乗り換えを考えようと思う。

ここまで打ってみて

紛れもなくこの文章を打つまで打ったことが無かったが、シフト面じゃない方は何とかそれなりにブラインドタッチできるようになってきた。 ただシフト面の方が出現頻度が低くなかなか覚えられない。 まぁ、ゆっくり覚えていこうと思う。