Data Structures
Here are the data structures with brief descriptions:
 ClibinputA handle for accessing libinput
 Clibinput_deviceA base handle for accessing libinput devices
 Clibinput_device_groupA base handle for accessing libinput device groups
 Clibinput_eventThe base event type
 Clibinput_event_device_notifyAn event notifying the caller of a device being added or removed
 Clibinput_event_keyboardA keyboard event representing a key press/release
 Clibinput_event_pointerA pointer event representing relative or absolute pointer movement, a button press/release or scroll axis events
 Clibinput_event_switchA switch event representing a changed state in a switch
 Clibinput_event_tablet_padTablet pad event representing a button press, or ring/strip update on the tablet pad itself
 Clibinput_event_tablet_toolTablet tool event representing an axis update, button press, or tool update
 Clibinput_event_touchTouch event representing a touch down, move or up, as well as a touch cancel and touch frame events
 Clibinput_interfaceLibinput does not open file descriptors to devices directly, instead open_restricted() and close_restricted() are called for each path that must be opened
 Clibinput_seatThe base handle for accessing libinput seats
 Clibinput_tablet_pad_mode_groupA mode on a tablet pad is a virtual grouping of functionality, usually based on some visual feedback like LEDs on the pad
 Clibinput_tablet_toolAn object representing a tool being used by a device with the LIBINPUT_DEVICE_CAP_TABLET_TOOL capability