All pastes #824537 Raw Edit

Unnamed

public c v1 · immutable
·published 2007-12-20 00:53 UTC
rendered paste body
#include <X11/Xlib.h>#include <X11/Xutil.h>#include <stdio.h>#include <unistd.h>Display *dpy;Window wnd;#define print(...) (printf(__VA_ARGS__) >= 0 && fflush(stdin))#define DELAY 5 /* seconds */#define stop() ((print("Type something now.\n") || 1) && \		sleep(DELAY) >= 0)int grab();int ungrab();int main(int argc, char *argv[]){	int black;	print("Bug 202389 test starts.\n");	dpy = XOpenDisplay(0);	black = BlackPixel(dpy, DefaultScreen(dpy));	wnd = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy),			0, 0, 1, 1, 0, black, black);	XMapWindow(dpy, wnd);	XRaiseWindow(dpy, wnd);	XClearWindow(dpy, wnd);	XSync(dpy, False);	if(grab() && stop() && ungrab())		print("No errors.\n");	else		print("\t...Error.\n");	print("Test ends.\n");	return 0;}int grab(){	int ret;	print("Grabbing keyboard");	ret = XGrabKeyboard(dpy, wnd, False, GrabModeSync,			GrabModeAsync, CurrentTime);	print(" (returned %d)\n", ret);	XSync(dpy, False);	return ret == GrabSuccess;}int ungrab(){	print("Ungrabbing keyboard.\n");	sleep(1); /* to see the output */	XUngrabKeyboard(dpy, CurrentTime);	XSync(dpy, False);	return 1;}