Posso alterar o comportamento das teclas Home e End em um teclado Apple com teclado numérico?

51

Acabei de comprar um "Teclado Apple com teclado numérico" e o conectei ao meu Macbook Pro executando o Lion.

Mas a chave homee endabaixo da F14chave não funciona como eu esperava. Digamos em "Páginas", a hometecla não leva o cursor ao início da linha, enquanto a endtecla leva você para o final da página.

Alguém sabe como re-mapear a chave home/ end?

Kevin Ren
fonte

Respostas:

54

Uma opção é criar ~/Library/KeyBindings/e salvar uma lista de propriedades como esta, como ~/Library/KeyBindings/DefaultKeyBinding.dict:

{
  "\UF729"  = moveToBeginningOfLine:;
  "\UF72B"  = moveToEndOfLine:;
  "$\UF729" = moveToBeginningOfLineAndModifySelection:;
  "$\UF72B" = moveToEndOfLineAndModifySelection:;
}

Feche e reabra os aplicativos para aplicar as alterações. Observe que isso DefaultKeyBinding.dictnão é suportado por alguns aplicativos como Xcode ou Firefox.

No Terminal, você pode atribuir home (↖) ao controle-a e terminar (↘) ao controle-e em Preferências> Configurações> Teclado. Isso deixará você sem combinações de teclas para rolar para a parte superior ou inferior de uma janela.

Pode ser mais fácil usar apenas as combinações de teclas padrão. Na maioria das visualizações de texto nativas:

  • Control-A ou Option-Up vão para o início de um parágrafo
  • Control-E ou Option-Up vão para o final de um parágrafo
  • command-left vai para o início de uma linha
  • Command-Right vai para o final de uma linha
michaelmichael
fonte
1
Isso funciona na maioria dos meus aplicativos como Pages e Textmate. Mas, não consegui fazê-lo funcionar no Terminal.
5
Direito. O terminal é outra história e você precisará contar como deseja que as teclas Início e Fim se comportem. Você pode fazer isso em Terminal -> Preferências -> Teclado. Defina a tecla Home para enviar control-ae a tecla End para enviar control-e. Esses são os atalhos de teclado no estilo Emacs que o Terminal usa para o movimento da linha por padrão. Imitará o movimento regular de início / fim que você procura.
22611 michaelmichael
Mais uma vez obrigado Michael. Vou experimentar hoje à noite quando voltar ao meu laptop.
Kevin Ren
1
Funciona no macOS Sierra! (Karabiner não está funcionando no momento).
Gustavo Bezerra
2
@ ckpepper02 CERTO? Quero dizer tão frustrante e inútil 99% do tempo, desde que o PgUp e o PgDown levam você ao mesmo ponto para todos os documentos, exceto o mais longo. Grrr!
Robino
31

Outra opção é habilitar a configuração "Usar PC Style Home / End" no Karabiner (anteriormente KeyRemap4MacBook):

A configuração é definida em Recursos / incluir / caixa de seleção / for_pc_users.xml .

Você também pode salvar um arquivo como este como ~/Library/Application Support/KeyRemap4MacBook/private.xml:

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>HOMEENDIGNORE</appname>
    <equal>com.microsoft.Word</equal>
    <equal>com.microsoft.Powerpoint</equal>
    <equal>com.microsoft.Excel</equal>
    <equal>com.vmware.fusion</equal>
    <prefix>com.vmware.proxyApp.</prefix>
  </appdef>
  <item>
    <name>homeend</name>
    <identifier>homeend</identifier>
    <not>HOMEENDIGNORE</not>
    <autogen>__KeyToKey__ KeyCode::HOME, ModifierFlag::NONE, KeyCode::A, VK_CONTROL</autogen>
    <autogen>__KeyToKey__ KeyCode::END, ModifierFlag::NONE, KeyCode::E, VK_CONTROL</autogen>
    <autogen>__KeyToKey__ KeyCode::HOME, VK_SHIFT | ModifierFlag::NONE, KeyCode::A, VK_CONTROL | VK_SHIFT</autogen>
    <autogen>__KeyToKey__ KeyCode::END, VK_SHIFT | ModifierFlag::NONE, KeyCode::E, VK_CONTROL | VK_SHIFT</autogen>
  </item>
</root>

Em seguida, abra o aplicativo KeyRemap4MacBook, pressione o botão ReloadXML e ative a configuração. Consulte https://pqrs.org/macosx/keyremap4macbook/xml.html.en para obter mais informações.

peixinho
fonte
5

Como essa resposta está bem classificada nos mecanismos de pesquisa, quero explicar como fiz isso com a versão mais recente do Karabiner .
A configuração "Usar PC Style Home / End" deve ser baixada do site deles. Você deseja ir para "Modificações complexas", depois "Adicionar regra" e depois escolher "Importar mais regras da Internet". O levará a este site: https://pqrs.org/osx/karabiner/complex_modifications/, em "Modos de emulação", você pode encontrar "Atalhos no estilo PC". Depois de clicar em "Importar para o Karabiner-Elements", você pode simplesmente ativá-lo e está pronto para ir 🙌🏼
Você só precisará escolher "Adicionar regra" e encontrar a configuração "Usar casa / final do estilo PC" ali.

página de modificações complexas

unixb0y
fonte
2
Você é meu herói.
afeique 20/02
1

Eu sugeriria o incrível keyremap4macbook , que é gratuito, apesar do nome que funciona em qualquer mac (não necessariamente macbooks) e aqui você encontra a maneira mais fácil de alterar o comportamento padrão dos botões home / end para funcionar como deveriam (IMO)

Leonardo
fonte
Concordo, mais frequentemente homee endcom base na linha do que em um documento completo. Temos que fazer tudo o que pudermos para reduzir o atrito à execução dos casos de uso mais frequentes e enviar combinações de atalhos de teclado e similares para comandos menos frequentes.
jxramos
-1

Eu segui este post do blog e ele fez as ligações de teclas "home" e "end", além de alguns outros ajustes úteis.

niaher
fonte
2
Gostamos que as respostas sejam mais do que apenas uma única linha. Idealmente, você quer explicar por que a sua resposta é * certo "Ela também ajuda a fornecer links, citações, e / ou capturas de tela Por favor reveja nossa seção de ajuda.. Como responder em escrever boas respostas para perguntas
Allan