Skip to contentSkip to conversation

Findind input event device path with libudev

DISCUSSION Nuno Santos 2 participants 3 messages Nov 16, 2011 HID

lore
Share & tools
lore
#0 lore raw

Hi,

I found an example on how to use libudev to iterate over devices present in the system to find its precise path since the path can be different everytime we plug a device into the system.

http://www.signal11.us/oss/udev/

In this example, the type of device searched is hidraw, however I have already tried input, event, etc and none of this match criterias in the following function:

|*udev_enumerate_add_match_subsystem*(enumerate,*"hidraw"*);|

Only hidraw seems to work.

Can I use this technic to found the path a of input event device?

Thanks,

With my best regards,

Nuno

#1 lore raw

Hi,

After digging a little bit around this i found that my problem is with this function:

dev = udev_device *udev_device_get_parent_with_subsystem_devtype(dev,"usb","usb_device");

dev is always null. He can't find me the usb device for my input device. Maybe i'm not specifiying subsystem and dev type correctly.

If I make several calls to udev_device_get_parent I can get to the correct device.

Does anyone knows what should be the correct subsystem and dev type pair to find the parent usb device for an input device?

Thanks,

Nuno

Quoted 25 lines · Nuno Santos

Hi,

I found an example on how to use libudev to iterate over devices present in the system to find its precise path since the path can be different everytime we plug a device into the system.

http://www.signal11.us/oss/udev/

In this example, the type of device searched is hidraw, however I have already tried input, event, etc and none of this match criterias in the following function:

|*udev_enumerate_add_match_subsystem*(enumerate,*"hidraw"*);|

Only hidraw seems to work.

Can I use this technic to found the path a of input event device?

Thanks,

With my best regards,

Nuno

Signature · 3 lines
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#2 lore raw
Quoted 8 lines · On Wed, 16 Nov 2011 14:44:08 +0000 Nuno Santos <[email protected]> wrote:

Hi,

After digging a little bit around this i found that my problem is with this function:

dev = udev_device *udev_device_get_parent_with_subsystem_devtype(dev,"usb","usb_device");

Quoted 9 lines

dev is always null. He can't find me the usb device for my input device. Maybe i'm not specifiying subsystem and dev type correctly.

If I make several calls to udev_device_get_parent I can get to the correct device.

Does anyone knows what should be the correct subsystem and dev type pair to find the parent usb device for an input device?

You can find out the most specific subsystem and devtype yourself using:

udevadm monitor

and then plugging the device in.

Regards,
Antonio

Signature · 8 lines
Antonio Ospite
http://ao2.it

PGP public key ID: 0x4553B001

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?