キーボードインターフェースの課題
アプリケーションソフトを変更することになしに、バーコードリーダを接続する方法として、キーボードインターフェースがある。これは、バーコードデータをキーボード信号にエミュレーションすることにより、キーボードポードまたはUSBポートからデータ入力できるようにしたものであり、大変便利な製品である。ところが、2次元シンボルのようにデータ量が大きい場合は、キーボードバッファがオーバーしてしまうので同様に使用することはできない。
ソフトウェアキーボードウェッジとは
ソフトウェアキーボードウェッジは、RS-232CやUSBのシリアルポートから入力されたバーコードデータをパソコンソフトによりキーボードデータにエミュレーションし、キーボードインターフェースと同様に入力させる手法である。
ソフトウェアキーボードウェッジとして最も簡単な方法は、SendKeysコマンドを使用して、現在アクティブになっているアプリケーションのカーソル位置にバーコードデータを入力させる方法がある。SendKeysコマンドは、キーボードコードに変換するコマンドであるので、テキストデータ以外の入力に対しては使用できない。また、Sendkeysの制限から全角チルドのような入力不可文字が存在する。
次の方法は、キャラクタ・メッセージ(WM_CAHR)を利用して、現在アクティブになっているアプリケーションのカーソル位置にバーコードデータを入力させる方法がある。キャラクタ・メッセージ(WM_CAHR)を利用する場合でも、キャラクタの送信機能を「キャラクタ モード」と「バーチャルキーモード」の2つの入力方法がある。「キャラクタ モード」は、その名のとおり文字を直接アクティブ画面に送るので、2次元シンボルのようにデータの中に制御文字があってもデータとして入力できる。(制御コードは表示できないので、受け取ったアプリケーション側で捨てられる。)
一方、「バーチャルキーモード」は、キャラクタの他にキーボードが押された場合に発生するkey upとkey downのイベントを現在アクティブになっているアプリケーションに送ることができる。キャラクタとバーチャルキーが送信可能なモードであるので「バーチャルキーモード」という。「バーチャルキーモード」にした場合、キャラクタのTAB,CRはバーチャルキーに変換して送信されるので、VT200のような端末エミュレータでも使用できる。
データ編集機能
データの削除、抽出、並び替えなどのデータ編集は、一般的にデータを入力してから行うものであるが、必要なデータに予め編集してから入力する方が便利である。そこで、ソフトウェアキーボーソウェッジには、編集機能を持たせることができる。
簡単な編集機能としては、データ削除、データ付加、データ変換である。例えば、データの先頭または後尾からnバイトを削除できるようにしておけば、注文番号と製品番号が一緒にバーコード化されているときに、どちらか片方を入力させたり、チェックデジットを取って入力させたり、JANコードの製品番号5桁のみを入力させたりすることができる。また、データ付加は、担当者コードやロット番号等の文字列を付加させたり、CRやLF、TAB 等の制御文字を付加させることができる。データの置き換えは、$を\に変換したり、カンマをCRに変換したり、CRをTABに変換したりすることができる。
また、高度なデータ編集としては、アプリケーション識別子によるデータ抽出、固定長やCSVによるデータの抽出などがある。医療材料標準バーコードGS!-128(UCC/EAN-128)は、製品番号の外に必要に応じて有効期限や数量、ロット番号等のデータもバーコード化する。また、EDIに使用される2次元シンボルでは、梱包番号、注文番号、製品番号等のEDIデータをそのまま2次元シンボルにする。したがって、バーコード桁数やシンボルサイズは様々となり、ユーザは、読み取ったデータから自分が必要なデータのみを抽出して自分のアプリケーションに入力する必要がある。この場合、アプリケーション識別子データテーブルを持つことにより、自由にデータの抽出を行うことができる。また、2次元シンボルでは、固定長やCSVのデータ形式でデータを分解できれば、必要なデータを自由に抽出できる。
データ編集の仕組み
データ編集機能付きソフトウェアキーボードウェッジ RS-receiver Lite