将 Synapse 快捷键绑定到 key-release 而不是 key-press

将 Synapse 快捷键绑定到 key-release 而不是 key-press

背景

所以我已经提到了一个问题,演示了如何将 Synapse 启动器绑定到“超级(Win)键”。(我可以单独将 Synapse 的快捷方式更改为 Super/Windows 键吗?

问题是,现在涉及 Super 键的组合都会启动 Synapse。

我相信发生这种情况是因为 Synapse 是在按钮按下事件中被激活的,而不是在按钮释放事件中被激活,就像使用 Unity 或在 Windows 上使用时一样。

问题

在 Ubuntu 中是否有任何方法可以将快捷方式绑定到按钮释放事件?这样,我就可以在其他组合中使用 Super 按钮,例如“Super + D”用于显示桌面等。

环境

我在 Ubuntu 14.04 LTS 上使用 Gnome(Compiz)Flashback 会话环境。

答案1

ksuperkey对我来说效果很好。我按照以下说明操作:

https://blog.hanschen.org/2012/10/17/open-application-launcher-with-super-key/

除此之外,我使用的是 Ubuntu 16.04 + MATE,所以我所做的是:

a) 在“首选项 --> 硬件 --> 键盘快捷键”中删除了 Alt+F1 作为 MATE 菜单的快捷键

在此处输入图片描述

b) 将 Alt+F1 设置为 Synapse 的快捷键:

cat ~/.config/synapse/config.json       {
          "ui" : {
            "global" : {
              "ui-type" : "default"
            },
            "shortcuts" : {
              "activate" : "<Alt>F1"
            }
          }
        }

c) 安装并运行ksuperkey

ksuperkey现在执行从释放 Win 键(Super 键)到 的映射Alt+F1,这会触发 MATE 启动 Synapse。同时,涉及 Win 的其他组合也可以正常工作,而无需调用 Synapse。(特别是,我设置了 Win + M 以最小化所有窗口并显示桌面,这对我很重要)。

请注意,它ksuperkey非常灵活,可以映射任何键的释放以发送任何组合键,而不仅仅是 Alt+F1(默认值)。

d) 将 ksuperkey 添加到启动应用程序

相关内容