1つのアクションに複数のキーボードショートカットを割り当てる


15

同じアクションを実行するために、複数のキーボードショートカットにどのように割り当てることができますか?具体的には、ヘッドセットボタンとキーボードの両方で音量を変更できるようにします。

音量を一度に1つだけ変更できます。「キーボードショートカット」アプリケーションで定義した音量です。方法はありますか?


回答:


4

私はそれをカスタムショートカットで行います:

キーボードショートカット設定のスクリーンショット

の代わりにxdotool key --clearmodifiers XF86AudioLowerVolume(およびXF86AudioRaiseVolume)コマンドを使用しますamixer set 'Master' 10%+。唯一の違い/欠点は、[ 入力 ]タブの[ キー繰り返す ]が設定されているだけで、このカスタムショートカットには適用さないことです。

ただし、Fn+ F7を使用して画面をオフにする(xset dpms force standby)などの同じことはできませんでした。ショートカットイベントとしては検出されません。


4

gsettingsコマンドラインを使用して、同じコマンドに複数のキーボードショートカット(キーバインド)を割り当てることができます。

知っておくべき重要なことの1つは、Ubuntu 18.04の設定GUIにはコマンドの最初のキーバインドのみが表示されるため、コマンドに複数のキーバインドがある場合、他のキーバインドは設定に表示されないことです。gsettingsすべてのキーバインドに使用できます。

「Switch to Workspace 1」に別のキーバインドを追加するとします。私のデフォルトはでしたがSuper+Home、2番目のキーバインドを追加したいと思いCtrl+1ます。

# list all keybindings
gsettings list-recursively | grep -e org.gnome.desktop.wm.keybindings -e org.gnome.settings-daemon.plugins.media-keys -e org.gnome.settings-daemon.plugins.power | sort 

# confirm no other keybinding conflicts
gsettings list-recursively | grep '<Control>1'

# set multiple keybindings for "Switch to Workspace 1"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['<Super>Home', '<Control>1']"

# confirm value is set correctly
gsettings get org.gnome.desktop.wm.keybindings switch-to-workspace-1

Super+HomeまたはControl+1を使用して、Workspace 1に切り替えることができます。Super+Home設定GUIには最初の1つしか表示されませんが、機能します。


1
これは、ユーザーが探していたメディアキーではなく、ウィンドウマネージャーのホットキーでのみ機能します。残念ながら、メディアキーは文字列のみを受け入れ、配列は受け入れません。
ハッケル

3

おそらくxmodmapを使用して、キーボードのボタンと同じヘッドセットのボタンを再割り当てできます。


はい。ただし、キーボードショートカットアプリケーションから、「オーディオの音量を上げる/下げる」のデフォルトアクションを知る必要があります。なぜなら、自分のコマンド「amixer channel set opt」を使用すると、ヘッドセットで聞いている間、MBOサウンドカードを上下させるからです。
ksemeks

1
@ksemeks:アクションはamixer set Master 10%+、音量amixer set Master 10%-を上げて音量を下げることです。ゲージ通知を取得するには、を使用できますnotify-sendが、ゲージの設定方法がわかりません
-danjjl

@danjjl:私は設定- > Keyboard->ショートカットから、音量アップ/ダウンの正確な動作を見つけようとしている理由も、だが
ksemeks
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.