Bildschirmtastatur Linux Programmieren



  • Hallo,
    Ich versuche eine Bildschirmtastatur in C zu Programmieren. Die Gtk-GUI habe ich soweit fertig, jedoch habe ich noch keinen Ansatz wie ich die Buchstaben an ein anderes Fenster senden kann.
    Hat jemand eine Idee?

    Edit: Die Tastatur hat 12 Tasten (wie eine Handytastatur) und erhält nie den Fokus. Der Fokus bleibt somit immer auf der Konsole (wenn aus der Konsole gestartet) und kann beliebig versetzt werden.



  • Mit XSendEvent kannst du auch Tastaturevents an andere Fenster verschicken.



  • Vielen Dank,
    leider will ich nicht nur ein Fenster ansprechen sondern jenes welches zur Zeit den Fokus hat.
    Allerdings konnte ich mir selbst helfen.
    Ich auf sf.net nach einer Bildschirmtastatur und bin direkt auf iok gestossen, welches noch alpha Stadium und somit nur wenig Code hat.
    In kombination mit Google bin ich auf diese Lösung gekommen:

    char s[1];
    s[0]='a';
    gtk_button_set_label(GTK_BUTTON(button),s);
    KeyCode c = XKeysymToKeycode(GDK_DISPLAY(), s[0] );
    XTestFakeKeyEvent(GDK_DISPLAY(), c, TRUE, 0);
    XTestFakeKeyEvent(GDK_DISPLAY(), c, FALSE, 0);
    

Anmelden zum Antworten