NICOLA配列とは
富士通の親指シフト入力を整理して規格化のがNICOLA(Nihongo Input COnsortium LAyout)になります。 NICOLA 日本語入力コンソーシアム 参照
本来の親指シフト入力は専用親指シフトキーを持っていて左右シフトキーと独立していました。 OADG109Aキーボードが主流となるとPC側のエミュレーション親指シフト入力が使われるようになりました。 その為NICOLAでは共用親指シフトキーを定義しています。
また半濁音(ぱぴぷぺぽ)をクロスシフトで入力できるように定義しています。 そして左右のシフトキーによる入力も許容しています。
この事は、専用/共用どちらの親指シフトキーも左右のシフトキーと別のキーと認識されます。
NICOLA配列規格書では、キーリピートも定義されています。 内容は、FM-TOWNSやPS/2の古いキーボードの通信方法用です。 USB用では、リピートはPC本体側で行います。
NICOLA配列と1キー3文字
前提として、1キー3文字のPC用キーボードドライバは無いので、 キーボード側でローマ字のエミュレーションをして複数のコードを送っています。
今回設計/製作したキーボードは、英数でもNICOLA配列と同じ文字数が持てます。 実際には、殆ど使っていませんが。
えと、左右のシフトキーでNICOLA配列の文字入力ができるという事を言いたいのです。 左親指シフトキーを左シフトキーに、右親指シフトキーを右シフトキーに割り当てたと思ってください。
この処理により半濁音のクロスシフト以外の入力はできません。
ただ、英字入力も日本語入力も親指の同時打鍵によるシフト側文字の入力ができるようになります。 親指シフト変換器で英字入力時の同時打鍵を実装し使って結構いい感じたと思っています。
今回の実装で何故か"かな"のキーリピートができています。 少し謎?調べてはいますが、今のところ他に悪影響は出てないです。 USBのキーレポートにローマ字相当の複数IDを書き込んでいるからかしら? (かな入力ならリピートは判るのですが…ローマ字入力でね)
NICOLAの入力方法は?
まずIME ON(□あ)キーを押して日本語入力にします。 この時、キーボード内部で日本語対応に切り替わります。 英数(CapsLock)キーのLEDが緑に点灯します。
緑に点灯している間は日本語として処理しますが、 キーボード側でIMEの状態を知ることができません。 この事によりよく言われる"モードずれ"が発生します。
ローマ字入力は、英字入力と同じなのでホスト側で処理され"モードずれ"は発生しません。 LEDは点灯しません。
1キー3文字の処理がホスト側で処理されれば、NICOLA配列もキーマップ次第で"モードずれ"は無くなるのに。 エミュレーションしている状態では、"モードずれ"が発生します。
もっと単純に"IME ONの時Indicator KANAをON / IME OFFの時Indicator KANAをOFF"にしてくれるだけで"モードずれ"は無くなるね。
入力方法
いろんなサイトで紹介されていますので簡単に説明します。 NICOLA入力は、同時打鍵が基本です。
通常打鍵(左右シフトキー入力)
通常打鍵、左シフトを押しながらの打鍵、右シフトを押しながらの打鍵の3種で文字を入力します。
同時打鍵
ピアノを弾く様に文字キーと空白キー(同時打鍵 共用親指シフトキー)を同時に押すことです。
左右の空白キーは、単独打鍵で空白を入力します。 左空白キーと右空白キーを同時に押し場合 左右何方かのシフト+空白となります。(Microsoft IMEでは半角スペースになります。)
同時打鍵は、下記の様に動作します。
- 左空白キー 文字キーと同時に押すと、左空白キーを離すまで左シフトキーとして機能します。
- 右空白キー 文字キーと同時に押すと、右空白キーを離すまで右シフトキーとして機能します。
同時打鍵の機能(空白キーをシフトキーに変更する機能)は、キーボード側で処理します。 OS側で処理すること出来ますが、同時打鍵しないキーボードと共用するためです。
同時打鍵 共用親指親指シフトキー
左右とも空白(Space)になっています。 最初は、IME ON(□あ)キーを押して日本語入力にしたとき左を無変換/右を変換に入れ替える処理を考えたのです。 がIME ON(□あ)キーを搭載すると無変換/変換キーを実装しないので空白のままです。
現在、使っていて特に不都合はないですね。 カタカナ入力が一度変換が入るくらい?で慣れれば、問題ないです。