[Armadillo:01221] Re: Armadillo-220にUSBバーコードスキャナ
Hidemi Yamashita
email@hidden
2006年 9月 9日 (土) 18:41:28 JST
山下です。
yashi さんアドバイス有り難うございます。
From: Yasushi SHOJI <email@hidden>
Subject: [Armadillo:01216] Re: Armadillo-220にUSBバーコードスキャナ
Date: Fri, 08 Sep 2006 18:42:39 +0900
> HIDですので、input layerから読み込む必要があるのかもしれません。
>
> Desktop用の Linux (Fedoraでも、debianでも)に、このスキャナーを繋ぐとど
> うなりますか? /dev/inputの下にファイルができたりしませんか?
>
> armadillo-220のデフォルトでは input layerが有効になっていないので、有
> 効にして試してみてください。
あれから色々調べて、yashi さんの御推測の通り input layer に
手を付けて読む事が出来ました。参考程度に手法を纏めておきます。
1. カーネルを再構築する。
device drivers --> Input device support
<*> Generic input layer (needed for keyboard, mouse, ...)
--- Userland interfaces
< > Mouse interface
< > Joystick interface
< > Touchscreen interface
<*> Event interface
< > Event debugging
--- Input Device Drivers
[*] Keyboards --->
[ ] Mouse --->
[ ] Joysticks --->
[ ] Touchscreens --->
[ ] Miscellaneous devices --->
Hardware I/O ports --->
device drivers --> USB support
<*> Support for Host-side USB
[ ] USB verbose debug messages
--- Miscellaneous USB options
[*] USB device filesystem
[ ] Enforce USB bandwidth allocation (EXPERIMENTAL)
[ ] Dynamic USB minor allocation (EXPERIMENTAL)
--- USB Host Controller Drivers
<*> OHCI HCD support
< > SL811HS HCD support
--- USB Device Class drivers
途中省略
--- USB Input Devices
<*> USB Human Interface Device (full HID) support
[*] HID input layer support
[ ] Force feedback support (EXPERIMENTAL)
[ ] /dev/hiddev raw HID device support
2. スキャナを繋いでも自動的にデバイスファイルは出来ないので
起動時にデバイスファイルを作成する。
mkdir /dev/input
mknod /dev/input/event0 c 13 64
chown ???:??? /dev/input/event0 環境に合わせて適宜変更
chmod ??? /dev/input/event0 環境に合わせて適宜変更
以上で、/dev/input/event0 を poll() で読み込み待ちにすると、
読み込みを行う度に poll() から抜けてくるので read() すれば読
み込めます。但し、ここで読み込まれたデータは文字コードではな
く、キーコードになっていますのでシフトキーなどの処理は全部自
前で行う必要が有ります。
邪道な方法なのですが、何せ時間が無かったのでこの方法で取り敢
えず我慢です。どなたかもっとスマートな方法を御存知でしたら声
を掛けて下さい。
armadillo メーリングリストの案内