Zakładam, że masz na myśli "aplikację X11" - z twojego opisu nie do końca wiadomo, co planujesz zrobić. Poniższy fragment kodu wyśle kod "pauza" do aplikacji, która aktualnie ma wejście klawiaturowe pod X11 przy użyciu rozszerzenia XTest - z tego co przeczytałem, jest to najbardziej zgodny sposób "fałszowania" zdarzeń klawiatury. Sprawdź, czy możesz zastosować to do swojego scenariusza (bez sprawdzania błędów, czy XOpenDisplay powiodło się, aby było prostsze).
#include <X11/Xlib.h>
#include <X11/keysym.h>
#include <X11/extensions/XTest.h>
...
Display *display;
unsigned int keycode;
display = XOpenDisplay(NULL);
...
keycode = XKeysymToKeycode(display, XK_Pause);
XTestFakeKeyEvent(display, keycode, True, 0);
XTestFakeKeyEvent(display, keycode, False, 0);
XFlush(display);
Będziesz musiał połączyć się z -lX11 -lXtst.
Oczywiście, w tym czasie firefox musiałby się skupić.
Jednak chciałbym wiedzieć, jakie jest większe zadanie, które próbujesz wykonać - podejrzewam, że powinno być bardziej eleganckie rozwiązanie niż fałszowanie zdarzeń związanych z naciśnięciem klawisza.
strona komentarz o moim przypadku wykorzystania do powyższego kodu: musiałem mu OpenCV zasilany weekendowy hack, który pozwolił mi fałszywe, każde naciśnięcie klawisza strzałki przesuwając głowę przed kamery (tak mogę przewinąć the /. wysyłać posty i jeść kanapkę w tym samym czasie :-) –
Chcę użyć powerarma gryf do przeładowania iframe :) – Baversjo
Ah, więc to prawie takie samo użycie jak w moim przypadku :) –