Key grab auch an SDL vorbei

01/07/2011 - 10:37 von Markus Wichmann | Report spam
Hi all,

ich habe ein Programm geschrieben, dass diverse Keys grabt und dann
Aktionen ausführt, wenn sie gedrückt werden. Dazu benutze ich
XGrabKey(). Das funktioniert auch ganz gut, aber hat einen Haken: Wenn
eine Fullscreen-SDL-Anwendung làuft, erhàlt mein Programm keine Events.

Ich hab noch nicht in den Quelltext geguckt, aber ich vermute, dass SDL
dafür XGrabKeyboard() benutzt. Gibt es eine Möglichkeit, Keys so zu
grabben, dass die Anwendung auch dann noch Events für sie erhàlt, wenn
das ganze Keyboard gegrabbt ist? Und XGrabKeyboard darf nicht
fehlschlagen, wenn man diese Möglichkeit benutzt! (Sonst gibt ja SDL
immer einen Fehler an die Anwendung zurück).

Ja, ich weiß, es wàre sinnvoller, wenn SDL nur unter speziellen
Umstànden das ganze Keyboard grabben würde und sonst halt die Keys, die
benötigt werden. Aber das kann ich ja nicht beeinflussen.

Ciao,
Markus
 

Lesen sie die antworten

#1 Markus Raab
01/07/2011 - 17:40 | Warnen spam
Hallo!

Markus Wichmann wrote:

ich habe ein Programm geschrieben, dass diverse Keys grabt und dann
Aktionen ausführt, wenn sie gedrückt werden. Dazu benutze ich
XGrabKey(). Das funktioniert auch ganz gut, aber hat einen Haken: Wenn
eine Fullscreen-SDL-Anwendung làuft, erhàlt mein Programm keine Events.



Ohne Garantie auf Erfolg: Was passiert wenn du dein Programm umschreibst das
es stattdessen XRecord verwendet?

Vielleicht findest du hier was dich interessiert:
http://www.markus-raab.org/Projekte/Cpp/Apps/xab/

mfg Markus

http://www.markus-raab.org | Einsicht ist der erste Schritt zur
-o) | Besserung. -- Sprichwort
Kernel 2.6.32-5-a /\ |
on a x86_64 _\_v |

Ähnliche fragen