如何在 Linux 中将按 Ctrl 两次定义为键盘快捷键(启动命令)

如何在 Linux 中将按 Ctrl 两次定义为键盘快捷键(启动命令)

是否可以通过按两次来启动命令Ctrl? Linux 中有类似 AHK 的程序可以做到这一点吗?

答案1

假设您使用的是 X11(而不是 Wayland),有很多工具可以“监视”键盘事件。一个例子是cnee。如果运行

cnee --record --keyboard

当您按下某个键(例如 )时Control_Right,您将得到如下输出

6,2,0,0,0,105,0,299533174,3,Virtual core keyboard

其中的字段提供有关事件的详细信息,包括向上或向下 (2)、键码(在我的例子中为 105)以及事件的时间(以毫秒为单位)(299533174)。一个简单的脚本可以查找同一键码在不到 500 毫秒内发生的两个连续按下事件,并运行一些命令。例如,

cnee --record --keyboard 2>/dev/null |
awk -F, -v wanted=105 '$1==7{
 down = ($2==2); keycode = $6; tod = $8;
 if(keycode==wanted){
   if(down){
     diff = tod-last
     if(diff>500){ last = tod; next } # note time of first press
     else{
       #printf "%s %s %d\n",down?"down":"up",keycode,diff
       system("echo hello")
     }
   }else next
 }
 last = 0
}'

请注意,您需要将该wanted=105值更改为适当的键码,并与$1==7您的键盘索引相匹配。

相关内容