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つのデバイスとして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つのエントリ。