Como fazer os atalhos de teclado como o macOS no Ubuntu?

9

Já vi muitas perguntas sobre isso, mas todas parecem fazer um remapeamento das chaves, em vez de um comportamento real do macOS.

Meu principal caso de uso seria "dividir" os atalhos: por exemplo, eu gostaria de ter Super + C para copiar texto e Ctrl + C para enviar um SIGINT para o programa atual.

Nesse caso, um simples remapeamento ou troca de Super e Ctrl não funcionaria.

Eu acho o comportamento do mac muito prático, porque todos os atalhos mais comuns usam Super , e o famoso atalho copy não se sobrepõe ao famoso < em> SIGINT atalho.

A maioria dos aplicativos de terminal reage aos atalhos Ctrl - *, e eles geralmente se sobrepõem aos atalhos "padrão". No Terminal GNOME, temos que pressionar Ctrl + Deslocar + C para copiar o texto, enquanto em outros aplicativos como o Firefox, Ctrl + C é usado. Isto é bastante complicado e inconsistente em comparação com Super + C .

    
por Benoit Duffez 05.12.2016 / 14:34

3 respostas

0

Você pode conseguir usar os comandos xmodmap:

remove mod4 = Super_L
keysym Super_L = Control_L
add Control = Control_L

Salve as linhas acima como super_as_ctrl.xmodmap . Teste executando

xmodmap super_as_ctrl.xmodmap

Para tornar a alteração permanente (sobreviver ao novo login / reinicialização) basta renomear o arquivo para .Xmodmap em sua pasta pessoal.

(testado no Ubuntu 14.x)

PS: Você também pode usar outro botão do Windows. Não sei como fazer isso.

    
por abhinandanbr 08.09.2017 / 12:26
0

Para criar um novo atalho e excluir os antigos, basta ir para configurações do sistema > > teclado > > atalhos . Lá você pode ver todos os atalhos, editá-lo, excluí-lo e criar novos.

    
por Aarogya Rijal 11.09.2017 / 04:04
0

Os seguintes dados residem no meu $HOME/.uxSwapCapsLock-and-Ctrl . Ele efetivamente troca a funcionalidade das teclas CapsLock e Ctrl de qualquer shell em uso em qualquer sistema Linux sempre que eu fizer login, e inicia uma sessão interativa dentro de um shell, em um determinado sistema. Tenho certeza que você pode aprender sobre o nome da chave pertinente que você está tentando modificar, e são referidos pelo xmodmap, para obter a funcionalidade que você deseja. Esse código é iniciado toda vez que eu faço login e tenho uma sessão interativa via .profile, mas ele mora em um arquivo .ps1 para esse propósito.

#!bin/bash
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "remove Control = Control_L"
xmodmap -e "keysym Control_L = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Control_L"
xmodmap -e "add Lock = Caps_Lock"
xmodmap -e "add Control = Control_L"
#End script

Esta é a verificação .profile para que a troca ocorra:

if [ -f  "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
   .  $HOME/.uxSwapCapsLock-and-Ctrl
fi
    
por user261380 03.10.2017 / 21:36