我想运行一个仅在按住右键时才录制音频的程序。释放键盘时,结果将写入磁盘,例如yy-mm-dd hh:mm.ogg
。我该怎么办?
$ xmodmap -pke |grep -e Record
keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord
xev对于键盘按下和键盘按下事件捕获了Right Control,如下所示:
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,我当前的桌面是Xfce
。我关注的一位领导者:http : //www.thinkwiki.org/wiki/How_to_get_special_keys_to_work#bypassing_Xorg
以root身份运行某些内容(例如,使用sudo)会出现问题吗?我不知道如何捕获X环境中的所有事件,但是我确实知道如何捕获来自/ dev / input / event设备的事件(需要root特权)
—
brm 2014年
halevt
工作,则只需要在按键上开始录制并在释放按键时将其终止(SIGKILL
当然不能使用)。