The order and way include macros were structured was chaotic, with no real common thread between files. Try to tidy up the mess with some common scheme, to make things look less messy.
The libinput_device is fetched from the ClutterInputDevice, and configured through the libinput_device_*config* API. https://bugzilla.gnome.org/show_bug.cgi?id=739397