キーボードインターフェースの課題
アプリケーションソフトを変更することなしに、バーコードリーダを接続する方法として、キーボードインターフェースがあります。これは、バーコードのデータをキーボード信号にエミュレーションすることにより、キーボードポートに入力できるようにしたバーコードリーダで、アプリケーションソフトの変更なしにバーコードが使用できることから今日広く使用されています。
ところが、これは、ノートパソコンのようにキーボードポートがない場合や補助キーボードポートがあっても10キー用になっていて、数字以外の入力ができない場合は、使用することはできません。
また、2次元シンボルのようにデータ量が大きい場合は、キーボードバッファがオーバーしてしまうため使用することはできません。
また、キーボードインターフェースは、パソコンのキーボードの信号にエミュレーションするために、パソコンのメーカや機種が変わったとき使用できなくなることがあります。これは、簡単にバーコード入力できる観点からは、Easy Barcodingと言えますが、オープン化してないことから、真のEasy Barcodingではないと考えます。
ソフトウェアキーボードウェッジとは
これらの問題を解決してくれるのがソフトウェアキーボードウェッジです。ソフトウェアによりRS-232CシリアルポートやUSBシリアルポートから入力されたバーコードデータをキーボードデータにエミュレーションし、キーボードインターフェースと同様に入力させることができます。ソフトウェアキーボードウェッジには、SendKeyコマンドまたはキャラクタ・メッセージ(WM_CAHR)を利用して、現在アクティブになっているアプリケーションのカーソル位置にバーコードデータを入力させる方法があります。
SendKeyコマンドは、キーボードコードに変換するコマンドですので、テキストデータ以外の入力に対しては使用できません。また、Sendkeysの制限から全角チルダのような入力不可文字が存在します。
ComStarやRS-reciever Liteでは、キャラクタ・メッセージ(WM_CAHR)を利用しており、キャラクタの送信機能に「キャラクタ モード」と「バーチャルキーモード」の2つのモードを用意しました。「キャラクタ モード」は、その名のとおり文字を直接アクティブ画面に送るので、2次元シンボルのようにデータの中に制御文字があってもデータとして入力できます。(制御コードは表示できないので、受け取ったアプリケーション側で捨てられる。)
一方、「バーチャルキーモード」は、キャラクタの他にキーボードが押された場合に発生するkey upとkey downのイベントを現在アクティブになっているアプリケーションに送ることができるものです。バーチャルキーが送信可能なモードですので「バーチャルキーモード」と言います。「バーチャルキーモード」にした場合、キャラクタのTAB,CRはバーチャルキーに変換して送信されるので、VT200のような端末エミュレータや汎用コンピュータの端末エミュレータでも使用できます。
2次元シンボルとノートパソコンに有効
2次元シンボルは、データ量が数百バイトになるため、キーボードポートに直接入力するとデータを取りこぼしてしまいます。そんな時は、ソフトウェアキーボードウェッジは非常に便利なソフトです。また、ノートパソコンのように補助キーボードポートがない場合もソフトウェアキーボードウェッジを使用すると便利です。
優れた編集機能
RS receiver Liteの入力データの編集機能は、単純なデータの削除、付加、置き換え、抽出に限定していますが、ComStarは、固定長データ、CSVデータ、GS1-128(EAN128)データの構成パターンを設定することによって、データを分解し再度組立て直すことができるます。
RS receiver Liteのデータの削除は、データの先頭または後尾からnバイトを削除できます。また、データ抽出の範囲は、mバイト目からnバイト目と単純です。しかし、ComStarは、一旦データを分解するので、分解したデータの構成要素である項目を任意に削除することができます。例えば、入力データをEAN128アプリケーション識別子で分解し、必要な識別子のデータのみを抽出し、更に、そのデータを設定した順に並べ替えて入力することが可能です。
また、RS receiver Liteのデータ付加は、データの先頭または後尾に任意のデータを付加できますが、ComStarは、分解したデータの任意の項目位置にデータを挿入できるようになっています。
RS receiver Liteのデータ置き換えは、カンマをTABに置き換えるなど単純な機能ですが、ComStarでは、データをすべて分解できるので、データを削除し任意にデータを付加することによって自由な置き換えが可能です。