我正在运行Ubuntu Gnome,gnome shell版本3.24.2。我正在尝试创建一个gnome shell扩展,并且正在使用Javascript。
在我的扩展程序和Javascript中,如何创建从Gnome中的任何位置识别的全局键绑定?我想将一个函数绑定到该键绑定,以便当用户按下组合键时,执行所述函数。
几乎没有关于gnome-shell扩展开发的文档。所以问这里是我唯一的选择。请不要向我推荐以下stackoverflow问题,因为它的答案是针对Gnome 3.22的,我真诚地希望有一种更简单的方法来创建密钥绑定:Gnome Shell Extension Key Binding
答案 0 :(得分:0)
这里有一个非常完整的答案:How to handle keyboard events in gnome shell extensions?
您可能会发现最简单的方法是使用Gnome Shell的DBus接口,但处理快捷方式冲突和处理信号回调是不可避免的:
总线名称:org.gnome.Shell - >路径:/ org / gnome / Shell - >接口: org.gnome.Shell
相关方法:
GrabAccelerator(String accelerator, UInt32 flags) -> (UInt32 action)
UngrabAccelerator(UInt32 action) -> (Boolean success)
信号:
AcceleratorActivate(UInt32, Dict of {String, Variant})