Linux 中的单键音频捕获(保存键释放)

Rob*_*ore 8 xorg keyboard-shortcuts xfce audio x11

我想运行一个仅在按住右控制键时录制音频的程序。在键盘释放时,结果将写入磁盘,例如yy-mm-dd hh:mm.ogg. 我该怎么做?

$ xmodmap -pke |grep -e Record
keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord
Run Code Online (Sandbox Code Playgroud)

对于 key down 和 key up 事件,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)
Run Code Online (Sandbox Code Playgroud)

FWIW,我当前的桌面是Xfce. 我关注的一个线索:http : //www.thinkwiki.org/wiki/How_to_get_special_keys_to_work#bypassing_Xorg

Ale*_*der 1

我不知道Xfce是否支持按下和释放按钮时触发命令,但我似乎记得FVWM2支持这一点。使用一个脚本来开始录制,使用另一个脚本来停止录制,这应该是完全可能的。arecord或者parecord应该能够进行实际的录音。