xinput 장치 제조업체 및 모델을 결정합니까?


15

키보드 및 터치 패드의 장치 제조업체 및 모델을 찾으려고해서 다음을 통해 XOrg 구성 파일을 작성할 수 있습니다.

Section "InputClass"
    Identifier "touchpad"
    MatchIsTouchpad "on"
    Driver "synaptics"
    MatchProduct "Product Name"
    MatchVendor "Vendor Name"
EndSection

CLI 도구를 사용하여 장치의 제품 및 공급 업체 이름을 어떻게 찾을 수 있습니까? Xorg 구성을 조정할 수 있도록 Bluetooth 터치 패드와 키보드를 정리하고 싶습니다.

답변:


6

Linux의 USB 장치의 경우 다음을 사용할 수 있습니다.

lsusb -v | grep -e idProduct -e idVendor

ID 만 해당 :

grep . /sys/bus/usb/devices/*/id*

lsusbidnames/var/lib/usbutils/usb.ids 로 변환 하는 데 사용 합니다 .Xorg가 동일한 소스를 사용할지 모르겠습니다.


이제 USB 장치를 볼 수 있지만 실제로는 Bluetooth 정보를 찾아야합니다. 이 정보는 내가 찾던 것입니다. 내 Bluetooth 장치에 필요합니다. Bluetooth 장치에서 16 진수 공급 업체 ID를 찾을 수 있지만 실제 공급 업체 또는 제품 이름을 찾지 못하는 것 같습니다.
Naftuli Kay

USB가 아닌 장치에서는 작동하지 않기 때문에 -1입니다. 그리고 lsusb종종 제품 이름을 표시하지 않기 때문에 모든 USB 장치에서 작동 하지 않습니다. ManuelSchneid3r의 답변이 저에게 가장 효과적이었습니다 xinput list.
erik December

17

장치 제품 이름 (모델)

를 사용하여 xinput 장치 제품 이름 (또는 모델 )을 가져옵니다 xinput list. 예제 출력은 다음과 같습니다.

# xinput list
⎡ Virtual core pointer                      id=2  [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4  [slave  pointer  (2)]
⎜   ↳ ELAN Touchscreen                          id=10 [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13 [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless        id=16 [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3  [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5  [slave  keyboard (3)]
    ↳ Power Button                              id=6  [slave  keyboard (3)]
    ↳ Video Bus                                 id=7  [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12 [slave  keyboard (3)]

위 출력에서 ​​터치 스크린 장치의 모델 또는 제품 이름은 "ELAN Touchscreen"입니다.

장치 경로 (노드)

xinput 장치 공급 업체 이름 (또는 제조업체 ) 을 얻으려면 쿼리 할 장치 경로 (장치 노드라고도 함)를 알아야합니다 udevadm info. 장치의 xinput 속성을 나열하고 'Device Node'값을 찾아서 경로를 얻을 수 있습니다.

이전 예제에서 터치 스크린의 장치 노드 값은 다음 id=10과 같이 표시됩니다.

# xinput list-props 10 | grep 'Device Node'
    Device Node (253):    "/dev/input/event9"

장치 공급 업체 이름 (제조업체)

이제 위에서 찾은 경로 이름을 가진 장치 에 대해 반환 된 속성 값을보고 xinput 장치 공급 업체 이름 (또는 제조업체 )을 얻을 수 있습니다 .VENDORudevadm info

# udevadm info --query=property --name=/dev/input/event9 | grep 'VENDOR='
ID_VENDOR=ELAN

위 출력에서 ​​터치 스크린의 제조업체 또는 공급 업체 이름은 "ELAN"입니다.

XOrg 구성

이를 종합 하여 특정 장치 공급 업체, 제품 또는 경로에 맞는 새 XOrg 구성 InputClass섹션 을 만들 수 있습니다 . 이전 예를 사용하여이 섹션은 ELAN 공급 업체에서 제조 한 모든 터치 스크린 제품과 일치합니다.

Section "InputClass"
    Identifier "elan touchscreen catchall"
    MatchDevicePath "/dev/input/event*"
    MatchProduct "Touchscreen"
    MatchVendor "ELAN"
EndSection

덕분에 @ 스테판 , @Daniel@ ManuelSchneid3r


1
xinput list공백 문자로만 구분 된 공급 업체 및 제품 이름을 한 줄에 표시합니다. 제 경우에는 TrulyErgonomic.com이었습니다. Truly Ergonomic Computer Keyboard 대신 Truly Ergonomic Computer Keyboard 입니다. 그러나 MatchProduct공급 업체 및 제품 이름 (로 표시 xinput list) 또는 제품 이름 (로 표시) 모두 문자열에서 작동하는 것 같습니다 udevadm.
erik

1

MatchProduct "Product Name"Stephane의 제안 출력과 함께 작동하지 않습니다 lsusb -v | grep -e idProduct -e idVendor. 방금 테스트했습니다.

xinput list 작동하는 올바른 문자열을 출력합니다. MatchProduct


xinput list공급 업체와 제품을 함께 나열 합니까 ? 어느 쪽을 해결하는 방법을 알고 있습니까?
Sparhawk

2
@Sparhawk xinput list은 제품 이름을 표시하지만 공급 업체 이름은 표시하지 않습니다. udevadm info벤더 이름은 표시하지만 제품 이름은 표시하지 않습니다.
Christopher

@Christopher 실제로이 정보를 원했던 이유를 기억할 수는 없지만 답장을 보내 주셔서 감사하며 다른 사람을 도울 수 있기를 바랍니다.
Sparhawk

@Christopher : 아니요, xinput list한 줄에 공백으로 구분하여 공급 업체와 제품 이름을 모두 표시하십시오. 제품 이름 만 찾으려면 @DanielK의 답변을 사용해야했습니다. 그러나 공백 대신 _udevadm표시 합니다. 또는로 찾은 MatchUSBID 가 더 사용하기 쉽습니다 . lsusblsusb -v
erik December

방금 테스트했습니다. xinput list벤더 및 제품 이름 (적어도 필자의 경우) 인 전체 문자열 과 제품 이름 만 ( _ 문자를 공백으로 udevadm대체하여 얻은) 두 가지 모두에서 작동 합니다.
erik

1

xorg.conf 구성에 사용할 모델 / 공급 업체를 찾는 데 다음 명령이 유용하다는 것을 알았습니다.

가입일 https://bbs.archlinux.org/viewtopic.php?pid=753773 : (여기서, / 디바이스 / SDX 대상 장치의 디바이스 패스로 치환 즉 / 디바이스 / 입 / Mouse1에)

udevadm info --query=all --path=$(udevadm info --query=path --name=/dev/sdx)

http://fedoraproject.org/wiki/Input_device_configuration 에 따르면 :

udevadm info --export-db | grep ID_MODEL

그러나 제품 이름 은 공백 대신 _로 표시 됩니다. 제 경우에는 Truly Ergonomic Computer Keyboard 대신 Truly_Ergonomic_Computer_Keyboard 였습니다 . 올바르게 표시되지만 공급 업체와 제품 이름이 한 줄에 함께 표시됩니다. xinput list
erik December
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.