Use M-C, M-V, M-A para Copiar, Colar, Selecionar Todos

10

Estou usando o Kubuntu Linux 12.04 em um MacBook Pro e estou procurando a capacidade de usar a tecla Command / Meta para atalhos comuns, como copiar, colar e selecionar todos.

Tentativa de soluções:

  • Remapear Copiar, Colar, Selecionar Tudo e outros nas Configurações do Sistema do KDE > Atalhos e Gestos > Atalhos de Teclado Padrão
    • Problema : esses atalhos parecem ser ignorados pela maioria dos aplicativos. Todos os navegadores que testei continuaram esperando a tecla Ctrl onde indiquei o desejo de usar a tecla Meta . Devido a não conseguir encontrar um navegador da Web em funcionamento, não tentei nenhum outro aplicativo.
    • Testado em: Firefox, Chromium, Rekonq, Arora, Konqueror.
  • Troque Meta com Ctrl usando o xmodmap .
    • Problema : Emuladores de terminal exigiriam o uso da tecla Meta no lugar da tecla Ctrl para comandos como a interrupção do teclado, a maioria dos Emacs ligações e inúmeras outras ligações em vários aplicativos CLI.

Soluções consideradas:

  • Altere individualmente atalhos comuns em aplicativos de GUI. Infelizmente, poder alterar as ligações para Copiar, Colar e Selecionar tudo parece ser raro.
  • Altere o modificador Ctrl para apenas o Konsole (ou outro emulador de terminal). Isso faria idealmente Meta - x produzir o pressionamento de tecla Ctrl - x e vice-versa. Não consigo encontrar qualquer maneira de conseguir isso, no entanto.
  • Use stty para alterar as ligações dos comandos de tecla do terminal para usar meta e, adicionalmente, escrever arquivos de configuração personalizados para todos os outros aplicativos CLI. Isso exigiria uma quantidade excessiva de esforço para realizar.

Estou extremamente surpreso com o esforço que essa simples modificação parece exigir, e apreciarei qualquer ajuda que possa ser fornecida para encontrar uma solução de trabalho razoável.

    
por Winston Green 23.10.2012 / 15:34

1 resposta

4

O kernel do Linux gera um código toda vez que uma tecla é pressionada em um teclado. Esse código é comparado a uma tabela de keycodes definindo uma figura que é então exibida.

Esse processo é complicado por Xorg , que inicia sua própria tabela de keycodes . Cada keycode pode pertencer a um keysym . Um keysym é como uma função, iniciada digitando uma chave. Xmodmap permite que você edite essas relações keycode-keysym .

Para obter a tabela de keymaps atual usando Xmodmap use:

xmodmap -pke

Isso imprimirá a tabela completa no seguinte formato:

keycode <keycode#> = <boundkey> <boundkey>

Antes de mover qualquer coisa, certifique-se de fazer o backup do layout keycode original usando xmodmap -pke >> $HOME/Xmodmap.orig . Isso colocará o arquivo Xmodmap.orig no diretório inicial dos usuários.

Dica: também existem alguns códigos de teclas predefinidos (por exemplo, XF86AudioMute , XF86Mail ). Esses códigos de teclas podem ser encontrados em: /usr/include/X11/XF86keysym.h

Você também pode editar as chaves: Shift , Ctrl , Alt e Super (sempre existe uma esquerda e outra direita ( Alt_R=AltGr )).

Veja um exemplo rápido de como sua configuração ficaria se você quisesse trocar CTRL e Super (chave do Windows):

keycode 255  =
!add Shift   = Shift_L Shift_R
!add Lock    = Caps_Lock
add Control  = Super_L Super_R
!add Mod1    = Alt_L Alt_R
!add Mod2    = Mode_switch
!add Mod3    =
add Mod4     = Control_L Control_R
!add Mod5    =

(o ! é usado para comentar / ignorar a linha. Neste exemplo, apenas Super e Control chaves são ajustadas)

Esta configuração seria salva em $HOME/.Xmodmap e carregada com

xmodmap ~/.Xmodmap

Você também pode começar isso com xwindows, adicionando-o ao seu ~/.xinitrc

E se as coisas ficarem cabeludas, você sempre poderá voltar a Xmodmap.org .

Quaisquer ligações para aplicativos que dependem dessas chaves também serão movidas. Portanto, certifique-se de que tudo permaneça vinculado para que você não perca nenhuma funcionalidade. É um jogo de cabo de guerra.

    
por 11.03.2013 / 15:22