From d93b32e3ad28f1b46d0ea317d7c72165d63cd805 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Fri, 8 Feb 2013 13:56:28 +0100 Subject: Initialize presenterctl for Logitech R400 --- repeat-xi2.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 repeat-xi2.c (limited to 'repeat-xi2.c') diff --git a/repeat-xi2.c b/repeat-xi2.c new file mode 100644 index 0000000..47c69b1 --- /dev/null +++ b/repeat-xi2.c @@ -0,0 +1,40 @@ +#include +#include +#include + +int +main(int argc, char *argv[]) +{ + Display *dpy; + XkbDescPtr xkb; + unsigned int id, delay, interval; + + if (argc < 4) + exit(1); + + id = atoi(argv[1]); + delay = atoi(argv[2]); + interval = atoi(argv[3]); + + dpy = XOpenDisplay(NULL); + if (!dpy) + exit(2); + + xkb = XkbGetKeyboard(dpy, XkbControlsMask, id); + if (!xkb) + exit(3); + + /* With X.Org-Server 1.13.1 on Gentoo ctrls is unexpectedly NULL. */ + if (!xkb->ctrls) + XkbGetControls(dpy, XkbRepeatKeysMask, xkb); + + xkb->ctrls->repeat_delay = delay; + xkb->ctrls->repeat_interval = 1000 / interval; + + XkbSetControls(dpy, XkbRepeatKeysMask, xkb); + XkbFreeKeyboard(xkb, 0, True); + + XCloseDisplay(dpy); + + return 0; +} -- cgit