Barcode Scanner Emulator
バーコードスキャナーのキーボード配列が違う
スキャン後の誤った文字や崩れた文字、特に数字、句読点、記号は、ほぼいつも復号エラーではなく、スキャナーとオペレーティングシステムのキーボード配列の不一致です。
問題
スキャンした値に誤った文字が含まれます。特定の記号や数字が別のものに入れ替わることが多いです(よくあるパターン: 数字は正しいが -、/、. などの記号が違う、または期待した文字の位置にまったく別の文字が出る)。
なぜ起きるか
HID キーボードウェッジの解説 で説明したとおり、HID キーボードモードのスキャナーは、内部に設定されたキーボード配列を使って復号した各文字をキーコードへ変換し、そのキーコードを送信します。OS は自身に設定された配列でそのキーコードを再解釈します。二つの配列が一致しないと(たとえばスキャナーが US QWERTY、OS がフランス語 AZERTY)、一部のキーが別の文字に対応し、スキャナーがバーコードを完全に復号していても、出力が誤って見えます。
診断方法
- 数字と一般的な記号をひととおり含むバーコードを キーボードイベントテスター にスキャンします。
- 記録された
keyの値を、実際のバーコードの内容と比較します。特定の文字が常に別の特定の文字へ置き換わるなら、無作為な復号エラーではなくロケール不一致の強い兆候です。 - OS のキーボード配列の設定(多くのシステムでは言語と地域)を確認し、設定マニュアルまたはベンダーユーティリティに記載されたスキャナーの設定ロケールと比較します。
修正方法
メーカーの設定用バーコードのシート、または設定ユーティリティを使い、スキャナーのキーボード配列設定を、接続先マシンの OS 配列に合わせます。これはスキャナー側の修正です。代わりに OS の配列を変えるのは、そのマシンの他のすべての入力デバイスに影響するため、実用的であることはまれです。
OS ロケールの異なる多数のワークステーションを管理する場合は、可能な限りスキャナーのロケール設定と OS のロケールを一つに統一し、マシンごとのスキャナー設定を不要にします。
確認方法
同じテスト用バーコードを キーボードイベントテスター へ再度スキャンし、特に記号を含むすべての文字が、期待するバーコードの内容と正確に一致することを確認します。