LINUX.ORG.RU

Забейндить hotkey в вашей среде на команду killall <название программы>.

anonymous
()

отрываешь display(OpenDisplay), грабишь кнопки(GrabKey), получаешь KeyPress ивенты, обрабатываешь и fork-execaешь че надо

lg ★★
()
Ответ на: комментарий от lg

Хм... А

Функция XGrabKey( ) запрещает передачу фокуса после нажатия определенной комбинации клавиш. Освободить клавиатуру можно, обратившись к процедуре XUngrabKeyboard( ) (XGrabKey( )).

Гонево?

Svoloch ★★★
() автор топика
Ответ на: комментарий от Svoloch

Ниже дана сильно упрощенная выжимка из программы.
Программа вешается на 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();
    }
  }

nobody ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.