左右対称型キーボード専用かな配列「ブリ中トロ配列」

2021/01/26: 最新版を別記事として書きました。

2019/10/31 版から再出発し、チマチマと改良を続けている「ブリ中トロ配列」。だいたいノウハウが固まって安定してきたので、現在の状況を 2020/04/30 版としてまとめておこう。

f:id:mobitan:20200430070514p:plain

名称

TRONかな配列を中指シフト化したものをベースに、ハイブリッド月配列のエッセンスを加えて煮詰めたから、「ハイブリッド・指シフト・トロン」で「ブリ中トロ配列」。

TRON かな配列が出発点であり、月配列とは系譜がまったく異なるので、月にまつわる名前は付けなかった。

前提条件

  • キーボードは、物理配列が左右対称である。
  • ユーザーは、各指の運動能力に極端な偏りがない。
  • キーボードは、ユーザーの指の可動範囲に合った大きさである。
  • ユーザーは、ですます調の現代文を少ない打鍵数で入力したい。

設計方針

  • 記号を除き30キー(片手3段5列)の範囲に収める。
  • 現代日本語の書き言葉に現れるすべてのモーラを2打以内で入力する。
  • 同じ指で異なるキーを続けて打つ運指(同指異鍵・同指跳躍)をできるだけ減らす。
  • 両手の各指の負担率をできるだけ左右対称にする。
  • Google 日本語入力のローマ字定義のみで実装し、その他の常駐ソフトやハードを要求しない。
  • カーソルや [Backspace] などの制御キーは考慮しない(それらは別のレイヤーで適切に設計されるものとする)。

シフト方式の設計

非拗音面と拗音面を完全に分けて考える。

非拗音面のシフト方式

非拗音面は前置シフトで、シフトキーは [D] [K] の2種類。同手シフトと逆手シフトを区別する。清音と濁音は原則として同じキーに置く。例:

  • [O] =「く」
  • [DO] =「や」
  • [KO] = 「ぐ」

拗音面のシフト方式

拗音面は後置シフトで、シフトキーは [T] [Q] [Z] の3種類。これらが2打目に来た場合、直前の1打目をキャンセルして子音に読み替え、2打目を母音と見なし、両者の組み合わせで1モーラの拗音を入力する。言い換えると、拗音に限って行段式とする。拗音面の子音配列は、非拗音面の清音配列とは無関係に、頻度と打ちやすさによって決める。例:

  • [OT] =「じゃ」
  • [OQ] =「じゅ」
  • [OZ] =「じょ」

この例だと、1打目に [O] を打った時点では「く」が表示されるが、2打目に [T] を打つと「く」が消えて「じゃ」に変わる。この動作は Google 日本語入力のローマ字カスタマイズで実装できる。

さらに、2打シーケンスである [D;] [DA] も後置シフトとして扱う。これらが2~3打目に来た場合、「ゅう」「ょう」で終わる2モーラの拗音を入力する。これにより、「ゅ」「ょ」の7割近くを占める「ゅう」「ょう」をホームポジションで打てるようにする。例:

  • [OD;] =「じゅう」
  • [ODA] =「じょう」

配字の設計

ユーザーの手に合った左右対称なキーボードを前提とする。つまり、ユーザーは標準的なホームポジションに無理なく指を置き、上段にも下段にも無理なく指が届き、左手と右手をまったく同じように使うことができるものとする。この前提のもとで、以下のように配字を決めていった。

句読点

中指シフトキーの単打を句読点とする。これはハイブリッド月配列から拝借したアイディアで、読点の直後に必ず変換/確定しなければならない(読点に続けて文章を打つことができない)反面、キーを2個も節約できる。

  • [D] =「、」
  • [K] =「。」

撥音・促音・長音

「ん」「っ」「ー」は右小指に置く。撥音・促音・長音の前には他のすべてのかなが先行しうるので、これらを独立性の高い小指に置く TRON 配列の思想は理にかなっている。「んっ」「ーっ」といった連接は書き言葉に現れないので「っ」は下段でよい。「ー」は、TRON では [Shift+K] だったが、1打で書きたいので右小指外側 [:] の位置とする。

  • [;] =「ん」
  • [:] =「ー」
  • [/] =「っ」

拗音

「ゃ」「ゅ」「ょ」は左手の三隅 [T] [Q] [Z] に置く。拗音の頻度は3つ合わせても3%程度だが、すべてのモーラを2打以内で入力するという目標のために単打とせざるを得ないので、なるべく邪魔にならない場所に置く。

  • [T] =「ゃ」
  • [Q] =「ゅ」
  • [Z] =「ょ」

「ゅう」「ょう」は左手側の中指シフトキーから始まる2キーシーケンスを割り当てる。頻度はそれぞれ0.6~0.8%程度である。人差指や薬指を当ててもよいのだが、負荷バランスを考えて、両小指を当てることとした。

  • [D;] =「ゅう」
  • [DA] =「ょう」

これらの拗音キーに先行する子音キーは主に右手側に置き、頻度の高い子音から順に打ちやすい位置を割り当てていく。ミャ行とビャ行は頻度がきわめて低い(ほぼ「みゃく」「みょう」「びょう」しか現れない)ので左手側に置き、右手側のキーに将来拡張用の余裕を持たせておく。

清音

TRON かな配列をベースとして、前置シフトキー [D] [K] と後置シフトキー [T] [Q] [Z] を避けるように再配置する。

左手側は TRON からあまり変わっていない。単打面から「に」「ら」「り」を外し、打ちやすさと負荷バランスを考えて配字を入れ替えた。シフト面には右手から「け」「む」「め」が移ってきた。

一方、右手側はかなり変わっている。単打面から「、」「あ」「れ」「を」を外し、「お」「ち」「に」「わ」「ー」を単打面に入れた。シフト面には左手から「ゆ」「り」が移ってきた。

「を」は助詞専用であり、他のすべてのかなに連接することから、[DK] でも [KD] でも入力できるようにして運指の自由度を高めてみた。つもりだが、実際には [DK] ばかり使っているような気がする。

濁音・半濁音

バ行以外の濁音はすべて清音と同じキーに置き、頻度が高いものは逆手シフト、低いものは同手シフトとする。

パ行はハ行と同じキーで同手シフトとする。

ファ行と「ゔ」はハ行と対称な右手側のキーに置き、同手シフトとする。

バ行は原則としてハ行と対称な右手側のキーに置き、逆手シフトとする。ただし、「び」「べ」を右小指に置くと「びん」「べん」が打ちにくいので、この2つだけ例外として左手側に持ってきて次のようにする。

  • [FQ] =「び」
  • [FZ] =「べ」

ここまでのまとめ

  • 単打
    ゅことさゃ わきしくち
    たか、ては のい。うんー
    ょまなるも おすにつっ
    
  • 逆手シフト
    ひねどめふ ぶゆじや※
    だがをでむ ばえをあュウ~
    へそせけほ ぼ※※み※
    
  • 同手シフト
    ぴごぬざぷ ゔぎぢぐフィ
    ョウら よぱ ファり れろ/
    ぺぞぜげぽ フォず※づフェ
    
  • 拗音シフト
     ※※※   ぎちじぴ
     ※    ※き し 
     み び   りにひ 
    

※は以下で説明する。

外来音

拗音と同様に、[Q] [T] [Z] を2打目とする行段的な割り当てを行う。

  • [RQ] =「うぃ」, [RT] =「うぇ」, [RZ] =「うぉ」
  • [EQ] =「てぃ」, [ET] =「ちぇ」, [EZ] =「とぅ」
  • [WQ] =「でぃ」, [WT] =「じぇ」, [WZ] =「どぅ」
  • [ST] =「しぇ」

小書き文字

ここまでの定義で、およそ現代日本語の書き言葉に現れる(造語や外国の固有名詞を除く)すべてのモーラが2打鍵で網羅できていると思う。

網羅できなかったモーラを書くための小書き文字「ぁ」「ぃ」「ぅ」「ぇ」「ぉ」は、2打鍵にすることも可能だが、覚えにくい不規則な配置にせざるを得ない。これらは使用頻度がきわめて低いので、思い出しやすさを優先して3打鍵を許容し、規則的な配置とする。

  • [DDN] =「ぁ」
  • [DDM] =「ぃ」
  • [DD,] =「ぅ」
  • [DD.] =「ぇ」
  • [DD/] =「ぉ」

ショートカット

ですます調の文章では「です」「でした」「でしょう」などが頻出する。特に「で」の5割以上を占める「です」が3打鍵となるのは辛い。そこで、救済措置として「です」を「す」の逆手シフトに置く。こうすると、「ですが」を打つときと「ますが」を打つときで2打目以降の運指が共通になる。

  • [DM] =「です」

清濁同置の原則を緩めて「で」を単打にする案も試したが、結果的には清濁同置のほうが良かった。「て」「で」の頻度はどちらも約2.8%であり、清濁別置にすると両方を単打面に置くことになるが、どちらかをホームポジション外に置かざるを得ず、打ちにくい運指が頻出するようになってしまった。それよりは、「で」をホームポジション内の2打鍵で入力し、特に頻度の高い「です」に救済措置を入れるほうがマシだと思う。

「です」以外にも、空いているキーシーケンスに適宜ショートカットを定義した。

  • [DP] =「いただき」
  • [D/] =「ください」
  • [D,] =「あり」
  • [K,] =「けど」
  • [FD;] =「でしょう」
  • [FDA] =「でした」
  • [SD;] =「ましょう」
  • [SDA] =「ました」
  • [SZ] =「ません」
  • [HT] =「しすてむ」
  • [HQ] =「せんせい」
  • [HD;] =「けんきゅう」
  • [HDA] =「じょうほう」

このへんはユーザーの個性(職業?)が強く現れるところだろう。各々がよく使う打ちにくい字句を定義すればよい。

評価

負荷分布

国立国語研究所 現代日本語書き言葉均衡コーパス のうち「出版・書籍」「特定目的・Yahoo!知恵袋」の各上位1万語彙を用いて各キーの負荷を解析した。

f:id:mobitan:20200430070606p:plain

左手と右手の負担率はコーパスによって異なるが、ほぼ 49:51 である。各指の負担率は、小指 6~7%、薬指 9~10%、中指 17~18%、人差指 15~17% である。負担率をできるだけ左右対称にするという設計方針を実現できた。

定量評価

京都大学 学術情報メディアセンター 大規模テキストアーカイブ研究分野 のウェブサイトで配布されている、BCCWJ(コアデータ)コーパスから生成された仮名漢字変換用 2-gram の上位1万語彙を用いて評価した。打鍵効率は1文字の入力に必要な平均打鍵数、同指跳躍率は上段キーの直前/直後に下段キーを打つ率である。

f:id:mobitan:20200430070623p:plain

ブリ中トロ配列 2020/04/30 版は、清濁同置・前置2シフトという単純な(効率向上には不利な)設計ながら、打鍵効率 1.22、同指異鍵率 2.7%、同指跳躍率 0.4% を達成した*1。打鍵効率 1.22 は、31キーに収まる中指シフト配列としてほぼベストであり、これ以上は小細工レベルの改善しか望めないだろう。同指異鍵率 2.7% と同指跳躍率 0.4% はいずれも、TRON かな配列やハイブリッド月配列に比べて大幅に改善されており、悪運指の少ない配列であると言える。

まとめ

ブリ中トロ配列は、左右対称なキーボードを前提とした高効率なカナ入力方式であり、

  • 1モーラ2打鍵以内
  • 打鍵数が少ない
  • 悪運指が少ない
  • 負荷分布がシンメトリー
  • 記号を除き30キー(片手3段5列)に収まる
  • Google 日本語入力のローマ字定義で実装可能

という特徴をもつ。作者はNISSEμTRONキーボードで使っているが、ユーザーの手に合った左右対称レイアウトを自由に作れる自作キーボードにも適していると思う。

定義ファイル

Google 日本語入力のローマ字定義ファイルはこちら(「続きを読む」をクリック)↓

d		、
k		。
q		ゅ
w		こ
e		と
r		さ
t		ゃ
a		た
s		か
f		て
g		は
z		ょ
x		ま
c		な
v		る
b		も
y		わ
u		き
i		し
o		く
p		ち
h		の
j		い
l		う
;		ん
n		お
m		す
,		に
.		つ
/		っ
'		・
-		ー
、q	ぴ
、w	ご
、e	ぬ
、r	ざ
、t	ぷ
、s	ら
、f	よ
、g	ぱ
、z	ぺ
、x	ぞ
、c	ぜ
、v	げ
、b	ぽ
、y	ぶ
、u	ゆ
、i	じ
、o	や
、p	いただき
、h	ば
、j	え
、k	を
、l	あ
、n	ぼ
、m	です
、,	あり
、.	み
、/	ください
、'	:
、-	~
。q	ひ
。w	ね
。e	ど
。r	め
。t	ふ
。a	だ
。s	が
。d	を
。f	で
。g	む
。z	へ
。x	そ
。c	せ
。v	け
。b	ほ
。y	ゔ
。u	ぎ
。i	ぢ
。o	ぐ
。p	ふぃ
。h	ふぁ
。j	り
。l	れ
。;	ろ
。n	ふぉ
。m	ず
。,	けど
。.	づ
。/	ふぇ
。'	…
。-	/
いt	きゃ
いq	きゅ
いz	きょ
い、;	きゅう
い、a	きょう
きt	ぎゃ
きq	ぎゅ
きz	ぎょ
き、;	ぎゅう
き、a	ぎょう
うt	しゃ
うq	しゅ
うz	しょ
う、;	しゅう
う、a	しょう
くt	じゃ
くq	じゅ
くz	じょ
く、;	じゅう
く、a	じょう
しt	ちゃ
しq	ちゅ
しz	ちょ
し、;	ちゅう
し、a	ちょう
にt	にゃ
にq	にゅ
にz	にょ
に、;	にゅう
に、a	にょう
つt	ひゃ
つq	ひゅ
つz	ひょ
つ、;	ひゅう
つ、a	ひょう
るt	びゃ
るq	びゅ
るz	びょ
る、;	びゅう
る、a	びょう
ちt	ぴゃ
ちq	ぴゅ
ちz	ぴょ
ち、;	ぴゅう
ち、a	ぴょう
まt	みゃ
まq	みゅ
まz	みょ
ま、;	みゅう
ま、a	みょう
すt	りゃ
すq	りゅ
すz	りょ
す、;	りゅう
す、a	りょう
てq	び
てz	べ
て、a	でした
て、;	でしょう
さt	うぇ
さq	うぃ
さz	うぉ
とt	ちぇ
とq	てぃ
とz	とぅ
こt	じぇ
こq	でぃ
こz	どぅ
かt	しぇ
かz	ません
か、a	ました
か、;	ましょう
のt	しすてむ
のq	せんせい
の、a	じょうほう
の、;	けんきゅう
、、n	ぁ
、、m	ぃ
、、,	ぅ
、、.	ぇ
、、/	ぉ

*1:同指跳躍率の計算方法を見直したため、2019/10/22 版の記事とは比較できない。本記事では [R] [T] [V] [B] [Y] [U] [N] [M] を人差指にカウントしている。一方、2019/10/22 版の記事では [R] [V] [U] [M] を人差指にカウントしているが、[T] [B] [Y] [N] をカウントしていなかった。