$ udevadm info -q path -n /dev/input/event6
/devices/platform/i8042/serio2/input/input9/event6
$ udevadm info -a -p /devices/platform/i8042/serio2/input/input9/event6
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/platform/i8042/serio2/input/input9/event6':
KERNEL=="event6"
SUBSYSTEM=="input"
DRIVER==""
More info:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Fujitsu Component USB Touch Panel id=9 [slave pointer (2)]
⎜ ↳ PS/2 Generic Mouse id=11 [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)]
↳ Power Button id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ Panasonic Laptop Support id=12 [slave keyboard (3)]
$ xinput list-props 11 | grep /dev/input/event
Device Node (256): "/dev/input/event6"
$ udevadm info -q path -n /dev/input/event6 platform/ i8042/serio2/ input/input9/ event6
/devices/
$ udevadm info -a -p /devices/ platform/ i8042/serio2/ input/input9/ event6
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/ platform/ i8042/serio2/ input/input9/ event6' : ="event6" ="input"
KERNEL=
SUBSYSTEM=
DRIVER==""
looking at parent device '/devices/ platform/ i8042/serio2/ input/input9' : ="input9" ="input" name}== "PS/2 Generic Mouse" phys}== "isa0060/ serio2/ input0" properties} =="1"
KERNELS=
SUBSYSTEMS=
DRIVERS==""
ATTRS{
ATTRS{
ATTRS{
ATTRS{uniq}==""
looking at parent device '/devices/ platform/ i8042/serio2' : ="serio2" ="serio" ="psmouse" bind_mode} =="auto" description} =="i8042 AUX1 port" firmware_ id}=="PNP: FJC6001 PNP0f13" protocol} =="PS/2" rate}== "100" resetafter} =="5" resolution} =="200" resync_ time}== "0"
KERNELS=
SUBSYSTEMS=
DRIVERS=
ATTRS{
ATTRS{
ATTRS{
ATTRS{
ATTRS{
ATTRS{
ATTRS{
ATTRS{
looking at parent device '/devices/ platform/ i8042': ="i8042" ="platform" ="i8042" driver_ override} =="(null) "
KERNELS=
SUBSYSTEMS=
DRIVERS=
ATTRS{
looking at parent device '/devices/ platform' : ="platform"
KERNELS=
SUBSYSTEMS==""
DRIVERS==""