This goes through modifying XI2 device properties, either common ones (eg. set on every device) or those specific to the libinput X11 driver. Keyboard repeat/rate are set through core and XKB APIs.
https://bugzilla.gnome.org/show_bug.cgi?id=739397
3c06f2d backends/x11: Implement X11-specific MetaInputSettings
src/Makefile.am | 2 +
src/backends/meta-input-settings.c | 4 +
src/backends/x11/meta-input-settings-x11.c | 226 ++++++++++++++++++++++++++++
src/backends/x11/meta-input-settings-x11.h | 49 ++++++
4 files changed, 281 insertions(+)
Upstream: git.gnome.org