xorgとevdevの実行時にバーコードスキャナを入力する

xorgとevdevの実行時にバーコードスキャナを入力する

テキストコンソールでバーコードをスキャンすると(CTRL + ALT + F1またはXを実行しない)、正しい入力が得られますが、Xで実行されているアプリケーションを試しても正しいバーコードを取得できません。

スキャナは、「n」が続くバーコードを返すように構成されています。 XIでは、以前のバーコードではなく「n」のみが取得されます。

何が起こったのかを見るためにxevを実行しました。以下は出力から抜粋したものです。

> KeyPress event, serial 35, synthetic NO, window 0x6800001,
>     state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
> KeyRelease event, serial 35, synthetic NO, window 0x6800001,
>     state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
> KeyPress event, serial 35, synthetic NO, window 0x6800001,
>     state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
> KeyRelease event, serial 35, synthetic NO, window 0x6800001,
>     state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,

バーコード内の各数値に対してKeyPress / KeyReleaseイベントペアがありますが、Alt_LのKeyPressとKeyReleaseイベントの間に何も起こりませんか?

解決策を見つけるには、どのキーの組み合わせを探す必要があります。通常のコンソールの動作と一致させるには?

PS私はWelch Allyn ST3400バーコードスキャナーを使用しています。

編集する:

コマンドラインでshowkeyを実行してバーコードをスキャンします。これは私が得た結果です。

keycode  28 release
keycode  56 press
keycode  82 press
keycode  76 press
keycode  80 press
keycode  56 release
keycode  56 press
keycode  82 press
keycode  75 press
keycode  73 press
keycode  56 release

バーコードスキャナは、正しい文字を得るためにLeft-Alt +#+#+#を使用しているようです。バーコードスキャナがLeft-Alt?で使用されている数字キーパッドキーのリリースイベントを送信していないようです。他のフォーラムで同様の内容を読みましたが、解決策はありません。手動でLeft-Alt +#+#+#と表示キーを使用している場合は、各キーを押して放します。

さて、問題はXorgを実行するときにKeyPressイベントがないのですか?

答え1

より良い使用可能な出力を生成するためにバーコードリーダーを再構成することがよくあります。構成は通常、特別なバーコードをスキャンすることによって行われます。マニュアルを参照してください。

関連情報