JISかな打ちとは一体なんなのか
技術::humaninterface
序
「かな打ち」という言葉を聞いたことがある人は多いだろうが、若い子であれば聞いたことすらなく、日本語キーボードのかな刻印が一体なんなのかと思っている人も結構いるかもしれない。

日本語キーボードにあるかな刻印はJISかな入力という入力方法のためのものだ。 非常に伝統的なメソッドであるが、ユーザーは結構少ない。 アスキーの調査によると2015年のアンケートでかな入力は5.1%に過ぎないらしい。
この記事では90年代は55.1%がJISかな入力であるということだが、記事に書かれていないこととして、ワープロはそもそも必ずしもローマ字入力をサポートしていなかった、ということもあったりする。 私が最初に使ったJXも通常はできなかった。ローマ字入力の普及は結構最近なのだ。
本稿では、このJISかな打ちについて非ユーザーの方向けに掘り下げていこう。
IME
日本語入力にはIME(Input Method Editor)を必要とする。
Windowsの場合入力編集も変換もMS-IMEが担うようになっているのでIMEという言葉が一体になったものに聞こえてしまうが、入力編集と変換は異なる概念である。
入力編集は入力バッファを保持し、編集を可能にするものだ。
ここで「編集」という言葉にひっかかってしまうが、例えばローマ字でtyu
と打つとすると、バッファは
t
ty
ちゅ
のようにバッファが変化する。 このように入力に応じてすでにバッファにあるものが変化するのが「編集」である。
もちろん、変換も編集の一種ではあるのだが、変換は非常に複雑な処理が必要なものであるため、段階としては異なるものとして認識される。
ちなみに、LinuxではIMEとかな漢字変換エンジンは分離されているのだが、バッファ内で行われる編集もかな漢字変換エンジンに依存する形になっており、変換だけを委譲しているわけではない。
ローマ字入力は非常に入力編集が多用されるが、JISかな打ちではほとんどの入力が1タイプ1文字で確定できるため、編集される機会はずっと少ない。 JISかな打ちにおいて入力編集がなされるタイピングは濁点「゛」と半濁点「゜」だけである。
JISかな打ちにおいては@
で濁点が、[
で半濁点が入力される。
Unicodeにおいては濁点/半濁点のついたひらがな・カタカナの文字のほかに、合成用の濁点(U+3099 Combining Katakana-Hiragana voiced sound mark
)と半濁点(U+309A Combining Katakana-Hiragana semi-voiced sound mark
)が存在する。
次の文字が識別できるかどうかはあなたの環境によるが、
ば
(U+3070
)ば
(U+306F U+3099
)
のように二通りの「ば」が存在する。 が、一般的には文字の後に濁点「゛」を入力した場合、直前の文字を置き換える形で入力され、合成は行わない。 聞いたところによると、Mac OS Xでは合成文字のほうを入力したりするらしい。
合理的なタイピングだが動きは大きい
JISかな打ちは通常のタイピングにおいて全ての文字キーを使用する。 これはJISかな打ちにしかない特徴で、中国語でも韓国語でも一般的には上段は用いない。
ローマ字打ちと違いShiftを使用するが、Shiftを必要とするキーは限れられ、をっゃゅょ、。「」・
のみがShiftを伴って入力するキーである。
逆にそれ以外についてはShiftを無効化するのが一般的で、これによりローマ字入力でShift入力可能な!
のような文字はキーボードから直接打てないし、Shiftで・
を出すので?
も出せない。
こうした場合には変換を伴うか、全角英数モードを用意して入力することになる。
JISかな打ちは濁音・半濁音を除けば1打1文字である。 変換があるためローマ字入力の半分で済むとはいかないが、それに近いぐらい入力効率は良い。 また、ローマ字入力はキーの偏りが非常に激しい入力方法だが、この点も是正される。
一方で、ホームポジションを維持していると打つのが難しいキーを頻繁に打つことになり、手の移動が大きくなる。 手の大きい人ならホームポジション完全維持で打てるかもしれないが、それでも指の移動は大きい。 打鍵数が少なく偏りもない割には速くならない要因はここにある。
それでもローマ字入力よりは高速打鍵ができるし1、ローマ字入力ほど指がこらない。
とはいえ、あくまでも「ローマ字入力よりはマシ」でしかないため、本当に高速打鍵が求められる場合はもっと良い入力方法が求められてきた。典型的なのは親指シフトであり、ステノワードだ。
カタカナ/英数入力モードとの相性
ローマ字入力はバッファが高頻度で編集される関係上、カタカナ入力、英数入力を入力使う人は少ないだろう。
カタカナ入力は、WindowsであればShift+ひらがな
で入ることができるものである。
英数入力は、MS-IMEはWindows 98までは英数キーで全角英数モードになっていたのだが、Windows 2000以降はこの挙動がなくなった。 設定で割り当てることは可能。
JISかな打ちは逐次入力に近いスタイルなので、これらのモード切り替えと相性が良い。
かつては!
や?
といった文字を入力するために英数キーを用いるタイピングスタイルを用いていた人も多かったが、MS-IMEのデフォルトでなくなってしまったため現在では大幅に減ったようだ。
こうした人はF9キーを用いて全角英数入力をすることが多い。
w問題
近年は芝w
を打つとき半角が用いられることが多いので問題ないが、昔は半角を用いると笑われる対象だった。
で、w
が使われる理由のひとつに、ローマ字入力においてw
の連打で入力が編集されないので手早く打てる、というのがあったのだが、JISかな打ちでは当然ながらそんなことはないので、かなり打ちにくい。
JISキーボード必須
US(ANSI)キーボードとJISキーボードではそもそも文字キーの数が違うため、USキーボードでJISかな打ちはできない。
US配列をGeneric ja_JPとして暑かった場合に失われるのはー
とろ
である。US配列として扱った場合に何が失われるかはIMEによるが、Mozcの場合はへ
, ー
である。
このため、基本的にはJISキーボードが必要なのだが、これは一般的に想像されるよりずっと根深い問題だ。
まず、世界中のほとんどのキーボードの物理配列はANSIまたはISOである。 どちらも英語キーボードとして存在する配列であり、各国のキーボードの違いはキートップの印字の問題でしかなく、無刻印ならばユニバーサルというのが現実。 何の言語のキーボードとして扱うかはソフトウェア的な問題だ。
対して、JISキーボードというのは物理的に違う。 このため、日本語以外のキーボードはキートップの印字を無視して転用が可能なのに対し、JISキーボードは専用品が必要となる。 これはAmazonでよく見かける「なんちゃってJISキーボード」の発生要因でもあり、そもそも物理的に専用のものが必要でキー数が違う、なんていうのは日本固有の事情なので、どうしても「かな印字すれば日本語キーボードになる」という発想になってしまうのだ。 逆に、日本語キーボードにかな印字があまり必要とされていないということもまた知られていない。
そして、キーボードメーカーは日本以外を相手にするのならキーキャップと、気を利かせてもファームウェアの違いくらいで各国バージョンを製造・販売できるのに対して、JISキーボードは完全な専用品を必要とすることから「日本のためだけに金型を起こす」ということが必要となってなかなか手出しできない。 ちゃんとしたJISレイアウトを出しているRazer, Pulsar Gamingあたりは相当奇特だと言っていいし、Keychronは大変に日本フレンドリーだ。
以前はダイヤテックがUnicompのJIS配列キーボードを出していたり、ふもっふのおみせがVarmiloのJIS配列キーボードを出していたりしたが、あれは輸入代理店の努力の結晶であり、JISキーボードに関してはかなりちゃんと監修しないとまともなものにならないためかなりがんばったんだろうなぁと思う。 さすがにVarmiloのJIS配列キーボードはグラフィックまでは完璧でなかったりするのだが。
加えて、JISキーボードは下段に「変換」「無変換」「ひらがな/カタカナ」という固有のキーを3つも持っており、しかも下段のキーのサイズが規格にない。 これにより下段キーサイズはメーカーの思い思いというカオスであり、キーキャップは基本的には製品の専用品しかないという地獄が発生する。
こうしたJISキーボードの難しさがあるため、JISキーボードは圧倒的に製品選択の余地に乏しい。 なのでこだわりのキーボードというのはだいぶ少なく、近年はゲーマーを中心により選択肢の多いUSキーボードを使うユーザーが増えている。これはローマ字入力であればUS配列でもそんなに困らないためだ。
そして、そのためにメーカーがJISキーボードを出すモチベーションはさらに低くなっており、JISキーボードは割と危機的状況にあったりする。
私が非常に苦労してこだわりのJISキーボードをビルドしたりしているのもそれが理由。
Shift問題
拗音にShiftを必要とするため、かなりの頻度でShiftを押す必要がある。
通常はShiftに対応したキーがない場合はShiftが押されても影響がないため2Shift引きずりは問題ないのだが、英語と違って先頭とは限らないためタイミング問題があり、Shiftが遅れてしまうということが結構ある。
この問題のため私はカスタムキーボードではShiftを軽くするようにしている。
習得ハードル
JISかな打ちに魅力を感じて転向しようと思っても、ちょっとハードルが高い。
というのも、キーボードで英語入力はするもので、ローマ字入力は英語の配列を前提にタイピングすることになるため、文字配列を覚える必要はない。 対して、かな配列は英語とは関連性がないため、全く異なる文字配列を覚える必要がある。
新規に文字配列を覚えるのならば、より効率を求めた入力方法を覚えるのだって良い。効率を求めてJIS配列にするならば、もっと良い選択肢があるという話になる。
ただし、JIS配列の良さもある。
まず、汎用性だ。 JISキーボードが特殊な品だと言ったが、専用配列ほど特殊ではなく普通に買える。 専用ソフトウェアも必要ない。 ローマ字入力と比べると環境を限定するJISかな打ちだが、特殊配列とはだいぶ差がある。
そして、キーボードを広く使える点だ。 入力に使うキーが多いのはデメリットでもあるのだが、指を完全に固定してのタイピングは指への負担が大きいのでメリットでもある。 特に特殊配列はなるべくキー数を減らす方向になっているのが普通なので、それが好みでない人とってはかな打ちは結構魅力的かもしれない。