最新更新日: 2000/01/08 |
NICOLA配列規格書
NICOLA(ニコラ)
(Nihongo Input COnsortium LAyout)
[表-1]ワープロの大衆化:平均単価推移
[表-2]入力方式の選択
[表-3]1986年以降新JIS配列の出荷台数または製品化事例
《新JISの各社の製品化状況》
この規格は、主として仮名漢字変換形日本語入力装置で使用する親指キー併用形鍵盤について規定する。
この規格で規定する鍵盤は,「英数モード」と「かな漢字モード」を切り替えながら、日本語を入力するものとする。
この規格は,「かな漢字モード」における図形文字の入力について、鍵盤上のキーの相対的な配列と文字選択方式とを規定する。キー上面の表記、キーの間隔、鍵盤の傾斜、キートップの形状、寸法のような物理的要因は対象外とする。
この規格は、英数モードの配列については規定しない。
英数モードの配列としては、OADG 109Aキーボードが想定される. OADG 109Aキーボード JISによる参照キーボードに!
この規格で用いる主な用語の意味は次の通りとする。
キーの配列及び領域分けは図1のとおりとする。なお、左領域と右領域が容易に識別できること。
(2018.11) B01単独打鍵が「,」になっていますが, 正しくは「.」(ピリオド) です。B10単独打鍵が「ぃ」になっていますが, 正しくは「・」(中点) です。D12の記載がありませんが、正しくは単独が「゛」(濁点), シフトが「゜」(半濁点) です。
実装は、その選択により、親指キーの単独打鍵時に、制御機能を割り当ててもよい (親指キー共用型)。ただし、その組み合わせは次に限る;
親指左 | 親指右 | |
---|---|---|
無変換 | 変換 | [親指右/変換]の右側に空白を配置する |
空白 | 変換 | [親指左/空白]の左側に無変換を配置する |
打鍵操作と、選択される文字との関係は、図2のとおりとする。
備考:
|
|
|
| ||||||||||||
|
|
| |||||||||||||
|
|
|
|
(1)右領域文字キーの単独打鍵により選択できる文字種は以下のとおりとする。
め そ ね ほ ・ は と き い ん ら ち く つ , 、
注) ・(中点) ,(コンマ) 、(読点)
(2)右領域文字キーと親指右キーの同時打鍵により選択できる文字種は以下のとおりとする。
ぬ ゆ む わ ぉ の ょ っ よ に る ま ぇ
(3)右領域文字キーと親指左キーの同時打鍵により選択できる文字種は以下のとおりとする。
ぷ ぞ ぺ ぼ ば ど ぎ ぽ ぱ ぢ ぐ づ ぴ ゛
注) ゛(濁点)
(4)左領域文字キーの単独打鍵により選択できる文字種は以下のとおりとする。
. ひ す ふ へ う し て け せ 。 か た こ さ
注) .(ピリオド) 。(句点)
(5)左領域文字キーと親指左キーの同時打鍵により選択できる文字種は以下のとおりとする。
ぅ ー ろ や ぃ を あ な ゅ も ぁ え り ゃ れ 注)-(長音符号)
(6)左領域文字キーと親指右キーの同時打鍵により選択できる文字種は以下のとおりとする。
び ず ぶ べ じ で げ ぜ が だ ご ざ °
注) °(半濁音)
同時打鍵とは、2つのキーをピアノの和音のようにほとんど同時に押す操作である。
親指キー併用形鍵盤では、同時打鍵操作用のキーとして、キーボード中央に2つの親指キー (親指右キー、親指左キー) を備えなければならない。これらを文字キーと組合せることで, 1つの文字キーに最大3つの文字を割り当てる。
例: 文字キーC06 に、"は"、"み"、"ぱ"の3文字を割り当てている。
「文字キーのみの単独打鍵」 → は
「親指右キーと文字キーの同時打鍵」 → み
「親指左キーと文字キーの同時打鍵」 → ぱ
(参考) 1つのキーに3つの文字を割り当てられることにより、かな文字全てをアルファベットとほぼ同じキー数に収めることが可能になり、さらに、濁音、半濁音も1つの文字として割り付けることが可能となった。
同時打鍵は、打鍵の時間差に着目し、打鍵の前後関係を問わない方式である。以下の2つの操作ケースが存在する。
つまり、親指キーが文字キーの前でも後でも、ある許容時間 (同時とみなせる時間範囲) 以内のずれで連続して押されたならば、全く同等の同時打鍵入力として扱わなければならない。
この「同時に押されたと判定されるための打鍵時間のずれの許容限界」を同時打鍵判定時間と呼ぶ。同時打鍵判定時間は、実験的に50〜200ms程度が妥当であることが確認されており、実装は、適切な同時打鍵判定時間を決定しなければならない。
(参考) 本例では100msと仮定している。(以後、判定時間と略する場合あり)
押下された文字キーを単独の打鍵であると判定するためには、それが同時打鍵ではないことを確認する必要がある。
文字キーが押下された場合、ハードウェアで実装する場合、そのキーON情報をすぐに出力せずに、まず、キーコードレジスタ(MM)に格納する。ソフトウェアで実装する場合も同様に、直ちに図形文字を生成せず、バッファに格納する。
そして、同時打鍵判定時間の間に親指キーが押されないこと等を確認した後、単独打鍵が確定して、キーコードレジスタの内容が出力される。
規定時間以内で単独打鍵が確定するケースもあるので、実際には図1〜図3の3パターンが存在する。
親指キーが押され、同時打鍵判定時間以内に文字キーが押された場合(図4)と、文字キーが押され、同時打鍵判定時間以内に親指キーが押された場合(図5)の2パターンが存在する。
同時打鍵の可能性があるため、次のステップに進む。
図4 同時打鍵「親指キーON→文字キーON」の場合
文字キーa | ̄ ̄ ̄| ……………… ……………… 親指キーs | ̄ ̄ ̄| ………… …………………… |……|判定時間内なら、同時打鍵成立
図5 同時打鍵「文字キーON→親指キーON」の場合
文字キーa | ̄ ̄ ̄| ………… ……………… 親指キーs | ̄ ̄ ̄| ……………… ………… |……|判定時間内なら、同時打鍵成立
文字キーa、親指キーs、文字キーbの3つのキーが、判定時間以内の間隔で重複して押された場合は、中央に挟まれた親指キーsが文字キーaを修飾するものか、文字キーbを修飾するものかを決定しなければならない。(図6)
基本的には、押下時刻が、より親指キーに近い文字キーとの間に同時打鍵が成立すると判断する。
t1 ≦ t2ならば、文字キーaと親指キーsが同時打鍵、文字キーbは単独打鍵。ただし、文字キーbは、さらに続いて親指キーが押されれば同時打鍵となる場合がある。
t1 > t2ならば、文字キーaは単独打鍵、親指キーsと文字キーbは同時打鍵。
同様に,「親指キーa ON」→「文字キーON」→「親指キーb ON」というケースも, 適切に振り分ける必要がある。
実装は、親指キーの単独打鍵に意味をもたせて、変換キー、無変換キーなどに利用してもよい (親指キー共用型)。この場合、親指キーが単独で打鍵されたか、あるいは文字キーとの同時打鍵か、を識別する判定基準が必要となる。
親指キー独立型であっても、文字キーの単独打鍵に続く、別の文字キーのシフト操作を適切に判定するため、この節の判定方法を実装する必要がある。
逐次打鍵とは、時間順序を意図して連続して打鍵するキー操作を言う。
本来逐次打鍵では、それぞれのキー入力が独立して行われ、その間に空き時間が存在するはずであるが、高速な入力を行う際には、最初に押したキーが離される前に次のキーが押される場合もあって、タイミング的には同時打鍵に似た状況が発生する。
重複が親指キーと文字キーの組み合わせでは、意図せず、同時打鍵と誤認してしまう危険性がある。
「文字キーON」→「親指キーON」→「文字キーOFF」→「親指キーOFF」と打鍵された場合の例を図7に示す。
文字キーa | ̄ ̄ ̄ ̄ ̄ ̄| ………… …………………… 親指キーs | ̄ ̄ ̄ ̄ ̄| …………………… …………… |…t1… |-t2-| t1: 「文字キーa ON → 親指キーs ON」の時間 t2: 「親指キーs ON → 文字キーa OFF」の時間
文字キーaと親指キーsの押された時間のずれ(t1)が同時打鍵判定時間内である場合、キーONの時間だけに着目して同時打鍵を判定する方法では、必ず同時打鍵と判定されてしまう。 しかし、その後、文字キーaが短い時間(t2)で離されたとすると、文字キーと、親指キーの逐次打鍵でたまたま重複が起きたという可能性も考えられる。
t1 > t2 × n ならば逐次打鍵、t1 ≦ t2 × n (ただしnは実装が決定) ならば同時打鍵と判定しなければならない。
ただし, キーが押下されている時間が極端に短い場合は、ぶれの要素を考慮する必要があり、t1とt2の大小比較だけでは安定した判断を行うことが難しくなる。そこで、t2の絶対時間がある規定時間以下であった場合は、t1によらず逐次打鍵と判定するという手法も考えられている。
同時打鍵は、親指キーと文字キーの同時操作が必要となるため、両手の動作に困難を伴う利用者の使用に対して考慮しておく必要がある。
同時打鍵は2つのキーを押す時間差を規定しているため、素早いキー操作に困難を伴う利用者にとっては使いにくいものになってしまう恐れがある。
親指キーを先に押し、後から文字キーを打鍵する操作(英数モードにおけるシフト操作と同じ)も同時打鍵と認める方法。
→ 別紙「親指キー併用形鍵盤の制御マトリクス」において、
親指キー押下状態におけるタイムアウト処理を無くす。
利点:受信側のソフトウェアの変更は不要。
欠点:親指キーの単独押下はキーを離すまで確定しない。
親指キーの単独打鍵を使う必要の無い、変換/無変換キーを独立して持つシステム (親指キー独立型) ならば、このように implement しても副作用はなく、実際に多くの機種で採用されている。
一回の動作で一つのキーしか打鍵出来ないような場合、2つのキーを同時に操作する同時打鍵入力を行うことができない。
親指キー単独打鍵の後、文字キーを押した場合も同時打鍵と認める方法。
→ “親指キー単独打鍵コード+文字キーONコード”を受信した場合にも
同時打鍵と認めるように本体側のソフトウェアで対応する。
利点:キーボード側の変更は不要。
欠点:受信側のソフトウェアの変更が必要。
親指キーの単独打鍵を使う必要の無い、変換/無変換キーを独立して持つシステム (親指キー独立型) ならば、受信側のキーコード解析プログラムを変更することで対応できる。
親指キー単独打鍵を変換/無変換キーとして用いるシステム (親指キー共用型) の場合は、2回連続して親指キーを打鍵した場合に、変換/無変換動作を行うようにするなど, 上位レベルのソフトウェア対応が必要である。
1980年代の10年間は、日本において日本語ワードプロセッサ(いわゆる日本語ワープロ)が多数商品化されオフィス用途から個人用途まで広く普及することにより、歴史上初めて鍵盤を通じた仮名漢字変換方式による日本語入力が日常的に行われるようになった画期的な時代であった。[表-1]
この時期に存在した日本語入力用鍵盤配列の規格としては1972年制定(1980年改正)のJISX6002(情報処理系鍵盤配列)*1と、1986年制定のJISX6004(仮名漢字変換形日本文入力装置用鍵盤配列)があった。JISX6004が制定された時点ではJISX6002が廃止されていなかったために、便宜上JISX6002を旧JIS配列、JISX6004を新JIS配列と呼ぶのが通例であった。
*1JISX6002配列の原型は1964年制定のJISB 9509にみられる。
新JIS制定時点で多くの日本語ワープロが採用していた配列が旧JIS配列であったことは言うまでもないが二番目に多かったのは本規格の前身である親指シフト配列であった。以下にこれらの配列について説明する。
我々の、誰もが生涯を通じて社会生活の中で日本語を読み、書き、話し、聞いているが、このうち「書く」という行為は1980年代後半からのパーソナルワープロ等の普及にともない鍵盤による入力へと歴史的な転換を起こし始めた。
最初の日本語ワープロが出荷されてからわずか十数年しか経過していない1993年現在の日本のオフィスにおける文書作成はすでに鍵盤入力が主流となっており、今や手書き資料は例外的存在になっている。また、利用する当人が鍵盤を操作する電子メールの普及率も約5%(*3)に上がっており、今後もその傾向はますます進むと予想されている。
(*3) 1933年ニフティ株式会社調査 欧米で既に100年以上にわたり根づいているタイプライタ文化に相当するものが、わが国も広く深く根を下ろす日がようやく間近に迫って来ていると考えられる。
したがって、すべての国民が鍵盤による日本語入力を日常的に行うであろう将来に、我々が持つべき標準規格を定めることこそがこの規格制定の目的である。
制定にあたっては欧米の歴史に学び、また、日本語の特性も考慮して、以下の6つの要件を満たすことを目標とした。
年度(暦年) | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 |
単価(千円) | 1,233 | 858 | 450 | 146 | 88 | 97 | 100 | 116 | 134 | 141 | 145 |
全体 | 世帯主 | 主婦 | 小学生 | 中学生 | 高校生 | 各種学校 大学生 |
社会人 の子供 |
世帯主 の父母 | |
JISカナ | 55.1% | 52.0% | 59.3% | 75.7% | 67.4% | 48.2% | 44.1% | 46.7% | 80.0% |
ローマ字 | 30.9% | 33.4% | 26.4% | 16.2% | 15.2% | 30.4% | 58.8% | 41.7% | 0.0% |
親指カナ | 15.1% | 14.8% | 15.9% | 8.1% | 15.2% | 21.4% | 2.9% | 18.3% | 20.0% |
その他*2 | 1.8% | 1.5% | 0.8% | 2.7% | 4.3% | 3.6% | 2.9% | 3.3% | 0.0% |
全国KB出荷台数 | 新JIS出荷台数 | 新JIS出荷比率 | |
1988年 | 2,425,533台 | 186,415台 | 7.7% |
1989年 | 2,721,945台 | 12,795台 | 0.5% |
1990年 | 2,683,806台 | 2,265台 | 0.08% |
・リコー | (×) | JISのみ。 |
・東芝 | (△) | 現在はなし。(機種により、92年度まで対応しているものもあった) |
・キヤノン | (○) | 現行機種はオプションで対応。但し対応していない機種もある。 |
・NEC | (○) | ビジネス機のみ対応。 |
・シャープ | (○) | JIS/新JIS/50音の3種を内部で設定。KBにシールを貼ることにより対応。機種により未対応あり。 |
・富士通 | (○) | ビジネス機のみに対応。 |
・IBM | (×) | JISのみ。 |
・サンヨー | (×) | JISのみ。 |
・ソニー | (×) | JISのみ。 |
○親指キー併用形鍵盤配列の実装例
本例は、キーボードコントローラーにおいて、親指キーを用いた同時打鍵入力を検出するための動作アルゴリズムを示したものである。
(別紙「親指キー併用形鍵盤配列の制御マトリクス」参照)
本例の対象とするキーボードユニットは、キー押下時にキーONコード、キーリリース時にキーOFFコードを送出する。
同時打鍵検出時は同時打鍵マーカーをキーONコードの前に付加して送出する。
親指キーの単独打鍵検出機能があり、親指キーの単独打鍵を変換・無変換キーなどに兼用することも可能である。
キーリピートはキーボードユニットが検出し、キーコードを繰り返し発生する。
親指キー : | 親指左キー、親指右キー |
文字キー : | 同時打鍵が成立する可能性のある文字キー。 キーリピートあり。 |
ダイレクト リピートキー : | 同時打鍵に関与しないキー。 キーリピートあり。 Space、Tab、Esc、Bs、Rtnなど。 |
ダイレクト ノンリピートキー : | 同時打鍵に関与しないキー。 キーリピートなし。Ctrl、Shift、Altなど。 |
キー情報は8bitコードで送るものとし、$00〜$7f §の範囲でON、それの最上位ビットに1を立てた値$80〜$ffまでキーOFFを表現するものとする。
§ $付きの2桁の数字は16進数を表すものとする。(例:$ff=255)
ただし、同時打鍵成立時の識別のための1つのコード(本例では$7f)を使用するので、実際にインプリメント可能なキーの数は127個以下となる。
同時打鍵が成立した親指キーと文字キーのONコードを送出する際に、同時打鍵マーカーを付加して出力する方式を用いる。
親指左キーON | ($60) |
文字キーON | ($20) |
親指左キーOFF | ($e0) |
文字キーOFF | ($a0) |
同時打鍵が成立しているならば、同時打鍵マーカーが先頭に付加されて出力される。
同時打鍵マーカー | ($7f) |
親指左キーON | ($60) |
文字キーON | ($20) |
親指左キーOFF | ($e0) |
文字キーOFF | ($a0) |
よって、キーボードコントローラーの同時打鍵検出を「かな」/「英数」の入力モードに合わせてON/OFF制御する必要がなく、キーボード側にモードをもたせたくない場合に有効な手法である。
ただし、同時打鍵検出の原理上、キー入力に対するレスポンスが悪く感じられる場合もあり、英字入力を重視するならば同時打鍵検出機能を停止させる機能を付加することも検討すべきである。
同時打鍵判定のための複数のキーの打鍵間隔、および、キーリピート間隔を計測するために用いる。
MM | 文字キーの押下情報を保持するレジスタ |
SS | 親指キーの押下情報を保持するレジスタ |
OF | 文字キーのリリース情報を保持するレジスタ |
これらのレジスタを出力する際に値がセットされていない場合は何も出力されないものとする。
キーリピート時は、ONコードを繰り返して発生する。
(本例では、リピート間隔を500msに設定している。)
同時打鍵においてもリピート動作を行うようになっており、同時打鍵マーカーと文字ONコード、親指ONコードをセットにして繰り返し出力を行う。
なお、文字キー、又は、親指キーのどちらか一方が離された時点でリピートは終了する。
あるキーがリピートしている最中に、別のキーが押された場合は、新しいキーのリピートが優先される。
そして、新しいキーのリピート途中で元のキーが離された場合は、リピートの途中にキーOFFコードが挿入されるが、リピート動作は継続される。
文字キーON | $20 |
(リピート間隔) | |
文字キーON | $20 |
(リピート間隔) | |
文字キーON | $20 |
(リピート間隔) | |
・ | |
・ | |
文字キーOFF | $a0 |
同時打鍵マーカー | $7f |
文字キーON | $20 |
親指左キーON | $60 |
(リピート間隔) | |
同時打鍵マーカー | $7f |
文字キーON | $20 |
親指左キーON | $60 |
(リピート間隔) | |
同時打鍵マーカー | $7f |
文字キーON | $20 |
親指左キーON | $60 |
(リピート間隔) | |
・ | |
・ | |
親指左キーOFF | $e0 |
文字キーOFF | $a0 |
−以上−