Como remapearia as chaves CMD e CTRL do Mac no aplicativo Conexão de Área de Trabalho Remota para Mac?

58

Às vezes, tenho que usar o Microsoft Remote Desktop Connection para Mac para acesso remoto a uma máquina Windows 7 a partir de um iMac executando o MacOS X 10.6.6 (Snow Leopard).

Fazer a troca mental usar a tecla Control CTRLno lugar da tecla Command CMDenquanto estiver na janela da Área de Trabalho Remota (por exemplo CTRL- Ccopiar em vez de CMD- C) é uma dor e uma fonte de erros constantes.

Gostaria de poder mapear a CMDchave para produzir uma CTRLchave no meu Mac, mas apenas ao acessar o aplicativo Microsoft Remote Desktop Connection for Mac. A Conexão de Área de Trabalho Remota permite mapear várias outras chaves por meio de suas Preferências. . . mas não a chave CMD.

Ou seja, em qualquer outro aplicativo Mac, CMDagiria como CMD. No entanto, no Microsoft Remote Desktop Connection para Mac, CMDagiria assim CTRL.

Greg R.
fonte
11
Eh, bem, droga. 10 minutos depois de enviar a pergunta, eu mesmo encontrei a resposta. Um programa chamado KeyRemap4MacBook faz exatamente o que eu precisava para o cliente Remote Desktop Connection.
Greg R.
Como você mapeou o cmd + space para alternar idiomas?
dmiandre
dmiandre, não o fiz porque não tenho necessidade de mudar de idioma. Desculpa.
Greg R.

Respostas:

45

Respondendo a minha própria pergunta. :-P

Logo após a publicação, pesquisei em um aplicativo chamado Karabiner que faz exatamente o que eu precisava fazer (além de muitas outras coisas).

Especificamente, você pode mapear as teclas de comando esquerda e direita para serem chaves de controle apenas em VMs e conexão de área de trabalho remota.

Greg R.
fonte
11
Omg, muito obrigado. Aqui estão minhas configurações para o Karabiner para ativar o atalho Shift + Enter para nova linha no aplicativo Mensagens.
DanSkeel
2
Estou no Mac Sierra com o Karabiner-Elements e, mesmo adicionando o mapeamento de Ctrl para Cmd e Cmd para Ctrl, o Microsoft Remote Desktop ainda registra Ctrl como tecla do Windows e Cmd como tecla Ctrl. Qualquer ideia ?
Dio Phung
2
Vá para a guia Modificações complexas, clique em Adicionar regra na parte inferior, clique em Importar mais regras da Internet, clique em Aplicativo específico, encontre o que diz Área de trabalho remota e clique em Importar. Depois de importado, você o verá na lista e clique em Ativar. Funcionou imediatamente para mim e apenas no aplicativo Remote Desktop, o que é perfeito. Nem precisava reiniciar o aplicativo ou algo assim.
Ben Baron
23

O Microsoft Remote Desktop beta adiciona suporte para Cmd+ X/ C/ Ve Ctrl+ X/ C/ Vpara cortar / copiar / colar em uma sessão remota. (Nota: O redirecionamento da área de transferência estará disponível em uma atualização posterior.)


Você também pode adicionar mapeamentos personalizados, navegando para o diretório Resources / Keyboard no conteúdo do aplicativo e abrindo o ClipboardActionTransformations.xmlarquivo em um editor de texto sem formatação.

<layout name="default">
<transformations>
    <!-- Command+X to Control+X -->
    <transform>
        <from command="1" key="X" />
        <to control="1" key="X" />
    </transform>
    <!-- Command+C to Control+C -->
    <transform>
        <from command="1" key="C" />
        <to control="1" key="C" />
    </transform>
    <!-- Command+V to Control+V -->
    <transform>
        <from command="1" key="V" />
        <to control="1" key="V" />
    </transform>
    <!-- Command+Z to Control+Z -->
    <transform>
        <from command="1" key="Z" />
        <to control="1" key="Z" />
    </transform>
</transformations>
</layout>

Atualizar

Você pode simplesmente definir esta caixa de seleção na seção Preferências / Geral:

Preferências do MS Remote Desktop Client (beta) Geral


Atualização 2

Alguns suspeitavam do site hockeyapp, apesar de o autor ser "Microsoft Remote Desktop". Esta postagem do blog do TechNet do microsoft.com anuncia o aplicativo beta e fornece o mesmo URL do hockeyapp.

davidcondrey
fonte
11
"o diretório Resources / Keyboard dentro do conteúdo do aplicativo" ... onde?
Chris
2
@ Chris, isso também pode ser feito na GUI: "Preferences" - "General". A caixa de seleção "Usar atalhos do Mac para recortar, copiar e colar"
tabela
2
Além disso, não confunda "Microsoft Remote Desktop Beta " por apenas "Microsoft Remote Desktop", como eu fiz.
Tabela
Beta é isso. Só queria observar para o resto dos leitores que a versão não Beta não adiciona suporte Cmd + X / C / V. Você precisa da versão beta .
22416 Chris
Apenas editei este arquivo como indicado. Adicionado suporte para L, T (nova guia do chrome, W close), S-Save, D- (minha linha de exclusão intellij).
user895861
18

Instale o aplicativo Karabiner

Depois de instalado, abra o Karabiner:

  • Na guia 'Alterar chave', expanda a seção 'Para aplicativos'

  • Sub-seção 'Ativar apenas o cliente de conexão de área de trabalho remota'

  • Marque 'Alterar chave de comando para controlar a chave no RDC'

Agora, quando você usa o novo aplicativo RDP, pode continuar usando o Cmd em vez de Ctrl.

George Filippakos
fonte
11
Ugh, atualmente não compatível com sierra embora ...
user895861
na Sierra, tente o Karabiner-Elements, que é uma versão mais simples do Karabiner. No entanto, na Área de trabalho remota da Microsoft, a tecla Ctrl é reconhecida como tecla Windows e a tecla Cmd é reconhecida como tecla Ctrl.
Dio Phung
A última versão do Microsoft Remote Desktop não reconhece a tecla Ctrl pressionada enquanto tecla Windows ea tecla Cmd é reconhecido como tecla Ctrl (estou usando versão 8.0.36)
George Filippakos
Eu configurei com êxito uma opção de mapa de teclado apenas no aplicativo Teamviewer. O que é ótimo: forum.keyboardmaestro.com/t/switching-command-and-control-keys/…
Mau
1

Como respostas anteriores, eu também usei o Karabiner. Mais excelente App!

O que fiz de maneira diferente foi adicionar mapeamentos de teclas personalizados para atenuar o comando MAC v. Botões de controle no Terminal.

Na minha situação, estou usando um teclado da Logitech, portanto, nenhuma tecla de comando da Apple.

Essencialmente, o que fiz foi mapear a chave de comando do MAC para a chave de controle. Meu raciocínio era que eu queria preservar sequências Ctrl-Key comuns que o MAC mapeia para sequências de teclas de comando (ou seja, Ctrl-F, para encontrar). Além disso, eu precisava preservar as verdadeiras sequências de controle, como Ctrl-C para SIGINT. Basicamente, estamos multiplexando a tecla Control alguns.

Depois de instalar o Karabiner, não consegui que o Ctrl-c envie o unix (SIGINT) inicialmente. No entanto, depois de modificar o private.xml, consegui que funcionasse.

Passos:

  1. Faça o download do arquivo .dmg do Karabiner em: https://pqrs.org/osx/karabiner/
  2. Clique duas vezes no arquivo .dmg para instalá-lo.
  3. Uma vez instalado o Karabiner, abra os principais mapeamentos.
    3.1 NÃO mapeie o Command_L ou Command_R para nada. Deixe-os desmarcados.
    3.2 Mapeie o Control_L & Control_R para o respectivo Command_L & Command_R.
  4. Em seguida, edite o arquivo private.xml. Link útil: https://pqrs.org/osx/karabiner/document.html#privatexml
    4.1 Adicione o seguinte snippet:

    <item>
         <name>MAC2Unix Hacks</name>
         <identifier>private.app_terminal_command2_to_ctrl</identifier>
         <appendix>Map Command+C to Ctrl+C For Terminal</appendix>
         <only>TERMINAL</only>
         <autogen>__KeyToKey__ KeyCode::C, VK_COMMAND, KeyCode::C, VK_CONTROL</autogen>     
    </item>
    
  5. Aperte o botão de recarga, e você deve ser bom.
  6. Observe que, na janela Terminal, se você deseja copiar / colar texto, você o selecionará com o mouse ou o que for. No entanto, para copiá-lo agora para a área de transferência, você precisará usar rt-click-> copy do mouse. Lembre-se de remapearmos Ctrl-C (que costumava ser "cópia") e agora é SIGINT.
Eric
fonte