What populates /dev/input directory?

I am trying to figure out how the /dev/input directory gets populated with events.
When I look at /etc/devd.conf I really don't see where the directory is populated.
In /etc/devd/moused.conf I see some of what I would expect but only for mouse. I at looking for touchpad/touchscreen magic.
 
You can see the attachment of ums(4) here in moused.conf

Code:
notify 100 {
    match "system" "DEVFS";
    match "subsystem" "CDEV";
    match "type" "DESTROY";
    match "cdev" "ums[0-9]+";

    action "service moused stop $cdev";
};

I was looking for some of the other HID drivers like hmt(4) and uep(4)
 
I am trying to figure out what webcamd does to bring in addition touchscreen support.

Is it just addition device details like VID and PID that are not in usbdevs or what does it do specifically to add touchscreen support?
I guess I should be learning webcamd code but first I was curious about /dev/input population.

My current project:
Code:
ums0 on uhub1
ums0: <eGalax Inc. eGalaxTouch EXC2210-1320-56.00.00, class 0/0, rev 2.00/20.02, addr 2> on usbus0
ums1 on uhub1
ums1: <Phoenix Contact, Inc. TouchButton App, class 0/0, rev 2.00/1.04, addr 3> on usbus0
ums1: 5 buttons and [XYZ] coordinates ID=1
uhid0 on uhub1
uhid0: <Phoenix Contact, Inc. TouchButton App, class 0/0, rev 2.00/1.04, addr 3> on usbus0
 
Back
Top