web-dev-qa-db-ja.com

同じデバイスの/ proc / bus / input / devicesに複数のエントリ

1つのUSBタッチスクリーンをハードウェアセットアップに接続していますが、cat /proc/bus/input/devicesを使用すると、同じデバイスに対して2つのエントリが表示されます。

I: Bus=0003 Vendor=2965 Product=5023 Version=0110
N: Name="Kortek Kortek Touch"
P: Phys=usb-0000:00:14.0-3.4/input2
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.2/0003:2965:5023.0006/input/input7
U: Uniq=S20131028
H: Handlers=mouse1 event7 js0
B: PROP=0
B: EV=1b
B: KEY=30000 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10


I: Bus=0003 Vendor=2965 Product=5023 Version=0110
N: Name="Kortek Kortek Touch"
P: Phys=usb-0000:00:14.0-3.4/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.0/0003:2965:5023.0004/input/input13
U: Uniq=S20131028
H: Handlers=mouse2 event13
B: PROP=2
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=a608000 3

この同じデバイスに2つの異なるエントリがあるのはなぜですか?

2
Monku

その理由を見つけたと思います。

同じデバイスが、インターフェイスが異なる2つのデバイスとしてUSBサブシステムに公開されます。

エントリSysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.2/0003:2965:5023.0006/input/input7のように、デバイスは、最後の桁がInterfaceNumberである文字列3-3.4:1.2からわかるように、ハードウェアのインターフェイス2を公開します。

cat /sys/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.2/0003:2965:5023.0006/input/input7/deviceの出力を見ると、ハードウェアのこのインターフェイスがこのデバイスをUSBHIDジェネリックとして公開していることを示すDRIVER=hid-genericがわかります。

ただし、/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.0/0003:2965:5023.0004/input/input13に見られるようにインターフェイスが0である他のエントリの場合、cat /sys/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.0/0003:2965:5023.0004/input/input13/deviceの出力はDRIVER=hid-multitouchを示します。これは、ハードウェアのこのインターフェイスがそれをHIDMULTITOUCHとして公開することを意味します。

したがって、同じハードウェアの2つのエントリ。

1
Monku