LinuxでCtrlをダブルクリックすることをキーボードショートカット(スタートコマンド)として定義する方法

LinuxでCtrlをダブルクリックすることをキーボードショートカット(スタートコマンド)として定義する方法

2回押してコマンドを開始できますかCtrl? Linuxでは、AHKなどのプログラムはこれを実行できますか?

ベストアンサー1

WaylandではなくX11を使用すると仮定すると、キーボードイベントを「監視」するためのツールがたくさんあります。例は次のとおりです。。実行中の場合

cnee --record --keyboard

たとえば、特定のキーを押すと、Control_Right次のような出力が表示されます。

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

内のフィールドは、上または下(2)、キーコード(私の場合は105)、ミリ秒単位のイベント時間(299533174)を含む、イベントに関する詳細を提供します。単純なスクリプトは、500ミリ秒以内に発生する同じキーコードの2回の連続的なプッシュを見つけ、いくつかのコマンドを実行できます。例えば、

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キーボードインデックスと一致する必要があります。

おすすめ記事