ロ−マ字入力方式を残したまま日本語入力を拡張する(かさね配列)

経緯と思想

これまでいろいろな日本語入力配列をちょこちょこ試す機会はあったものの、普及するかどうかわからないのに全く新しい配列をゼロから覚えて頑張るより、すでにそこそこ速く入力できるロ−マ字入力方式を素直に拡張していったほうがいいのではないかという結論に至った。そういう意味で AZIK と abj 配列は素晴らしい。ただし実際にはロ−マ字入力方式のままでは打てなくなるものがあるので、ロ−マ字入力方式は完全に残しつつ親指シフトで頻出表現のショ−トカットを実現したらよいのではないかということを考えている*1

かさね配列

現状ロ−マ字入力方式 + AZIK + abj 配列 のような感じなのだが、便宜上名前を「かさね配列」とでもつけておく。別にスタンダ−ドな仕様を目指すわけでもなく自分好みに頻繁にカスタマイズすれば良いと思う。ひとまずやまぶきの定義ファイルを下のほうにおいておく。
以下が基本的な配置ルール。母音を拡張したければ左親指シフトを、頻出文字を入力したければ右親指シフトを使用する。

  • 無シフト
    • 通常のロ−マ字入力を保持
    • 普段使わなさそうなキーは拗音入力などに拡張する*2
  • 親指シフト
    • 母音キ−を「母音 + 撥音」に割り当てる(母音 + ん)
    • 普段使わなさそうなキーを「二重母音」に割り当てる(ai, uu, ei, ou)
    • それ以外は無シフトの状態に対応させる
  • 親指シフト
    • 頻出文字を割り当て
無シフト

以下のキーのみ変更。

  • q → ky (きゃ行)
  • x → sy (しゃ行)
  • c → ty (ちゃ行)
  • v → hy (ひゃ行)
  • l → ry (りゃ行)
  • ; → ltu (っ)
親指シフト

以下のキーのみ無シフトのものから変更。

  • 母音 + 撥音 の拡張
    • a, i, u, e, o → axn, ixn, uxn, exn, oxn (あん, いん, うん, えん, おん)
  • 母音 + 母音 の拡張
    • q → ai (あい)
    • l → uu (うう)
    • w → ei (えい)
    • p → ou (おう)
  • / → xn (ん)

q, w, p などは AZIK にそろえてあるが、 'h' のみ使用頻度が高いので 'l' にしている。ちなみに左親指シフトにあまりたくさんの拡張を設けず母音の拡張のみにしているのは、母音キ−以外を含めてシフトしっぱなしを実現したほうがユーザの負担も少ないし入力も速そうだったから。左親指シフト時はこれらの割り当てキー(q, w, p, l)の挙動が無シフト時から変わるのだが、逆に言うと子音に限っては ky行, w行, p行, ry行 に出くわすまでは左親指シフトし続けることができる*3
あとは一応「ん」の独立キーを '/' に割り当て。

親指シフト
 QWERT Y UIOP@
  ASDFG H JKL+*
   ZXCVB N M<>?

 わをりれと よ ういおけら
  あすでるが は じきかっこ
   たてしなに の まもくん

上記のように頻出文字を割り当てていく。基本的に子音に対応するような頻出かな文字を割り当てているが、頻出度合いの都合上いくつか例外的な割り当てが存在する。

  • q → わ
  • e → り
  • f → る
  • z → た
  • x → て
  • c → し
  • v → な
  • b → に
  • p → け
  • @ → ら
  • l → か
  • : → こ
  • , → も
  • . → く

子音キー以外、たとえば以下は左親指シフトの時と同じ。

  • ; → っ
  • / → ん

やまぶき定義ファイル

; -*- coding: shift_jis -*-
[ローマ字シフト無し]
1,2,3,4,5,6,7,8,9,0,'ー',^,¥
ky,w,e,r,t,y,u,i,o,p,@,[
a,s,d,f,g,h,j,k,ry,ltu,:,]
z,sy,ty,hy,b,n,m,,,.,'・',¥

[ローマ字左親指シフト]
1,2,3,4,5,6,7,8,9,0,'ー',^,¥
ai,ei,exn,r,t,y,uxn,ixn,oxn,ou,@,「
axn,s,d,f,g,h,j,k,uu,ltu,:,]
z,sy,ty,hy,b,n,m,,.,'・',¥

[ローマ字右親指シフト]
1,2,3,4,5,6,7,8,9,0,'ー',^,¥
wa,wo,ri,re,to,yo,u,i,o,ke,ra,
a,su,de,ru,ga,ha,ji,ki,ka,ltu,ko,
ta,te,si,na,ni,no,ma,mo,ku,xn,¥

上記内容を kasane.yab としてメモ帳なんかで保存して、やまぶき(キーボード配列エミュレータ)から設定ファイルとして読んでください。

入力例

以下は日本語入力のお題、ローマ字入力方式、かさね配列の順で記載し、入力キーとそのキー数および割合を付記する。なお、親指シフトは人差し指〜小指とある程度独立に動かせる割合が高いと考えており、以下の比較ではこれを ON, OFF 時にそれぞれ0.5キー、0.25キーの入力とカウントする。ただしシフト OFF に関する入力コストは連続シフトからの OFF 時だけで、単発での入力時は ON のコストのみカウントする。

以下簡単に打てるもの - ローマ字入力の 5割近く〜7.5割ぐらいの入力量

  • りょうかい
    • ryoukai (6)
    • l#pkq (4.5)
  • です
    • desu (4)
    • $ds (2.5)
  • でした
    • desita (6)
    • $dcz (3.5)
  • します
    • simasu (6)
    • $cms (3.5)
  • しています
    • siteimasu (9)
    • $cxims (5.5)
  • することができます
    • surukotogadekimasu (18)
    • $sf:tgdkms (9.5)
  • 調整内容
    • tyouseinaiyou (13)
    • $cpswnqyp (8.5)
  • ウィンドウ
    • windou (6)
    • w#idp (3.5)
  • 機械学習
    • kikaigakushuu (13)
    • $klig.$#xl (8.25)
  • 簡単に打てるもの
    • kantannniuterumono (18)
    • #kata#$buxf,n (11.25)

以下あまり拡張効果がないもの*4 - ローマ字入力の 7.5割〜の入力量

  • ローマ字入力方式
    • ro-majinyuuryokuhousiki (23)
    • ro-$mj$ny#l#lo$.$h#p#$ck (17.25)
      • ro-$mjny#llo$.h#p$ck
      • (シフト OFF 表記を省略した場合)
  • プログラミング
    • puroguramingu (13)
    • purogu$@$m#i#gu (12)


大事なのは、無理に拡張を利用する必要はなく、これまでどおりローマ字でも入力ができるということ。

その他

難しいものは辞書に登録する。無理に入力側だけで頑張ろうとせず、適材適所を意識する。

  • よろ
    • よろしくお願いいたします。
  • にt
    • について

所感

今後は子音だけ入力していけば当てはまる日本語表現をバシバシ変換してくれる変換エンジンが実用レベルになると思うのだが、そうなると全く新しい日本語入力配列を考える必要もあまりない気がする*5。でもそれができるにはまだ時間がかかりそうなので、やっぱり一番慣れている入力方法をちょっとずつ拡張できればいいんじゃないかな−というのが今の心境。
※このペ−ジは頻繁に更新・追記するかもしれないのであしからず。

追記

  • 2013/06/22 表現を一部修正、参考サイトを追加
  • 2013/06/25 表現を一部修正、配列の定義を更新、節の構成を変更、入力例を追加

*1:意外とそういう共存方式のものがあまりないような気がしている

*2:人によっては使っていたというキーがあると思うが、その場合ローマ字入力方式との共存という本来のテーマを貫く意味で拡張しなくて良い

*3:ky, ry は k + y, r + y に分離させてもよい

*4:特に外来語には弱い?あまり拡張効果がないものは素直にローマ字入力したほうがよい気がする

*5:QWERTY配列でいいじゃん、ということ