Debian/Xfce: ホームおよび終了キーのキーボードショートカット

Debian/Xfce: ホームおよび終了キーのキーボードショートカット

私はDebianでxfce4を実行しています。 homeキーとendキーにキーボードショートカットを割り当てたい(具体的にはカーソルを行の先頭と最後に移動)。

設定マネージャには、コマンドにキーボードショートカットを割り当てるためのGUIインターフェイスがあります。しかし、別のキー(homeまたはend)にキーボードショートカット(ctrl + aやctrl + eなど)を設定するにはどうすればよいですか?

ありがとうございます!

答え1

私は-toや-toxmodmapのようないくつかのツールを試しました。xbindkeysxdotoolCtrlLeftHomeCtrlRightEnd

問題は次のとおりです。その結果Ctrl-Leftそして - なぜならHomeCtrlRightEndボタンが外れないそして効果もなく…

睡眠を使用してスクリプトを作成する必要があります。

$ cat HomeEnd.sh 
#!/bin/bash
sleep .2
KEY=${1?key}
xdotool key ${KEY}

次に、設定マネージャ>キーボード>アプリケーションショートカットを使用するか、コマンドラインを使用してショートカットを割り当てました。

$  xfconf-query -c xfce4-keyboard-shortcuts -p "/commands/custom/<Ctrl>Left" -s "${HOME}/bin/HomeEnd.sh Home" -n -t string
$  xfconf-query -c xfce4-keyboard-shortcuts -p "/commands/custom/<Ctrl>Right" -s "${HOME}/bin/HomeEnd.sh End" -n -t string

これで機能し、Ctrlキーを押したり放したりできます。LeftCtrlRight

答え2

今、最も簡単な方法はAutoKeyを使用することです。

https://github.com/autokey/autokey/wiki

一連のキーストロークを呼び出すには、新しいスクリプトを作成する必要があります。

keyboard.send_keys("<ctrl>+a")

そしてショートカットに割り当てます。

答え3

これは答えかもしれませんが、役に立つヒントを提供することが目的です。

私が正しく理解したら、単一のキーをバインドしようとしています。いくつかの鍵押す。与えられた例は+Endに再マッピングすることです(理解しやすいかもしれません)。CtrlE

xmodmapそしてxbindkeys

xev古典的な方法は、Xツールを使用してキーコードを確認することです。たとえば、xmodmap次の説明に従ってキーを再マップします。この回答はaskubuntu.comにあります。。ただし、これは回答に記載されている複数のキーを再マップすることはできません。この質問について

xbindkeys別の方法は、キャッチキーと送信キーを使用することですxvkbd。答えは次のとおりです。この投稿。しかし、誰かがコメントで述べたように、このアプローチにも注意があり、集中力を失う可能性があります。

実際にはあります。エマルジョン複数のキーを別の複数のキーに再マップするように求められました(あなたの要求よりも一歩難しいです)。残念ながら、答えxmodmapではこれを達成することはできませんxbindkeys

選択する:xdotool

しばらく前に、私はまだ2ボタンマウス(非常に古いハードウェアであることがわかっています)を使用しながら、マウスの中のボタンクリックをシミュレートしようとしました。その後、xdotoolキーボードキーだけでなくマウスクリックもシミュレーションできることがわかりました。

私の提案はxdotoolシミュレートされたキーボードキーを使用することですEnd(これは一連のコマンドを提供します)。次に、このコマンドを使用して、次の場所にあるXfce4にカスタムショートカットCtrl+を割り当てます。E設定マネージャ>キーボード>アプリケーションショートカット

ビルドコマンドを使用するには、xdotool次を参照してください。いくつかの例そのうちの1つが以下に引用されています。

例: Firefox URL バーに焦点を当てる

WID=`xdotool search "Mozilla Firefox" | head -1`
xdotool windowactivate --sync $WID
xdotool key --clearmodifiers ctrl+l

# As of version 2.20100623, you can do this simpler version of above:
xdotool search "Mozilla Firefox" windowactivate --sync key --clearmodifiers ctrl+l

このツールを使用してから古くなっており、お客様の質問に正確な回答を提供することはできません。xdotoolXfce4を使用しているようです。アプリケーションのショートカットDebian Xfce で試すことができる最高のソリューションです。

関連情報