Zdarzenie podczas wciskania przycisku

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Widar
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 30 gru 2008, 13:23
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Zdarzenie podczas wciskania przycisku

Post autor: Widar »

Witam. Chciałbym napisać program który chodziłby w tle, rejestrując wciskane przyciski i odpowiednio na nie reagując. W compiz jest taka funkcja, lecz pozwala ona na ledwie kilkanaście komend - ja potrzebuję ok. 60. Jak mógłbym zrealizować swój pomysł?
Awatar użytkownika
m_gol
Sędziwy Jeż
Sędziwy Jeż
Posty: 31
Rejestracja: 25 paź 2007, 07:40
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Zdarzenie podczas wciskania przycisku

Post autor: m_gol »

rryk pisze:odpowiednio przerób następujący skrypt w bashu:
Przecież to nie o to chodzi. Potrzebne jest globalne reagowanie na klawisze, niezależnie od tego, czy akurat jesteśmy w konsoli, czy nie.

Możesz zrobić tak - instalujesz xbindkeys:

Kod: Zaznacz cały

sudo apt-get install xbindkeys
a potem edytujesz plik ~/.xbindkeysrc. Wygląda on z grubsza tak:

Kod: Zaznacz cały

polecenie1
    m:0x0 + c:38
polecenie2
    m:0x0 + c:56
itd. To po m oznacza przyciski myszy, więc jeśli chcesz przyporządkować funkcje tylko klawiszom, to zostawiasz tam 0x0. Numer po c: to kod klawisza, możesz go uzyskać wklepując w konsolę 'xev' i wciskając żądane klawisze, w konsoli pokaże się coś takiego:

Kod: Zaznacz cały

KeyPress event, serial 30, synthetic NO, window 0x4e00001,
    root 0x51, subw 0x0, time 421875055, (621,754), root:(626,799),
    state 0x0, keycode 56 (keysym 0x62, b), same_screen YES,
    XLookupString gives 1 bytes: (62) "b"
    XmbLookupString gives 1 bytes: (62) "b"
    XFilterEvent returns: False
Po wciśnięciu odp. klawisza wykona się odp. polecenie z pliku .xbindkeysrc.
Michał Gołębiowski
student wydziału Matematyki, Informatyki i Mechaniki na Uniwersytecie Warszawskim
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 16 gości