xfce - 如何从whiskermenu解除“超级”键盘快捷键的绑定

xfce - 如何从whiskermenu解除“超级”键盘快捷键的绑定

希望您度过愉快的一周。我就直接进入主题吧。

我使用的是 xfce-Kali 2020.1b,xfce v4.14。

我想将“Super”指定给 xfce4-appfinder 来代替 Whiskermenu,因为它在我的 chromebook 机器上响应速度更快。我能够绑定它并使用 xfce4-appfinder,但无法禁用whiskermenu 的快捷方式。因此它们会同时或相继发射。

据我了解,whiskermenu 过去只能通过与 xfce4-popup-whiskermenu 的按键绑定来启动,可以通过键盘应用程序的应用程序快捷方式部分进行设置。但这导致了无法使用“超级”作为任何其他快捷方式的问题,因为“~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml”中设置的快捷方式在按下时仍然被激活而不是如所述的那样在发布时这里在 xfce 的 bug 跟踪器中。但我没有这个问题。所以我最好的猜测是 Super 被某些方硬编码到whiskermenu来修复这个错误。

我在整个机器上进行了 grep 搜索,以找到这个硬编码 Super 的 cfg 文件在哪里,但没有成功。我发现的只是 Ctrl+Esc 快捷键,这不会造成任何伤害:

$ sudo grep -ri "xfce4-popup-whiskermenu" /* 2>/dev/null
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Alt&gt;F1" type="string" value="xfce4-popup-whiskermenu --pointer"/>
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Primary&gt;Escape" type="string" value="xfce4-popup-whiskermenu"/>
Binary file /home/thmyris/.mozilla/firefox/gzthh3eo.default-esr/places.sqlite-wal matches
Binary file /home/thmyris/.mozilla/firefox/gzthh3eo.default-esr/places.sqlite matches
/home/thmyris/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Primary&gt;Escape" type="string" value="xfce4-popup-whiskermenu"/>
/home/thmyris/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Alt&gt;F1" type="string" value="xfce4-popup-whiskermenu --pointer"/>

还有一篇 6 年前的帖子介绍了这个问题的前身这里但遗憾的是,这个问题和答案都对这个问题没有用处。

答案1

接受的答案谈到将 Super-L 键映射到胡须菜单。然而,问题是关于取消超级键的映射。

我有 Xubuntu 21.10,Super 键本身启动了胡须菜单。 (我认为这种情况只有在我从 Xubuntu 21.04 升级后才开始发生,但我不完全确定。)我想摆脱这种行为(因此在网络搜索后找到了这个答案)。

解决方案:在设置 » 键盘 » 应用程序快捷方式中,我编辑了现有条目xfce4-popup-whiskermenu(默认情况下 Ctrl-Escape 按键绑定到它),并且选择另一个击键(极好的-§)。正如我所料,执行此未绑定的 Ctrl-Escape 启动胡须菜单,但也有自行解绑Super key的副作用,这就是我想要的。

请注意,Ctrl-Escape 是应用程序快捷方式中与xfce4-popup-whiskermenu.我仍然不知道超级键的绑定从何而来。

答案2

Super_L 键未使用 Whiskermenu 进行硬编码。

可以在设置管理器中访问应用程序快捷方式。打开“设置管理器”>“键盘”>“应用程序快捷方式”

或通过 xfce4-keyboard-shortcuts 频道中的 xfconf-query

xfconf-query -c xfce4-keyboard-shortcuts -l

在该通道中可能有一个定义 Super_L 快捷键的属性

xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/Super_L

然而,从提供的输出来看......

/home/thmyris/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Primary&gt;Escape" type="string" value="xfce4-popup-whiskermenu"/>
/home/thmyris/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Alt&gt;F1" type="string" value="xfce4-popup-whiskermenu --pointer"/

Ctrl + Escape 是一个组合键,设置为在面板插件按钮处弹出须状菜单,而
Alt + F1 设置为在当前鼠标位置弹出须状菜单

如果 Super_L 仍然弹出 Whisker 菜单,则很可能有一个守护进程在运行,该守护进程监视 Super_L 按键按下情况,并在出现这种情况时模拟 Ctrl+Escape。据我所知,有两个应用程序符合描述:xcape 和 ksuperkey。可以安装其中之一并将其设置为在启动时运行。两者都作为守护程序运行,并且都用于防止 Super 键破坏其他 Super 键组合。如果是xcape,设置运行守护进程的自动启动命令是:

xcape -e 'Super_L=Control_L|Escape'

Xcape 位于 Debian 存储库中,因此最有可能使用它。如果是 ksuperkey:

ksuperkey -e 'Super_L=Control_L|Escape'

检查哪个守护进程正在运行,并检查设置中是否有自动启动条目:
设置管理器 > 会话和启动 > 应用程序自动启动。

答案3

在 MXLinux 21.3 中,上述提到的任何一个都不起作用。

在自动启动配置中,您将找到“xfce-superkey”。

相关内容