为一项操作分配多个键盘快捷键

kse*_*eks 18 keyboard shortcuts

我一直想知道如何分配多个键盘快捷键来执行相同的操作?更具体地说,我希望能够同时使用耳机按钮和键盘来更改音量。

我当时只能用一个来改变音量:用我在“键盘快捷键”应用程序中定义的那个。有什么办法吗?

wis*_*cky 6

您可以使用gsettings命令行为同一命令分配多个键盘快捷键(键绑定)。

要知道的一件重要事情是 Ubuntu 18.04 设置 GUI 仅显示命令的第一个键绑定,因此如果您有一个命令的多个键绑定,则其他键将不会出现在“设置”中。您可以使用gsettings所有键绑定。

假设我想为“切换到工作区 1”添加另一个键绑定。我的默认设置是Super+Home,但我想添加第二个键绑定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
Run Code Online (Sandbox Code Playgroud)

现在您可以使用Super+HomeControl+1切换到工作区 1。请记住,您只会Super+Home在设置 GUI 中看到第一个,但它会起作用!

  • 这仅适用于窗口管理器热键,而不适用于用户正在寻找的媒体键。不幸的是,媒体键只接受字符串,而不是数组。 (2认同)

Pab*_*chi 5

我用自定义快捷方式做到了这一点:

键盘快捷键设置的屏幕截图

我使用xdotool key --clearmodifiers XF86AudioLowerVolume(和XF86AudioRaiseVolume)命令而不是amixer set 'Master' 10%+. 我注意到的唯一区别/缺点是,即使设置了“打字”选项卡上的“重复键”也不适用于此自定义快捷方式。

但是,我无法执行某些操作,例如使用Fn+F7关闭屏幕 ( xset dpms force standby)。它不会将其检测为快捷方式事件。


Jo-*_*tad 3

您可以使用 xmodmap 将耳机上的按钮重新分配为与键盘上使用的按钮相同的按钮。