The user-space library for the Linux kernel component evdev is called libevdev. Libevdev abstracts the evdev ioctls through type-safe interfaces and provides functions to change the appearance of the device. Libevdev shares similarities with the read system call.
It sits below the process that handles input events, in between the kernel and that process.
Linux kernel → libevdev → xf86-input-evdev → X server → X client
For Weston/Wayland, the stack would look like this: