我可以单独将Synapse快捷方式更改为Super / Windows密钥吗?
当我尝试编辑synapse配置时,它不允许我使用左Super作为调用它的快捷方式。 是否有一种可以通过的圆形方式。
当我只按Windows / Super键时,配置窗口不会确认它。 但是,组合快捷方式(例如Super + A )确实可以正常工作。
由于我使用的是Precise,使用Unity,我还需要一种方法将Windows / Super键的默认短划线行为更改为其他内容。
请看下面这个更好的答案。
您必须将操作绑定到Super的扫描码或键码; 普通热键记录修饰键的状态并丢弃它们的按键事件; 所以你永远不会看到只按Alt键的反应,而是A键加上Alt键的记录状态。
正在使用的热键库是libgtkhotkey(12.04中的0.2),它不支持使用修饰符的按键事件。 你必须编写自己的补丁来捕获它,并且可能以签名格式支持这样的东西。
使用现有签名格式的所有测试都无法产生任何错误。
我知道现在这有点老了,但无论如何都认为解决方案很有用。
首先删除任何超级键绑定,例如
是屏幕设置的常用键
然后关闭Synapse
在~/.config/hotkeys/synapse.hotkeys
更改
Signature=space
至
Signature=Super_L
重新启动Synapse
在从launchpad ppa安装的更高版本的synapse中,设置位于.config/synapse/config.json
。 关闭synapse时编辑它以指定Super_L
作为激活密钥。
{ "ui" : { "shortcuts" : { "activate" : "Super_L", ... } } }
请参阅https://launchpad.net/~synapse-core/+archive/ubuntu/testing 。
临时解决方法是从super中删除修饰符,并将键重新映射到您不使用的“普通键”。 我选择“μ”,命名为“mu”。
xmodmap -e 'keysym Super_L = mu mu mu'
xmodmap -e 'clear Mod4'
除了键入“μ”之外,第一个命令对于其他任何东西都会变得非常无用,第二个命令将清除所有Mod4修饰符(我还是不使用它们)。 使用xev查找键的名称,查找类似于以下内容的行:
state 0x80, keycode 58 (keysym 0xb5, mu), same_screen YES,
注销后,更改将丢失。 要使它们成为永久性的,请将命令添加到.bashrc
或在主目录中使用以下内容创建名为.Xmodmap
的文件:
keysym Super_L = mu mu mu clear Mod4
如果您在玩xmodmap时陷入困境,只需注销并重新登录即可恢复旧设置。
我只用这一个键进行了测试,我仍然可以通过按Alt Gr + M键入μ而不会弹出Synapse。 我也尝试将Super重新映射到Page Up ; Synapse能够在设置中输入密钥时检测到密钥,但在按下时无法打开启动器。
显然~/.config/synapse/
不再存在了。
我刚刚在XUBUNTU 12.04.02上安装了synapse并更改了Signature条目
~/.config/hotkeys/synapse/synapse.hotkeys
足以让超级密钥单击一下突然出现突触。
您可以通过“设置管理器” – >“键盘” – >“应用程序快捷方式”选项卡为其指定超级快捷键
添加synapse然后将其快捷方式设置为超级键。
祝你好运!