목표 : 마우스처럼 흉내내는 화이트 보드가 있습니다. 따라서 화이트 보드를 클릭하고 드래그하면 커서가 움직입니다. 우분투에서 화이트 보드 작업을하고 싶습니다 .Windows에서 작동합니다. 장치 정보 : 장치 정보 cat /proc/bus/input
가 포함 된 출력
I: Bus=0003 Vendor=4623 Product=011a Version=0111
N: Name="Hite Board-XXXXXXXX"
P: Phys=usb-0000:00:14.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/
U: Uniq=
H: Handlers=mouse2 event13
B: PROP=2
B: EV=b
B: KEY=400 0 0 0 0 0
B: ABS=260800000000003
abhishek@vaio:~$ lsusb -d 4623:011a -v
Bus 001 Device 012: ID 4623:011a
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x4623
idProduct 0x011a
bcdDevice 0.01
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 73
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 150mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 429
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 8
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 6
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 91
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
때문에 bInterfaceProtocol
포함되지 않은 경우, 리눅스는 마우스 입력 장치로 인식하지 않는다.
리눅스에서 작동하도록 창에서 리버스 엔지니어링하는 이상적인 방법은 무엇입니까?
Windows 장치 관리자의 장치 :
편집 1 :
abhishek@vaio:~/dev_work/whiteboard/pyusbwhiteboard$ usb-devices | grep -A5 'Vendor=4623 ProdID=011a' | grep Driver
I: If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbfs
I: If#= 1 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
dmesg 출력 : http://codepad.org/fFtwryw6
@SamProtsenko 님이 추가했습니다
—
Abhishek Bhatia
드라이버가 설치되었으므로 Linux (사용자 공간 부분)에게 장치가 마우스임을 알리면됩니다. 이 같은 상황에서 자신을 발견하지 못했지만, 내가 당신이라면 나는 xorg.conf로에 (로 검색 지정하려고 할 것
—
Sam Protsenko
InputClass
, MatchVendor
, MatchProduct
키워드) 또는 대체하려고 bInterfaceProtocol
하고 bInterfaceSubclass
있는 udev 규칙을 사용.
당신이주는 dmesg 출력을 기반으로, 마우스 (
—
JanC
hid-multitouch
드라이버가로드 됨) 대신 터치 스크린으로 인식되는 것 같습니다 .
@Janc 당신이 맞아요
—
Abhishek Bhatia
usb-devices | grep -A5 'Vendor=4623 ProdID=011a' | grep Driver
? 또한 장치 연결을 끊었다가 다시 연결 한 다음을 실행하십시오dmesg
. 뭐라고?