4

私たちの受付には、受付係が使用するMacbookMiniに接続されたバーコードスキャナーがあります。人々が「チェックイン」するとき、彼らはバーコードスキャナーを使用してメンバーシップカードをスキャンし、それがブラウザウィンドウに書き込みます。

受信者が何か他のものを開いているため、関連するブラウザウィンドウがフォーカスされていない場合、入力は無視されます。

これまでのところ、入力はキーボードのようにOSXに見えることがわかりました。私の計画は、その「キーボード」からの入力を傍受し、AppleScriptを使用して常に同じブラウザウィンドウに送信することです。

全体を改善できることを理解しています。APIを使用してCURLリクエストを行う専用のマイクロデバイスを使用してください。ただし、現時点ではAPIもマイクロデバイスもありません。できるだけ早くソリューションが必要です。

では、特定のキーボードからの入力をインターセプトするにはどうすればよいですか?または、別の簡単な解決策はありますか?

4

2 に答える 2

4

しかし、私はWindowsで同様のことをしなければなりませんでした。私の場合、ブラウザウィンドウは通常開いていなかったので、ブラウザウィンドウを開いて、バーコードデータを使用して特定の場所を参照する必要がありました。

私が持っていたものを含め、多くのバーコードスキャナーがUSB接続を持っていてもシリアルポートをエミュレートできることを発見しました。

ほとんどのプログラミング言語では、シリアルポートデータは非常に読みやすいので、私が使用したソリューションは、シリアルポートスキャンを受信し、スキャン時に適切なURLを開くJavaWindowsサービスでした。少し前に、必要最低限​​のスキャンリーダーコードのいくつかをここに投稿しました。

とにかく、モデルがシリアルポートデータをエミュレートできるかどうかを確認してから、目的に合わせてキャプチャできるかどうかを確認できます。キーボードフックよりも優れていると思います。

于 2012-04-14T06:02:15.280 に答える
0

問題に対する最新のアプローチは、いわゆるHIDPOSまたはUSBOEMモードを使用するようにバーコードスキャナーを構成することです。そのモードでは、スキャナーはUSBを介してコンピューターに直接接続されたままになりますが、キーボードの押下は送信されず、シリアルポートモードで取得するものと同様のコードが送信されます。

USB HID仕様では、バーコードスキャナーのコードが定義されており、GoDEXで作成されたものなど、一部のスキャナーはこのプロトコルに従います。これには、ユーザースペース処理用のIOKit APIを使用して、OSXアプリにUSB固有のコードを実装する必要があります。しかし、私はそれを達成するのはそれほど難しくないことに気づきました。

ただし、Datalogicによって作成されたものなど、一部のスキャナーは、スキャナーに公式のHIDプロトコルを使用しません。代わりに、公に文書化されていないプライベートプロトコルを使用します。ただし、リバースエンジニアリングと掘り下げを行うことで、そのプロトコルも理解しました。

詳細については、私の質問「DatalogicバーコードスキャナーでUSB-OEM(HID POS)モードを有効にする」を参照してください。

ただし、独自のUSBハンドラーを作成するこのルートをたどりたくない場合は、いつでも共通のシリアル-USBアダプターを入手して、対応するシリアルドライバーをMacにインストールし、スキャナーをシリアルモードで使用できます。 。シリアルアダプタを入手する場合、2つの一般的なタイプがあります。1つはProlificチップセットを使用し、もう1つはFTDIチップセットを使用します。多作のものはメーカーによってひどくサポートされています-それらのドライバーは時代遅れであり、すべての範囲の制御ライン(CTS、RTSなど)さえサポートしていません。ただし、私が推奨できる独立したドライバーがあります:https ://www.mac-usb-serial.com-無料ではありませんが、十分にサポートされており、シリアルポートを介してDatalogicバーコードスキャナーで確実に動作していることを確認できます。 Prolificベースのアダプタを介してMacに接続されています。

于 2016-05-16T15:13:02.683 に答える