diff options
author | Cody Hiar <cody@hiar.ca> | 2019-10-19 15:45:18 -0600 |
---|---|---|
committer | Cody Hiar <cody@hiar.ca> | 2019-10-19 15:45:18 -0600 |
commit | a76193c684a9ad4f907038172d7bb33694c41a9e (patch) | |
tree | b810f7b62fd0673449669a6ca5d006d185425121 /keyboard_writer.c |
Initial commit
Diffstat (limited to 'keyboard_writer.c')
-rw-r--r-- | keyboard_writer.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/keyboard_writer.c b/keyboard_writer.c new file mode 100644 index 0000000..66196ba --- /dev/null +++ b/keyboard_writer.c @@ -0,0 +1,39 @@ +#include "keyboard_writer.h" +#include <stdio.h> +#include <X11/X.h> +#include <X11/Xlib.h> +#include <X11/extensions/XTest.h> + + +int x11_key(char *zh){ + Display *dpy; + dpy = XOpenDisplay(NULL); + + KeySym sym = XStringToKeysym(zh); + KeyCode code = XKeysymToKeycode(dpy,sym); + XTestFakeKeyEvent(dpy, code, True, 1); + XTestFakeKeyEvent(dpy, code, False, 1); + + XFlush( dpy ); + XCloseDisplay( dpy ); + + return 0; +} + +int x11_key_shift(char *zh){ + Display *dpy; + dpy = XOpenDisplay(NULL); + + KeySym sym = XStringToKeysym(zh); + KeyCode code = XKeysymToKeycode(dpy,sym); + XTestFakeKeyEvent(dpy, 50, True, 1); + XTestFakeKeyEvent(dpy, code, True, 1); + XTestFakeKeyEvent(dpy, code, False, 1); + XTestFakeKeyEvent(dpy, 50, False, 1); + + XFlush( dpy ); + XCloseDisplay( dpy ); + + return 0; +} + |