[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 メーリングリストの案内