将特殊键设置为键盘快捷键

将特殊键设置为键盘快捷键

绑定键盘快捷键键盘 > 快捷方式 > 启动器,到“特殊键盘键” ,例如Home,,按钮等,在新桌面(14.04.1)上不起作用,但在前者(14.04)上起作用。SearchMail

在设置屏幕中单击键盘上的这些特殊键(Microsoft Natural Ergonomic 7000)时,可以正确识别这些键,表明这些键已被识别。但是,它们实际上并没有产生我在设置屏幕中为其指定的“启动”效果。

相反,当单击鼠标时,鼠标指针就会消失(移动鼠标时会再次显示)。

说来也怪,他们确实被捕获了例如在 Chrome 中,它具有默认的 Chrome 行为,但不是按照我的设置预期的桌面行为。

摆弄ls -l /dev/input/by-id之后sudo evtest /dev/input/..我注意到这些键经过与鼠标事件共享的事件接收器,这与键盘上的普通键不同。

我不确定:

  1. 为什么这会影响桌面启动器,但不会影响 Chrome...Chrome 只是写得更好吗?
  2. 我能以某种方式避免这种情况吗?

有任何想法吗?

答案1

阅读按键绑定

dconf-编辑器

dconf-编辑器 dconf-editor > org > gnome > desktop > wm > keybindings

键绑定现在存储在dconf注册表中。

您可以安装dconf-editor以便能够查看和编辑它们:

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install dconf-tools

或者如果你已经安装了 Universe 存储库,请从 UbuntuUpdates.org PPA 获取软件包:

dconf-toolstrusty 安装 dconf-tools


您也可以使用gsettings命令行工具。
例如,要在命令行上获取键绑定:

gsettings get org.gnome.desktop.wm.keybindings switch-windows

或者在命令行上设置键绑定:

gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Alt>Tab']"

org.gnome.desktop.wm.键绑定

按键绑定由窗口管理器处理的事件被持久保存在org.gnome.desktop.wm.keybindings部分中dconf导航, 和视窗快捷键类别存储在此处。过去,每个窗口管理器负责在自己的架构下存储自己的快捷键。现在metacitycompiz窗口管理器都使用这组集中的统一绑定。其中有映射文件,/usr/share/gnome-control-center/keybindings/显示了每个窗口管理器如何使用这些键绑定。

多个键绑定

窗口管理器处理的键绑定支持执行相同操作的多个键。GUIgnome-control-center不支持它,但您可以使用 使其工作dconf-editor。例如,要让关闭窗口使用传统的Alt+F4以及更容易点击的Pause/Break按钮,更改:

org.gnome.desktop.wm.keybindings相近['Pause', '<Alt>F4']

org.gnome.settings-daemon.plugins.media-keys

快捷方式发射器截图声音和媒体系统, 和自定义快捷方式都存储在这里。

自定义快捷方式

dconf自定义快捷键使用“可重定位架构”存储。
架构名称是org.gnome.settings-daemon.plugins.media-keys.custom-keybinding
每个自定义键绑定都有三个属性:姓名命令, 和捆绑
由于可重定位架构,使用gsettings自定义快捷方式更加困难。

这是一个获取名称的示例第一个自定义键绑定:

gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name

org.gnome.settings-daemon.plugins.power

其中管理了四个附加按钮org.gnome.settings-daemon.plugins.power,它们是:

button-hibernatebutton-powerbutton-sleep, 和button-suspend

可能的值包括suspendsleephibernateinteractivenothing

这些按钮目前不由 管理gnome-control-center

如果您想重新分配sleep键盘上的按钮,
您当前必须使用dconf-editor将本节中的按钮分配给nothing


绑定键

另请阅读文本输入快捷方式xbindkeys

修改映射

映射 Windows 键xmodmap

最好的祝愿,

答案2

到目前为止我发现,基于@swift 和一些 evtest 的回答,当您使用设置中的快捷方式执行此操作时,系统无法识别它在 dconf 中的保存方式,它保存在 dconf 中的方式类似于“Launch5、Launch6、Launch7 等”

因此您必须进入 gconf 编辑器并使用密钥的“代码”,这样您将得到类似“XF86Launch5、XF86Launch6、XF86Launch7 等”的内容

我能够使用 xbindkeys 和 xbindkeys -k 的指令获取代码

编辑:由于声誉不佳,我无法添加一些图片

相关内容