다음 출력을 가진 장치가 있습니다 /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-generic
. sudo rmmod hid_generic
실행한 다음 장치를 분리했다가 다시 연결하여 이를 추가로 확인할 수 있습니다 . sudo lsmod | grep hid_generic
복원되었음을 보여줍니다.