Input.ContextHandles for accessing libinput.
Create a context using Context.Udev.create or Context.Path.create.
When done (typically when your program exits), call Context.destroy. This is not done automatically from a GC finaliser because destroying a context may trigger various actions (such as sending DBus messages) and it's good to control when these happen.
module Udev : sig ... endA context that uses udev to find available devices.
module Path : sig ... endA context that requires the caller to add and remove devices explicitly.
val dispatch : _ t -> unitdispatch t reads events from the file descriptors and processes them internally.
Dispatching does not necessarily queue libinput events. This function should be called immediately once data is available on the file descriptor returned by get_fd. libinput has a number of timing-sensitive features (e.g. tap-to-click); any delay in calling dispatch may prevent these features from working correctly.
val get_fd : _ t -> Unix.file_descrval suspend : _ t -> unitSuspend monitoring for new devices and close existing devices.
This all but terminates libinput but does keep the context valid to be resumed with resume.
val resume : _ t -> unitResume a suspended libinput context.
This re-enables device monitoring and adds existing devices.
val destroy : _ t -> unitdestroy t releases the context and all associated resources.
Attempting to use devices, events, etc after this will fail.
module Log : sig ... endConfigure log levels.