Chciałbym uruchomić program, który nagrywa dźwięk tylko wtedy, gdy wciśnięty jest prawy klawisz Control. Po zwolnieniu klawiatury wynik zapisywałby na dysk jako np yy-mm-dd hh:mm.ogg
. Jak mogę to zrobić?
$ xmodmap -pke |grep -e Record
keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord
Kontrola prawna jest przechwytywana przez xev w następujący sposób dla zdarzeń związanych z kluczowaniem i opuszczaniem:
KeyPress event, serial 43, synthetic NO, window 0x1800001,
root 0x7f, subw 0x0, time 27689430, (-145,169), root:(476,366),
state 0x10, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 46, synthetic NO, window 0x1800001,
root 0x7f, subw 0x0, time 27689540, (-145,169), root:(476,366),
state 0x14, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
ClientMessage event, serial 46, synthetic YES, window 0x1800001,
message_type 0x112 (WM_PROTOCOLS), format 32, message 0x110 (WM_DELETE_WINDOW)
FWIW, mój obecny pulpit to Xfce
. Jeden trop, którego śledzę: http://www.thinkwiki.org/wiki/How_to_get_special_keys_to_work#bypassing_Xorg
halevt
działać, powinieneś po prostu rozpocząć nagrywanie po naciśnięciu klawisza i zabić go po zwolnieniu klawisza (SIGKILL
oczywiście nie za pomocą ).