Linux c++ sprawdzanie, czy klawisz x jest wciśnięty

Witam! Potrzebuje stworzyć funkcję, która mi sprawdzi, czy klawisz który podam w parametrze funkcji np 0x75 jest wciśnięty. Ktoś wie jak to zrobić? Od razu mówię, ze getch() odpada.

Przetestuj w takim razie getchar() z <cstdio> (w C ta funkcja jest zdefiniowana w stdio.h).

 

tylko ze to nie działa w oknie utworzonym w gtk.

chodzi mi o to, aby tego użyć w rb, więc tworzę funkcje i eksportuje ją przy pomocy Rice do biblioteki współdzielonej, importuje ją w rb, tworzę okno w gtk i nie działa. mkxp też mi sie nie kompiluje, a jak uruchamiam ten zamiennik rpg maker xp na linuxa to on jest niedostępny z orcą.

Jeśli masz okno Gtk to ono reaguje na zdarzenie wciśnięcia klawisza jeśli podepniesz funkcję. Może spróbuj z bibliotekami X-ów.

to da się normalnie kontrolę nad oknem przekazać X-om?

w Rubym?

Pisałeś o C++. Jeśli Gtk używasz w Ruby to masz bezpośrednio dostęp do zdarzeń klawiatury.

X-y i tak są pod spodem Gtk, no chyba,  że masz system z Waylandem :wink:

PS. Czy Ty przypadkiem używasz C++ tylko po to aby pobrać zdarzenie z klawiatury? Bo jeśli tak to zupełnie bez sensu. Obsłużysz je z Gtk, zobacz przykład (funkcja on_key_down):http://zetcode.com/gui/rubygtk/nibbles/

niee, c++ używam także do stworzenia sobie API dla speech-dispatchera w rubym, którego oczywiscie nikt nie zrobił.