Eu tive a mesma pergunta e kynan antecipou uma resposta - se bem que um pouco:
Você precisa alterar o applet que deseja acessar por atalho, de modo que ele reaja ao dito atalho. Pelo menos foi o que eu fiz.
Meu objetivo era ter a "Lista Rápida do Windows" acessível por um atalho, então peguei a "Lista Rápida da Janela com o botão Fechar" como modelo.
No _init do applet.js eu adicionei as seguintes linhas:
this.settings.bindProperty(Settings.BindingDirection.IN,
"keybinding-def",
"keybinding",
this.on_keybinding_changed,
null);
this.actor.connect('key-press-event',
Lang.bind(this,
this._onSourceKeyPress));
this.on_keybinding_changed();
E os dois manipuladores são necessários, é claro:
_onSourceKeyPress: function(actor, event) {
let symbol = event.get_key_symbol();
if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) {
this.menu.toggle();
return true;
} else if (symbol == Clutter.KEY_Escape && this.menu.isOpen) {
this.menu.close();
return true;
} else if (symbol == Clutter.KEY_Down) {
if (!this.menu.isOpen)
this.menu.toggle();
this.menu.actor.navigate_focus(this.actor, Gtk.DirectionType.DOWN, false);
return true;
} else
return false;
},
on_keybinding_changed: function() {
Main.keybindingManager.addHotKey("must-be-unique-id",
this.keybinding,
Lang.bind(this,
this.on_hotkey_triggered));
},
Finalmente, para ter a chance de definir a tecla de atalho personalizável, adicionei as seguintes linhas ao settings.json (também a ser antecipado pelo acima on_keybinding_changed):
,
"keybinding-def" : {
"type" : "keybinding",
"description" : "Shortcut to open/close the windolist ",
"default" : "Super_R"
}
(Por favor, tome cuidado para copiar a vírgula também, se você esquecer, você vai ter problemas)
Para mim, isso funcionou (até agora, sem grandes soluços), mas eu não sou nem javascript em json savvy, e foi um monte de copiar e colar junto com try & amp; erro.
Então, provavelmente, este é apenas um ponto de partida e ainda não é a resposta final.