LINUX.ORG.RU

Определить устройства ввода - указатели

 ,


0

1

Приветствую. Встала задача определить устройства ввода - указатели (мыши, тачпады, трекпады) и прочая.

xinput определяет лишь частично, в том плане что он показывает ВСЕ устройства ввода, реальным из которых является только одно.

ntfs@debian:~$ xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ SEMICO USB Keyboard Consumer Control    	id=11	[slave  pointer  (2)]
⎜   ↳ SIGMACHIP Usb Mouse                     	id=13	[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)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Power Button                            	id=9	[slave  keyboard (3)]
    ↳ SEMICO USB Keyboard                     	id=10	[slave  keyboard (3)]
    ↳ SEMICO USB Keyboard System Control      	id=12	[slave  keyboard (3)]
    ↳ SEMICO USB Keyboard Consumer Control    	id=14	[slave  keyboard (3)]
    ↳ Gmix USB Webcam: Gmix USB Webca         	id=15	[slave  keyboard (3)]

Из этого реально лишь «SIGMACHIP Usb Mouse». Грепать по вхождению слова «Mouse» \ «Touchpad» \ «Trackpad» не вариант, потому что есть риск что производитель назовет свое устройство «SIGMACHIP Usb cursor pointer» и определялка превратится в тыкву.

У кого-нибудь есть идеи, как можно определить реальные устройства ввода в своей системе, более-менее штатными утилитами ?

Спасибо.

Upd: можно понять только при раскопке list-props каждого девайса, и поиска свойства, свойственного указателю, к примеру скорости указателя

★★★★★

Последнее исправление: windows10 (всего исправлений: 1)

Попробуй xinput list --long и смотри Class originated from у Virtual core pointer.
Но если устройств ввода много, то это не поможет(он будет показывать последнее использованое).

можно понять только при раскопке list-props каждого девайса, и поиска свойства, свойственного указателю, к примеру скорости указателя

Нет такое и у клавиатуры может быть, пример:

Device 'CX 2.4G Wireless Receiver Mouse':
	Device Enabled (161):	1
	Coordinate Transformation Matrix (163):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Natural Scrolling Enabled (294):	0
	libinput Natural Scrolling Enabled Default (295):	0
	libinput Scroll Methods Available (296):	0, 0, 1
	libinput Scroll Method Enabled (297):	0, 0, 1
	libinput Scroll Method Enabled Default (298):	0, 0, 1
	libinput Button Scrolling Button (299):	9
	libinput Button Scrolling Button Default (300):	2
	libinput Button Scrolling Button Lock Enabled (301):	0
	libinput Button Scrolling Button Lock Enabled Default (302):	0
	libinput Middle Emulation Enabled (303):	0
	libinput Middle Emulation Enabled Default (304):	0
	libinput Rotation Angle (275):	0.000000
	libinput Rotation Angle Default (276):	0.000000
	libinput Accel Speed (305):	-1.000000
	libinput Accel Speed Default (306):	0.000000
	libinput Accel Profiles Available (307):	1, 1, 1
	libinput Accel Profile Enabled (308):	1, 0, 0
	libinput Accel Profile Enabled Default (309):	1, 0, 0
	libinput Accel Custom Fallback Points (310):	<no items>
	libinput Accel Custom Fallback Step (311):	0.000000
	libinput Accel Custom Motion Points (312):	<no items>
	libinput Accel Custom Motion Step (313):	0.000000
	libinput Accel Custom Scroll Points (314):	<no items>
	libinput Accel Custom Scroll Step (315):	0.000000
	libinput Left Handed Enabled (316):	0
	libinput Left Handed Enabled Default (317):	0
	libinput Send Events Modes Available (277):	1, 0
	libinput Send Events Mode Enabled (278):	0, 0
	libinput Send Events Mode Enabled Default (279):	0, 0
	Device Node (280):	"/dev/input/event5"
	Device Product ID (281):	1452, 598
	libinput Drag Lock Buttons (318):	<no items>
	libinput Horizontal Scroll Enabled (319):	1
	libinput Scrolling Pixel Distance (320):	15
	libinput Scrolling Pixel Distance Default (321):	15
	libinput High Resolution Wheel Scroll Enabled (322):	1

arax ★★
()
Последнее исправление: arax (всего исправлений: 3)