Linuxデバイスの機能/ビットフィールドはどのように/どこに設定されますか?

Linuxデバイスの機能/ビットフィールドはどのように/どこに設定されますか?

次の出力を持つデバイスがあります/proc/bus/input/devices

I: Bus=0003 Vendor=05b8 Product=3280 Version=0111
N: Name="PixArt USB Optical Mouse"
P: Phys=usb-0000:00:1a.0-1.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input89
U: Uniq=
H: Handlers=mouse3 event5 
B: PROP=0
B: EV=17
B: KEY=ff0000 0 0 0 0
B: REL=103
B: MSC=10

これらのビットフィールド(KEY、RELなど)はどこに設定されていますか?

Linuxのソースコードを見ると、特定のドライバがビットフィールドを設定しているようです。ただし、このデバイスにインストールされているモジュールはhid_generic 1であり、ほとんど何もしません。

マウスを聞いている他のドライバーがいると思います。マウス開発ですか?というドライバを作成しています/dev/input/mouse3。 mousedevがマウスデバイスと一致するドライバであることを確認する前に、ビットフィールドを設定する必要があるようです。

脚注

1 - hid_genericが使用されているかどうかはどうすればわかりますか?

dmesgマウスを挿入すると、出力は次のようになります。

[272055.191824] usb 1-1.1: new low-speed USB device number 23 using ehci-pci
[272055.288221] usb 1-1.1: New USB device found, idVendor=05b8, idProduct=3280
[272055.288232] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[272055.288238] usb 1-1.1: Product: USB Optical Mouse
[272055.288243] usb 1-1.1: Manufacturer: PixArt
[272055.291101] input: PixArt USB Optical Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input88
[272055.291774] hid-generic 0003:05B8:3280.004A: input,hidraw2: USB HID v1.11 Mouse [PixArt USB Optical Mouse] on usb-0000:00:1a.0-1.1/input0

メモが記載されていますhid-genericsudo rmmod hid_generic実行してからデバイスを取り外して再接続して、それをさらに確認できます。sudo lsmod | grep hid_generic復元されたことを示します。

関連情報