Porównaj ceny domen i usług IT, sprzedawców z całego świata

Odbierasz zdarzenia dotyczące naciśnięć i zwolnień klawiszy w aplikacjach terminalowych systemu Linux?


Chciałbym napisać prosty program w C, który będzie wykonywał różne akcje na podstawie zdarzeń „wciśnij klawisz” i „wciśnij klawisz”. Ten program będzie działał od wewnątrz

rxvt
http://en.wikipedia.org/wiki/Rxvt
.
Jakiej biblioteki lub mechanizmu należy użyć, aby uzyskać dostęp zarówno do naciśnięć klawiszy, jak i wersji? Czy to prawda, że ​​odczytanie
/ dev/tty
zapewni tylko wydanie kluczy? Czy dotyczy to również termcap, terminfo, ncurses i slangu? Czy istnieje sposób, aby to osiągnąć z poziomu aplikacji terminala?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Poniższe łącza mogą być pomocne przy używaniu trybu klawiatury w trybie surowym, który zapewnia dostęp do zdarzeń klawiatury, a nie tylko do zwolnień klawiszy.

Jednak tryb Raw ma tę wadę, że trzeba samodzielnie przekonwertować kody skanowania na symbole.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Ogólnie to nie zadziała. Terminale ANSI (z których pochodzą wszystkie emulatory) prezentują tylko zdarzenia „naciśnięcia” klawiszy. Nie rejestrują niezależnie zdarzeń w górę/w dół.
Jeśli potrzebujesz niskiego poziomu dostępu do zdarzeń klawiatury, odpowiednim środowiskiem jest rzeczywiście program GUI. Nawet aplikacja internetowa będzie miała łatwiejszy dostęp do kluczowych wydarzeń niż terminal.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Nie sądzę, że ncurses zadziała. Odnośnik dostarczony przez basileusa mówi o klawiszu „strzałki w górę” i klawiszu „w dół”, a nie o naciskaniu i zwalnianiu klawisza.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się