Ниже дана сильно упрощенная выжимка из программы.
Программа вешается на Ctrl + ModeSwitch.
Если не будет работать, напиши мне на a72 at hotbox dot ru --
вышлю ее тебе полностью (1 файл на Си, размер 5630 байт).
Display *dpy;
Window root;
XEvent ev;
int key;
dpy = XOpenDisplay(NULL);
root = RootWindow(dpy, DefaultScreen(dpy));
key = XKeysymToKeycode(dpy, XK_Mode_switch);
XGrabKey(dpy, key, ControlMask, root, True, GrabModeAsync, GrabModeAsync);
while (1)
{
XNextEvent(dpy, &ev);
if (ev.type == KeyPress && ev.xkey.keycode == key)
{
//do_something();
}
}