From 7877a9cc318c99155b0bb3a91e2837eee8cd8b8b Mon Sep 17 00:00:00 2001 From: Kai-Heng Feng Date: Tue, 3 Sep 2024 13:59:21 +0800 Subject: [PATCH] Consider ID_INPUT_POINTINGSTICK as touchpad (BugFix) Most resistive touchpads don't support ABS coordination nor multitouch. When both capabilities are absent, the touchpad gets tagged as ID_INPUT_MOUSE. Since there's no such device as I2C mouse, if the touchpad is on I2C bus, it will also get tagged as ID_INPUT_POINTINGSTICK. To really distinguish a true pointing stick and a resistive touchpad, the parser needs to find the slibling node created by HID Report Descriptor and ensure it's a "touchpad" (i.e. ABS or MT capability). It's not easy to traverse to a sibling node in the current parser, so simply treat ID_INPUT_POINTINGSTICK as resistive touchpad to resolve the issue. --- .../parsers/tests/test_udevadm.py | 8 +- .../tests/udevadm_data/RESISTIVE_TOUCHPAD.txt | 531 ++++++++++++++++++ .../checkbox_support/parsers/udevadm.py | 2 + 3 files changed, 539 insertions(+), 2 deletions(-) create mode 100644 checkbox-support/checkbox_support/parsers/tests/udevadm_data/RESISTIVE_TOUCHPAD.txt diff --git a/checkbox-support/checkbox_support/parsers/tests/test_udevadm.py b/checkbox-support/checkbox_support/parsers/tests/test_udevadm.py index f3f9840264..b8eb42eed1 100644 --- a/checkbox-support/checkbox_support/parsers/tests/test_udevadm.py +++ b/checkbox-support/checkbox_support/parsers/tests/test_udevadm.py @@ -355,9 +355,9 @@ def test_TOSHIBA_NVME(self): self.assertEqual(self.count(devices, "VIDEO"), 2) self.assertEqual(self.count(devices, "AUDIO"), 2) self.assertEqual(self.count(devices, "KEYBOARD"), 1) - self.assertEqual(self.count(devices, "TOUCHPAD"), 1) + self.assertEqual(self.count(devices, "TOUCHPAD"), 2) self.assertEqual(self.count(devices, "CARDREADER"), 1) - self.assertEqual(self.count(devices, "MOUSE"), 1) + self.assertEqual(self.count(devices, "MOUSE"), 0) self.assertEqual(self.count(devices, "CAPTURE"), 1) self.assertEqual(self.count(devices, "BLUETOOTH"), 1) self.assertEqual(self.count(devices, "WIRELESS"), 2) @@ -1125,6 +1125,10 @@ def test_CRYPTO_FDE_UC20(self): self.assertEqual(len(devices), 93) self.assertEqual(self.count(devices, "PARTITION"), 1) + def test_RESISTIVE_TOUCHPAD(self): + devices = self.parse("RESISTIVE_TOUCHPAD") + self.assertEqual(self.count(devices, "TOUCHPAD"), 1) + def test_two_dms_one_with_ubutnu_save(self): """ This test checks that udevadm parser properly handles the case diff --git a/checkbox-support/checkbox_support/parsers/tests/udevadm_data/RESISTIVE_TOUCHPAD.txt b/checkbox-support/checkbox_support/parsers/tests/udevadm_data/RESISTIVE_TOUCHPAD.txt new file mode 100644 index 0000000000..278934eb04 --- /dev/null +++ b/checkbox-support/checkbox_support/parsers/tests/udevadm_data/RESISTIVE_TOUCHPAD.txt @@ -0,0 +1,531 @@ +P: /devices/pci0000:00/0000:00:15.0 +M: 0000:00:15.0 +R: 0 +U: pci +V: intel-lpss +E: DEVPATH=/devices/pci0000:00/0000:00:15.0 +E: SUBSYSTEM=pci +E: DRIVER=intel-lpss +E: PCI_CLASS=C8000 +E: PCI_ID=8086:7E78 +E: PCI_SUBSYS_ID=1028:0CDA +E: PCI_SLOT_NAME=0000:00:15.0 +E: MODALIAS=pci:v00008086d00007E78sv00001028sd00000CDAbc0Csc80i00 +E: USEC_INITIALIZED=1358959 +E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller +E: ID_PCI_SUBCLASS_FROM_DATABASE=Serial bus controller +E: ID_VENDOR_FROM_DATABASE=Intel Corporation +E: ID_MODEL_FROM_DATABASE=Meteor Lake-P Serial IO I2C Controller +E: ID_PATH=pci-0000:00:15.0 +E: ID_PATH_TAG=pci-0000_00_15_0 + +P: /devices/pci0000:00/0000:00:15.0/dma/dma0chan0 +M: dma0chan0 +R: 0 +U: dma +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/dma/dma0chan0 +E: SUBSYSTEM=dma + +P: /devices/pci0000:00/0000:00:15.0/dma/dma0chan1 +M: dma0chan1 +R: 1 +U: dma +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/dma/dma0chan1 +E: SUBSYSTEM=dma + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0 +M: i2c_designware.0 +R: 0 +U: platform +T: mfd_device +V: i2c_designware +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0 +E: SUBSYSTEM=platform +E: DEVTYPE=mfd_device +E: DRIVER=i2c_designware +E: MODALIAS=platform:i2c_designware +E: USEC_INITIALIZED=1381820 +E: ID_PATH=pci-0000:00:15.0-platform-i2c_designware.0 +E: ID_PATH_TAG=pci-0000_00_15_0-platform-i2c_designware_0 + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0 +M: i2c-0 +R: 0 +U: i2c +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0 +E: SUBSYSTEM=i2c + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00 +M: i2c-CUST0000:00 +R: 00 +U: i2c +V: i2c_hid_acpi +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00 +E: SUBSYSTEM=i2c +E: DRIVER=i2c_hid_acpi +E: MODALIAS=acpi:CUST0000:PNP0C50: + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001 +M: 0018:0EEF:C003.0001 +R: 0001 +U: hid +V: hid-multitouch +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001 +E: SUBSYSTEM=hid +E: DRIVER=hid-multitouch +E: HID_ID=0018:00000EEF:0000C003 +E: HID_NAME=CUST0000:00 0EEF:C003 +E: HID_PHYS=i2c-CUST0000:00 +E: HID_UNIQ= +E: MODALIAS=hid:b0018g0004v00000EEFp0000C003 + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/hidraw/hidraw0 +M: hidraw0 +R: 0 +U: hidraw +D: c 241:0 +N: hidraw0 +L: 0 +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/hidraw/hidraw0 +E: SUBSYSTEM=hidraw +E: DEVNAME=/dev/hidraw0 +E: MAJOR=241 +E: MINOR=0 +E: USEC_INITIALIZED=2293076 +E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller +E: ID_PCI_SUBCLASS_FROM_DATABASE=Serial bus controller +E: ID_VENDOR_FROM_DATABASE=Intel Corporation +E: ID_MODEL_FROM_DATABASE=Meteor Lake-P Serial IO I2C Controller + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input12 +M: input12 +R: 12 +U: input +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input12 +E: SUBSYSTEM=input +E: PRODUCT=18/eef/c003/100 +E: NAME="CUST0000:00 0EEF:C003" +E: PHYS="i2c-CUST0000:00" +E: UNIQ="" +E: PROP=2 +E: EV=1b +E: KEY=400 0 0 0 0 0 +E: ABS=260800000000003 +E: MSC=20 +E: MODALIAS=input:b0018v0EEFpC003e0100-e0,1,3,4,k14A,ra0,1,2F,35,36,39,m5,lsfw +E: USEC_INITIALIZED=1731610 +E: ID_INPUT=1 +E: ID_INPUT_TOUCHSCREEN=1 +E: ID_PATH=pci-0000:00:15.0-platform-i2c_designware.0 +E: ID_PATH_TAG=pci-0000_00_15_0-platform-i2c_designware_0 +E: ID_FOR_SEAT=input-pci-0000_00_15_0-platform-i2c_designware_0 +E: TAGS=:seat: +E: CURRENT_TAGS=:seat: + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input12/event4 +M: event4 +R: 4 +U: input +D: c 13:68 +N: input/event4 +L: 0 +S: input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-event +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input12/event4 +E: SUBSYSTEM=input +E: DEVNAME=/dev/input/event4 +E: MAJOR=13 +E: MINOR=68 +E: USEC_INITIALIZED=2249841 +E: ID_INPUT=1 +E: ID_INPUT_TOUCHSCREEN=1 +E: ID_INPUT_WIDTH_MM=292 +E: ID_INPUT_HEIGHT_MM=165 +E: ID_PATH=pci-0000:00:15.0-platform-i2c_designware.0 +E: ID_PATH_TAG=pci-0000_00_15_0-platform-i2c_designware_0 +E: LIBINPUT_DEVICE_GROUP=18/eef/c003:i2c-CUST0000:00 +E: DEVLINKS=/dev/input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-event + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input12/mouse0 +M: mouse0 +R: 0 +U: input +D: c 13:32 +N: input/mouse0 +L: 0 +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input12/mouse0 +E: SUBSYSTEM=input +E: DEVNAME=/dev/input/mouse0 +E: MAJOR=13 +E: MINOR=32 +E: USEC_INITIALIZED=2249859 +E: ID_INPUT=1 +E: ID_INPUT_TOUCHSCREEN=1 +E: ID_PATH=pci-0000:00:15.0-platform-i2c_designware.0 +E: ID_PATH_TAG=pci-0000_00_15_0-platform-i2c_designware_0 + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input14 +M: input14 +R: 14 +U: input +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input14 +E: SUBSYSTEM=input +E: PRODUCT=18/eef/c003/100 +E: NAME="CUST0000:00 0EEF:C003 Mouse" +E: PHYS="i2c-CUST0000:00" +E: UNIQ="" +E: PROP=0 +E: EV=1b +E: KEY=30000 0 0 0 0 +E: ABS=3 +E: MSC=10 +E: MODALIAS=input:b0018v0EEFpC003e0100-e0,1,3,4,k110,111,ra0,1,m4,lsfw +E: USEC_INITIALIZED=1731660 +E: ID_INPUT=1 +E: ID_INPUT_MOUSE=1 +E: ID_SERIAL=noserial +E: ID_PATH=pci-0000:00:15.0-platform-i2c_designware.0 +E: ID_PATH_TAG=pci-0000_00_15_0-platform-i2c_designware_0 +E: ID_FOR_SEAT=input-pci-0000_00_15_0-platform-i2c_designware_0 +E: TAGS=:seat: +E: CURRENT_TAGS=:seat: + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input14/event5 +M: event5 +R: 5 +U: input +D: c 13:69 +N: input/event5 +L: 0 +S: input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-event-mouse +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input14/event5 +E: SUBSYSTEM=input +E: DEVNAME=/dev/input/event5 +E: MAJOR=13 +E: MINOR=69 +E: USEC_INITIALIZED=2249919 +E: ID_INPUT=1 +E: ID_INPUT_MOUSE=1 +E: ID_INPUT_WIDTH_MM=292 +E: ID_INPUT_HEIGHT_MM=163 +E: ID_SERIAL=noserial +E: ID_PATH=pci-0000:00:15.0-platform-i2c_designware.0 +E: ID_PATH_TAG=pci-0000_00_15_0-platform-i2c_designware_0 +E: LIBINPUT_DEVICE_GROUP=18/eef/c003:i2c-CUST0000:00 +E: DEVLINKS=/dev/input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-event-mouse + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input14/js0 +M: js0 +R: 0 +U: input +D: c 13:0 +N: input/js0 +L: 0 +S: input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-mouse +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input14/js0 +E: SUBSYSTEM=input +E: DEVNAME=/dev/input/js0 +E: MAJOR=13 +E: MINOR=0 +E: USEC_INITIALIZED=2330919 +E: ID_INPUT=1 +E: ID_INPUT_MOUSE=1 +E: ID_SERIAL=noserial +E: ID_PATH=pci-0000:00:15.0-platform-i2c_designware.0 +E: ID_PATH_TAG=pci-0000_00_15_0-platform-i2c_designware_0 +E: DEVLINKS=/dev/input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-mouse +E: TAGS=:snap_firefox_firefox:snap_firefox_geckodriver: +E: CURRENT_TAGS=:snap_firefox_firefox:snap_firefox_geckodriver: + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input14/mouse1 +M: mouse1 +R: 1 +U: input +D: c 13:33 +N: input/mouse1 +L: 0 +S: input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-mouse +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-CUST0000:00/0018:0EEF:C003.0001/input/input14/mouse1 +E: SUBSYSTEM=input +E: DEVNAME=/dev/input/mouse1 +E: MAJOR=13 +E: MINOR=33 +E: USEC_INITIALIZED=2249937 +E: ID_INPUT=1 +E: ID_INPUT_MOUSE=1 +E: ID_SERIAL=noserial +E: ID_PATH=pci-0000:00:15.0-platform-i2c_designware.0 +E: ID_PATH_TAG=pci-0000_00_15_0-platform-i2c_designware_0 +E: DEVLINKS=/dev/input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-mouse + +P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-dev/i2c-0 +M: i2c-0 +R: 0 +U: i2c-dev +D: c 89:0 +N: i2c-0 +L: 0 +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-dev/i2c-0 +E: SUBSYSTEM=i2c-dev +E: DEVNAME=/dev/i2c-0 +E: MAJOR=89 +E: MINOR=0 + +P: /devices/pci0000:00/0000:00:15.0/idma64.0 +M: idma64.0 +R: 0 +U: platform +T: mfd_device +V: idma64 +E: DEVPATH=/devices/pci0000:00/0000:00:15.0/idma64.0 +E: SUBSYSTEM=platform +E: DEVTYPE=mfd_device +E: DRIVER=idma64 +E: MODALIAS=platform:idma64 +E: USEC_INITIALIZED=1381066 +E: ID_PATH=pci-0000:00:15.0-platform-idma64.0 +E: ID_PATH_TAG=pci-0000_00_15_0-platform-idma64_0 + +P: /devices/pci0000:00/0000:00:15.3 +M: 0000:00:15.3 +R: 3 +U: pci +V: intel-lpss +E: DEVPATH=/devices/pci0000:00/0000:00:15.3 +E: SUBSYSTEM=pci +E: DRIVER=intel-lpss +E: PCI_CLASS=C8000 +E: PCI_ID=8086:7E7B +E: PCI_SUBSYS_ID=1028:0CDA +E: PCI_SLOT_NAME=0000:00:15.3 +E: MODALIAS=pci:v00008086d00007E7Bsv00001028sd00000CDAbc0Csc80i00 +E: USEC_INITIALIZED=1358983 +E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller +E: ID_PCI_SUBCLASS_FROM_DATABASE=Serial bus controller +E: ID_VENDOR_FROM_DATABASE=Intel Corporation +E: ID_MODEL_FROM_DATABASE=Meteor Lake-P Serial IO I2C Controller +E: ID_PATH=pci-0000:00:15.3 +E: ID_PATH_TAG=pci-0000_00_15_3 + +P: /devices/pci0000:00/0000:00:15.3/dma/dma1chan0 +M: dma1chan0 +R: 0 +U: dma +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/dma/dma1chan0 +E: SUBSYSTEM=dma + +P: /devices/pci0000:00/0000:00:15.3/dma/dma1chan1 +M: dma1chan1 +R: 1 +U: dma +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/dma/dma1chan1 +E: SUBSYSTEM=dma + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1 +M: i2c_designware.1 +R: 1 +U: platform +T: mfd_device +V: i2c_designware +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1 +E: SUBSYSTEM=platform +E: DEVTYPE=mfd_device +E: DRIVER=i2c_designware +E: MODALIAS=platform:i2c_designware +E: USEC_INITIALIZED=1449258 +E: ID_PATH=pci-0000:00:15.3-platform-i2c_designware.1 +E: ID_PATH_TAG=pci-0000_00_15_3-platform-i2c_designware_1 + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1 +M: i2c-1 +R: 1 +U: i2c +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1 +E: SUBSYSTEM=i2c + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00 +M: i2c-VEN_214A:00 +R: 00 +U: i2c +V: i2c_hid_acpi +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00 +E: SUBSYSTEM=i2c +E: DRIVER=i2c_hid_acpi +E: MODALIAS=acpi:VEN_214A:PNP0C50: + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002 +M: 0018:214A:0028.0002 +R: 0002 +U: hid +V: hid-generic +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002 +E: SUBSYSTEM=hid +E: DRIVER=hid-generic +E: HID_ID=0018:0000214A:00000028 +E: HID_NAME=VEN_214A:00 214A:0028 +E: HID_PHYS=i2c-VEN_214A:00 +E: HID_UNIQ= +E: MODALIAS=hid:b0018g0001v0000214Ap00000028 + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/hidraw/hidraw1 +M: hidraw1 +R: 1 +U: hidraw +D: c 241:1 +N: hidraw1 +L: 0 +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/hidraw/hidraw1 +E: SUBSYSTEM=hidraw +E: DEVNAME=/dev/hidraw1 +E: MAJOR=241 +E: MINOR=1 +E: USEC_INITIALIZED=2294580 +E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller +E: ID_PCI_SUBCLASS_FROM_DATABASE=Serial bus controller +E: ID_VENDOR_FROM_DATABASE=Intel Corporation +E: ID_MODEL_FROM_DATABASE=Meteor Lake-P Serial IO I2C Controller + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/input/input10 +M: input10 +R: 10 +U: input +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/input/input10 +E: SUBSYSTEM=input +E: PRODUCT=18/214a/28/100 +E: NAME="VEN_214A:00 214A:0028 Keyboard" +E: PHYS="i2c-VEN_214A:00" +E: UNIQ="" +E: PROP=0 +E: EV=100013 +E: KEY=e080ffdf01cfffff fffffffffffffffe +E: MSC=10 +E: MODALIAS=input:b0018v214Ap0028e0100-e0,1,4,14,k77,7D,7E,7F,ram4,lsfw +E: USEC_INITIALIZED=1671213 +E: ID_INPUT=1 +E: ID_INPUT_KEY=1 +E: ID_INPUT_KEYBOARD=1 +E: ID_SERIAL=noserial +E: ID_PATH=pci-0000:00:15.3-platform-i2c_designware.1 +E: ID_PATH_TAG=pci-0000_00_15_3-platform-i2c_designware_1 +E: ID_FOR_SEAT=input-pci-0000_00_15_3-platform-i2c_designware_1 +E: TAGS=:seat: +E: CURRENT_TAGS=:seat: + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/input/input10/event7 +M: event7 +R: 7 +U: input +D: c 13:71 +N: input/event7 +L: 0 +S: input/by-path/pci-0000:00:15.3-platform-i2c_designware.1-event-kbd +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/input/input10/event7 +E: SUBSYSTEM=input +E: DEVNAME=/dev/input/event7 +E: MAJOR=13 +E: MINOR=71 +E: USEC_INITIALIZED=2250110 +E: ID_INPUT=1 +E: ID_INPUT_KEY=1 +E: ID_INPUT_KEYBOARD=1 +E: ID_SERIAL=noserial +E: ID_PATH=pci-0000:00:15.3-platform-i2c_designware.1 +E: ID_PATH_TAG=pci-0000_00_15_3-platform-i2c_designware_1 +E: XKBMODEL=pc105 +E: XKBLAYOUT=us +E: BACKSPACE=guess +E: LIBINPUT_DEVICE_GROUP=18/214a/28:i2c-VEN_214A:00 +E: DEVLINKS=/dev/input/by-path/pci-0000:00:15.3-platform-i2c_designware.1-event-kbd +E: TAGS=:power-switch: +E: CURRENT_TAGS=:power-switch: + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/input/input9 +M: input9 +R: 9 +U: input +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/input/input9 +E: SUBSYSTEM=input +E: PRODUCT=18/214a/28/100 +E: NAME="VEN_214A:00 214A:0028 Mouse" +E: PHYS="i2c-VEN_214A:00" +E: UNIQ="" +E: PROP=0 +E: EV=17 +E: KEY=70000 0 0 0 0 +E: REL=1943 +E: MSC=10 +E: MODALIAS=input:b0018v214Ap0028e0100-e0,1,2,4,k110,111,112,r0,1,6,8,B,C,am4,lsfw +E: USEC_INITIALIZED=1671128 +E: ID_INPUT=1 +E: ID_INPUT_POINTINGSTICK=1 +E: ID_INPUT_MOUSE=1 +E: ID_SERIAL=noserial +E: ID_PATH=pci-0000:00:15.3-platform-i2c_designware.1 +E: ID_PATH_TAG=pci-0000_00_15_3-platform-i2c_designware_1 +E: ID_FOR_SEAT=input-pci-0000_00_15_3-platform-i2c_designware_1 +E: TAGS=:seat: +E: CURRENT_TAGS=:seat: + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/input/input9/event6 +M: event6 +R: 6 +U: input +D: c 13:70 +N: input/event6 +L: 0 +S: input/by-path/pci-0000:00:15.3-platform-i2c_designware.1-event-mouse +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/input/input9/event6 +E: SUBSYSTEM=input +E: DEVNAME=/dev/input/event6 +E: MAJOR=13 +E: MINOR=70 +E: USEC_INITIALIZED=2250162 +E: ID_INPUT=1 +E: ID_INPUT_POINTINGSTICK=1 +E: ID_INPUT_MOUSE=1 +E: ID_SERIAL=noserial +E: ID_PATH=pci-0000:00:15.3-platform-i2c_designware.1 +E: ID_PATH_TAG=pci-0000_00_15_3-platform-i2c_designware_1 +E: LIBINPUT_DEVICE_GROUP=18/214a/28:i2c-VEN_214A:00 +E: DEVLINKS=/dev/input/by-path/pci-0000:00:15.3-platform-i2c_designware.1-event-mouse + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/input/input9/mouse2 +M: mouse2 +R: 2 +U: input +D: c 13:34 +N: input/mouse2 +L: 0 +S: input/by-path/pci-0000:00:15.3-platform-i2c_designware.1-mouse +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/0018:214A:0028.0002/input/input9/mouse2 +E: SUBSYSTEM=input +E: DEVNAME=/dev/input/mouse2 +E: MAJOR=13 +E: MINOR=34 +E: USEC_INITIALIZED=2250180 +E: ID_INPUT=1 +E: ID_INPUT_POINTINGSTICK=1 +E: ID_INPUT_MOUSE=1 +E: ID_SERIAL=noserial +E: ID_PATH=pci-0000:00:15.3-platform-i2c_designware.1 +E: ID_PATH_TAG=pci-0000_00_15_3-platform-i2c_designware_1 +E: DEVLINKS=/dev/input/by-path/pci-0000:00:15.3-platform-i2c_designware.1-mouse + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/wakeup/wakeup57 +M: wakeup57 +R: 57 +U: wakeup +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_214A:00/wakeup/wakeup57 +E: SUBSYSTEM=wakeup + +P: /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-dev/i2c-1 +M: i2c-1 +R: 1 +U: i2c-dev +D: c 89:1 +N: i2c-1 +L: 0 +E: DEVPATH=/devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-dev/i2c-1 +E: SUBSYSTEM=i2c-dev +E: DEVNAME=/dev/i2c-1 +E: MAJOR=89 +E: MINOR=1 diff --git a/checkbox-support/checkbox_support/parsers/udevadm.py b/checkbox-support/checkbox_support/parsers/udevadm.py index 755a6ec0c9..cefb845512 100644 --- a/checkbox-support/checkbox_support/parsers/udevadm.py +++ b/checkbox-support/checkbox_support/parsers/udevadm.py @@ -445,6 +445,8 @@ def category(self): if test_bit(Input.BTN_MOUSE, bitmask, self._bits): return "KVM" if "ID_INPUT_MOUSE" in self._environment: + if "ID_INPUT_POINTINGSTICK" in self._environment: + return "TOUCHPAD" return "MOUSE" if self.driver: