Onde o Ubuntu armazena sua configuração de atalho de teclado?

30

Existe algum lugar no "Ubuntu" que armazene uma lista completa de quais teclas / combinações / atalhos estão vinculadas a quais?

Quais são os atalhos de teclado e mouse do Unity? liste alguns " Unity "atalhos para o Dash, Launcher, etc e Como listar atalhos do Compiz em usar? mostra uma maneira de listar as ligações compiz, mas estou procurando mais do que isso (não apenas algumas das combinações de teclas limitadas apenas ao Unity ou ao Compiz), embora seja um começo.

Existe uma lista global de combinações de teclas / combinações de teclas / atalhos de teclado em uso, que é armazenada em algum lugar no Ubuntu ou existe uma maneira de compilá-los e listá-los? Um que se aplica ao Ubuntu e coisas que estão nele (Unity, Compiz, Shortcuts to Programs, etc.).

Certamente, o Ubuntu deve armazenar isso em algum lugar para que a combinação de teclas pressionada no teclado seja direcionada ao que está conectado? Se não existe tal lugar no Ubuntu, então poste como uma resposta, para que futuros usuários, essa busca, saibam.

    
por James 04.02.2012 / 01:01

5 respostas

8

Seu gerenciador de janelas obtém os eventos principais antes que os aplicativos o façam, portanto, se quiser consumir esses eventos, ele o faz e seus aplicativos nunca os receberão. Se o gerenciador de janelas não quiser reagir aos eventos principais, ele os encaminha para o aplicativo.

Você pode verificar isso sozinho da seguinte maneira:

  1. Iniciar um terminal.
  2. Inicie xev | grep KeyPress , o visualizador de eventos X.
  3. Pressione Alt , observe que xev mostra que recebeu o evento principal em sua janela de terminal.
  4. Pressione Ctrl , observe novamente que xev recebeu o evento. Tome nota de como a janela do terminal se parece agora.
  5. Pressione Left arrow para ir para outro espaço de trabalho. (Estou supondo que você tenha isso como uma tecla de atalho do gerenciador de janelas.)
  6. Pressione Right arrow para voltar para onde você está executando xev . Observe que ele nunca recebeu nenhum evento importante para a comutação de espaços de trabalho por meio das teclas de seta para a esquerda e para a direita - a saída é a mesma da etapa 4.

Assim, você vê que o gerenciador de janelas, na prática, obtém todos os eventos principais e, se não quiser capturá-los, os transfere para o aplicativo. O aplicativo então faz o mesmo para seus próprios widgets (como como você pode pressionar Enter o dia todo em seu navegador, mas não fará nada até que você coloque o cursor na barra de endereços ou em algum campo onde você possa digite o texto).

Cabe ao aplicativo definir seus próprios atalhos e os aplicativos são configurados independentemente um do outro.

No KDE 3.x, se bem me lembro, você poderia definir os atalhos padrão (por exemplo, Ctrl-s para salvar) no Centro de Controle do KDE e se aplicaria a todas as aplicações escritas com o Qt toolkit, mas eu não Não sei se isso ainda é possível desde que eles mudaram para o KDE 4.

    
por Lakritsbollar 09.02.2012 / 12:09
17

Até o Ubuntu 12.04

Os atalhos são colocados de forma diferente dependendo da área de trabalho que você está usando (gnome / unity, kde, xfce, lxde, etc).

Para o gnome, eles estão abaixo de ~/.gconf/desktop/gnome/keybindings (atalhos personalizados)

e abaixo de ~/.gconf/apps/metacity .

Desde o Ubuntu 12.10

~/.config/dconf/user (em dconf-editor: org.gnome.settings-daemon.plugins.media-keys.custom-keybindings (atalhos personalizados)

~/.config/compiz-1/compizconfig

    
por desgua 04.02.2012 / 02:19
4

Não, não há um único local onde todos os atalhos sejam armazenados. As aplicações podem optar por armazenar suas configurações onde quiserem.

Dito isso, você está olhando principalmente para dois níveis: o nível do aplicativo (como Ctrl-C para copiar no Firefox) e o nível do gerenciador de janelas (como Win + D para mostrar a área de trabalho). O Compiz usa o gconf para armazenar sua configuração .

Para aplicativos, você pode dividi-los por seus kits de ferramentas. Ou seja, os aplicativos GTK usam o gconf também.

% bl0ck_qu0te%

Não é bem assim. O aplicativo focado recebe o primeiro chute em um evento de teclado X, mas, se isso não acontecer, ele é direcionado para outros aplicativos, ou seja, o gerenciador de janelas. Assim, você pode ter um jogo que capture Alt + F4 e não feche a janela (droga, Jamestown!). Eu acho que você está pensando que vai para algum roteador de evento central, então comparado com algum banco de dados, e roteado para o seu destino. É mais como passar uma garrafa de bebida ao redor: passar, tomar um gole se quiser e passar o resto, ou pegar a coisa toda e ser ganancioso.

O ambiente Linux / FOSS (você deve ter notado) é bastante democrático, e fazer com que todos os aplicativos concordem em um único repositório central de configuração de teclado é uma tarefa tola. Por um lado, você tem aplicativos não-mantidos que foram escritos há muito tempo e não saberiam sobre isso.

Atualização: de acordo com os documentos do Xlib sobre o assunto :

% bl0ck_qu0te%

Além disso,

% bl0ck_qu0te%

E você pode definir um atributo para desabilitar a propagação .

O problema é que você não diz ao X quais teclas para escutar, então você nunca pode dizer a priori quais teclas o aplicativo escuta (sem falar no que eles fazem) ou realmente se eles pretendem se propagar se eles estão de fato escutando isso. Assim, um registro central é impossível no nível X, então você teria que fazê-lo no nível do kit de ferramentas, o que é praticamente impossível. : D

    
por nfirvine 11.02.2012 / 04:23
1

Os aplicativos armazenam seus atalhos de forma independente, portanto, não há local central, onde eles são armazenados.

Eu não entendo todo o processo do teclado de interação - OS - kernel - X11 - Gerenciador de janelas - Ambiente de desktop - Aplicativos, mas se uma determinada janela, como o Gedit, tem o foco do teclado, Ele pode manipular a entrada por conta própria e faz isso.

    
por user unknown 04.02.2012 / 03:06
-1

Em 11.10, em Configuração do sistema - > Teclado - > Atalhos você recebe uma lista muito grande deles. É isso que você está procurando?

    
por Cmorales 10.02.2012 / 19:26