[solved] sterowanie z klawiatury
: 16 paź 2009, 23:19
Chciałbym sterować kartą przekaźników przy pomocy klawiatury. Znalazłem program obsługujący joystick i próbowałem go przerobić tak żeby przechwytywał zdarzenia klawiatury (/dev/input/event1 zamiast /dev/input/js0 i dostosowanie struktury zdarzenia do kodów wysyłanych przez klawiaturę). Niestety klawiatura wysyła scancodes różnej długości a dostęp do węzła klawiatury można uzyskać tylko jako root co bardzo komplikuje sprawę. Czy ktoś miał może kiedyś podobny problem?
Dodam że znaleziony program działa bez zarzutu, ale chcę mieć też możliwość sterowania w przypadku braku joysticka. Mógłbym użyć GTK lub innej biblioteki, ale nie chcę żeby program za bardzo się rozrósł. Klawiatura generuje kod przycisku w momencie naciśnięcia go, co jakiś czas (typematic rate delay) przez cały czas gdy przycisk jest wciśnięty oraz gdy przycisk jest zwalniany (inny kod). Nie urządzają mnie funkcje getch() czy scanf() bo rejestrują tylko wciśnięcie klawisza.

Załączam kod powstały z połączenia programu przechwytującego zdarzenia joysticka (joystick.c), programu wysyłającego komendy na port szeregowy (rs232.c) oraz przykładowego kodu odpowiedzialnego za ruch gąsienic czołgu (tank.c).
Byłbym wdzięczny gdyby ktoś podzielił się linkiem do kodu źródłowego jakiegoś prostego keyloggera lub gierki w których znalazłbym rozwiązanie.
Dodam że znaleziony program działa bez zarzutu, ale chcę mieć też możliwość sterowania w przypadku braku joysticka. Mógłbym użyć GTK lub innej biblioteki, ale nie chcę żeby program za bardzo się rozrósł. Klawiatura generuje kod przycisku w momencie naciśnięcia go, co jakiś czas (typematic rate delay) przez cały czas gdy przycisk jest wciśnięty oraz gdy przycisk jest zwalniany (inny kod). Nie urządzają mnie funkcje getch() czy scanf() bo rejestrują tylko wciśnięcie klawisza.


Załączam kod powstały z połączenia programu przechwytującego zdarzenia joysticka (joystick.c), programu wysyłającego komendy na port szeregowy (rs232.c) oraz przykładowego kodu odpowiedzialnego za ruch gąsienic czołgu (tank.c).
Byłbym wdzięczny gdyby ktoś podzielił się linkiem do kodu źródłowego jakiegoś prostego keyloggera lub gierki w których znalazłbym rozwiązanie.