Como eu alterno a tecla Command ea tecla Control em um MacBook Pro?

47

Eu vasculhei a web e não consigo fazer com que o Xmodmap / qualquer coisa funcione corretamente. Eu quero trocar minhas chaves de comando com a minha chave de controle - em essência, invertendo o que eles fazem atualmente.

Como eu faria isso?

Eu tentei xmodmap -e "keycode 133 = Control_L" e os comandos correspondentes para os códigos de teclas 134 (comando à direita) e 37 (controle à esquerda). Eu até tentei esses comandos, além de xmodmap -pke > ~/.Xmodmap e xmodmap ~/.Xmodmap em .xinitrc .

Meu objetivo final é Eu quero que o HUD / Dash apareça quando eu clicar control e command no controle funcional, ou seja, control-v é um atalho commond para colar, eu clique em command-v

    
por kalaracey 05.05.2012 / 09:29

6 respostas

54

Eu percebi isso. Coloque o seguinte em ~/.Xmodmap :

clear control
clear mod4

keycode 105 =
keycode 206 =

keycode 133 = Control_L NoSymbol Control_L
keycode 134 = Control_R NoSymbol Control_R
keycode 37 = Super_L NoSymbol Super_L

add control = Control_L
add control = Control_R
add mod4 = Super_L

Para testar, execute o comando:

xmodmap ~/.Xmodmap

Para executá-lo sempre, adicione-o aos aplicativos de inicialização.

Isso deve funcionar em qualquer MacBook Pro; O problema era que o Xmodmap estava atribuindo Super_L para as teclas de comando esquerda e direita, e Control_L para a tecla de controle esquerda. Por alguma razão, por padrão, o Ubuntu acha que o MacBook Pro tem um teclado padrão de 105 teclas (provavelmente pensando no Apple Keyboard completo), mas isso está errado. De qualquer forma, eu reatribui os códigos de teclas aos keysims certos e, em seguida, atribui os keysims a control e mod4 .

    
por kalaracey 30.06.2012 / 16:50
23

Eu acabei de instalar o Ubuntu 16.04 dual boot no meu MBP13 "ontem. Para o Ubuntu 16.04, aqui está como eu fiz:

Etapa 1: inicie o terminal

Passo 2: Edite a extensão do teclado X

sudo nano /usr/share/X11/xkb/symbols/pc

Etapa 3: faça as seguintes alterações. Certifique-se de que seu arquivo tenha esta aparência:

key <LCTL> {    [ Super_L       ]   };
key <LWIN> {    [ Control_L     ]   };

...

key <RCTL> {    [ Super_R       ]   };
key <RWIN> {    [ Control_R     ]   };

Etapa 4: limpar o cache do xkb

sudo rm -rf /var/lib/xkb/*

Passo 5 (condicional): Se as chaves não forem trocadas após o passo 4, reinicie o seu computador. Funcionou para mim depois disso.

Espero que ajude, boa sorte!

    
por Joel Koh 02.05.2016 / 08:23
15

Entre em System -> Preferences -> Keyboard

Clique na guia "Layouts" e clique no botão "Opções de layout".

Clique em "Comportamento da tecla Alt / Win"

Selecione "O controle é mapeado para as chaves Win (e a tecla ctrl usual).

de link

    
por alex reska 03.02.2013 / 01:02
6

Vá para as configurações do sistema e, em seguida, para o layout do teclado, em seguida, para opções, em seguida, para Win / Alt comportamento da tecla e, em seguida, marque a opção "Ctrl switches Meta" e lá você tem isso!

em 12.04.1 você muda isso por:

Primeiro, vá para "Configurações do sistema" e clique em "Teclado" e depois em "Configurações de layout" (na parte inferior esquerda), depois em "Opções" na parte inferior direita e depois na guia "Comportamento da tecla Alt / Win". em seguida, selecionando "O controle é mapeado para ganhar chaves (e as teclas Ctrl usuais)"

    
por TenorB 08.05.2012 / 20:15
5

A página de ajuda do Ubuntu da comunidade para teclados da Apple oferece as etapas a seguir para fazer permanentemente essa alteração: (testado 2017-05-27)

  

Execute o seguinte comando para anexar a linha de configuração ao arquivo    /etc/modprobe.d/hid_apple.conf , criando, se necessário:

echo options hid_apple swap_opt_cmd=1 | sudo tee -a /etc/modprobe.d/hid_apple.conf
     

Acione a cópia da configuração no arquivo de inicialização do initramfs.

sudo update-initramfs -u -k all
     

Opcionalmente, reinicie

sudo reboot

Para testá-lo temporariamente, você pode executar

echo 1 | sudo tee /sys/module/hid_apple/parameters/swap_opt_cmd
    
por RasmusWriedtLarsen 26.05.2017 / 12:59
1

Duplicata de Como trocar as teclas Comando e Controle com xkb passo a passo?

Em 16.04, aqui está a maneira que eu finalmente consegui que isso funcionasse. O Xmodmap não funciona universalmente em todos os aplicativos, a ferramenta gnome tweak faltava a função, o dconf editando uma troca de chaves altwin2 personalizada (como a principal resposta aqui) falhou, então eu estava arrancando meu cabelo até combinar várias respostas neste completo, simples e solução elegante:

gksudo gedit /usr/share/X11/xkb/symbols/pc

altere para:

default  partial alphanumeric_keys modifier_keys
xkb_symbols "pc105" {

key <ESC>  {    [ Escape        ]   };

// The extra key on many European keyboards:
key <LSGT> {    [ less, greater, bar, brokenbar ] };

// The following keys are common to all layouts.
key <BKSL> {    [ backslash,    bar ]   };
key <SPCE> {    [    space      ]   };

include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"

key <BKSP> {    [ BackSpace, BackSpace  ]   };

key  <TAB> {    [ Tab,  ISO_Left_Tab    ]   };
key <RTRN> {    [ Return        ]   };

key <CAPS> {    [ Caps_Lock     ]   };
key <NMLK> {    [ Num_Lock      ]   };

key <LFSH> {    [ Shift_L       ]   };
key <LCTL> {    [ Alt_L     ]   };
key <LWIN> {    [ Super_L       ]   };

key <RTSH> {    [ Shift_R       ]   };
key <RCTL> {    [ Alt_R     ]   };
key <RWIN> {    [ Super_R       ]   };
key <MENU> {    [ Menu          ]   };

// Beginning of modifier mappings.
modifier_map Shift  { Shift_L, Shift_R };
modifier_map Lock   { Caps_Lock };
modifier_map Control{ Control_L, Control_R };
modifier_map Mod2   { Num_Lock };
modifier_map Mod4   { Super_L, Super_R };

// Fake keys for virtual<->real modifiers mapping:
key <LVL3> {    [ ISO_Level3_Shift  ]   };
key <MDSW> {    [ Mode_switch       ]   };
modifier_map Mod5   { <LVL3>, <MDSW> };

key <ALT>  {    [ NoSymbol, Control_L, Control_R    ]   };
//include "altwin(meta_alt)"
key <LALT> {    [ Control_L     ]   };
key <RALT> {    [ Control_R     ]   };
modifier_map Mod1   { Alt_L, Alt_R, Meta_L, Meta_R };

key <META> {    [ NoSymbol, Meta_L, Meta_R  ]   };
modifier_map Mod1   { <META> };

key <SUPR> {    [ NoSymbol, Super_L ]   };
modifier_map Mod4   { <SUPR> };

key <HYPR> {    [ NoSymbol, Hyper_L ]   };
modifier_map Mod4   { <HYPR> };
// End of modifier mappings.

key <OUTP> { [ XF86Display ] };
key <KITG> { [ XF86KbdLightOnOff ] };
key <KIDN> { [ XF86KbdBrightnessDown ] };
key <KIUP> { [ XF86KbdBrightnessUp ] };
};

hidden partial alphanumeric_keys
xkb_symbols "editing" {
key <PRSC> {
type= "PC_ALT_LEVEL2",
symbols[Group1]= [ Print, Sys_Req ]
};
key <SCLK> {    [  Scroll_Lock      ]   };
key <PAUS> {
type= "PC_CONTROL_LEVEL2",
symbols[Group1]= [ Pause, Break ]
};
key  <INS> {    [  Insert       ]   };
key <HOME> {    [  Home         ]   };
key <PGUP> {    [  Prior        ]   };
key <DELE> {    [  Delete       ]   };
key  <END> {    [  End          ]   };
key <PGDN> {    [  Next         ]   };

key   <UP> {    [  Up           ]   };
key <LEFT> {    [  Left         ]   };
key <DOWN> {    [  Down         ]   };
key <RGHT> {    [  Right        ]   };
};

Salvar.

rm -rf /var/lib/xkb/*

(Eu não sei se isso é necessário, mas eu fiz isso.)

Reinicie.

    
por Tom Mercer 22.03.2017 / 04:42