"Ctrl + space" foi chamado para chamar algum método de entrada e não funciona no Emacs ou no Eclipse auto-complete


80

No Emacs executado no terminal, ctrl+ spaceé uma tecla de atalho padrão para selecionar a região. Mas no Ubuntu 12.04, ele invocará algum método de entrada para o idioma não inglês. Eu queria saber se posso reservá-lo apenas para o Emacs?

Abaixo System Settings -> Keyboard -> Shortcuts, não consegui encontrar o que ctrl+ spacefoi vinculado. Estranho.

Outros programas, especialmente o preenchimento automático no Eclipse, também parecem ter um problema ao lidar com o ctrl+ space.

Respostas:


119

Parece que você tem o Ibus em execução, que usa Ctrl+ Spacepor padrão para ativar / desativar o editor de entrada.

Você pode alterar a tecla de atalho atribuída a ele nas Preferências do Ibus.

insira a descrição da imagem aqui

Se o Ibus estiver em execução na barra de menus, clique com o botão direito do mouse para escolher Preferências no menu. Se o Ibus não estiver em execução na barra de menus, você poderá iniciar a caixa de diálogo Preferências no Dash executando Métodos de entrada do teclado ou no terminal com ibus-setup.

Atualização para 14.04

ibus-setupnão está mais disponível para 14.04. As funções anteriores ibus-setupsão integradas nas Configurações do sistema >> Entrada de texto .

A troca de entrada agora está definida por padrão como Super+ Space, mas o Ibus ainda pode roubar o foco da combinação de teclas Control+ Spacee causar outros problemas do sistema, principalmente o preenchimento automático no Eclipse.

A integração da troca de entrada do Ibus nas novas configurações de Entrada de texto ainda está em andamento, e isso está causando o problema, pois a configuração mais antiga ainda existe nos bastidores.

Se você atualizou a partir do 12.04, ibus-settingsainda deve estar disponível.

No 14.04, você pode editar as configurações diretamente dconf-editor.

Se não estiver instalado:

sudo apt install dconf-editor

Em seguida, navegue até Desktop >> ibus >> general >> tecla de atalho . A configuração triggere triggersainda mostrará 'controle + espaço'. Editar essas configurações para fora, tendo o cuidado de deixar colchetes vazios []no triggers.


3
Este autocomplete também fixo não funciona no Eclipse depois de eu atualizado para xubuntu 14,04
Brian Laframboise

Meu ibus-setupem 14.04 é um pouco diferente e não tem essa opção.
BoppreH

O @BoppreH 14.04 mudou um pouco a configuração do ibus. Eu vou dar uma olhada. Obrigado.
chaskes

4
dconf-editorcorrigido meu problema, muito obrigado @chaskes.
BoppreH

2
@BoppreH Fico feliz que deu certo. Voto por favor (se você não tiver feito isso). ;)
chaskes

10

Desative o gatilho IBUS usando a linha de comando:

gsettings set org.freedesktop.ibus.general.hotkey triggers @as []

Ou, se isso não funcionar, tente se o primeiro produz um erro:

gsettings set org.freedesktop.ibus.general.hotkey triggers []

1
O segundo comando funcionou para mim em uma versão personalizada corporativa do Ubuntu 14.04 (goobuntu), que corrigiu o problema do meu emacs copy / yank ou copy / paste.
Rrenaud 7/07

O segundo comando corrigiu isso para mim, e agora está no meu script de instalação para configurar os desktops ubuntu recém-instalados. Obrigado, askubuntu!
Mnebuerquo

5

ibus não me causa nada além de dores de cabeça. Sempre que tento alterar as configurações, quando reinicializo, o Ctrl + Space volta. Aqui está a minha solução:

sudo apt-get purge ibus
sudo killall ibus

Agora tudo funciona até o Ubuntu decidir sua próxima coisa estúpida. Talvez a letra 'o' seja mapeada para desligar o computador?


Eu apenas tentei isso (Ubuntu 14.04.3 LTS). Isso não ajudou.
Keith Thompson

CORREÇÃO: Ou isso, ou alterar as preferências IBUS, ou correr dconf-editor, fez trabalho. Eu estava testando digitando Ctrl-V Ctrl-Space no bash; por algum motivo, o bash não estava aceitando. Mas Ctrl-Space está gerando um caractere nulo.
Keith Thompson

2

Após a atualização para o ubuntu 14.04, tive o mesmo problema. O que eu fiz.
Nas preferências IBUS: System > Preferences > Keyboard Input Methods.
Existe uma opção: Next input methodfoi definido como ctrl + space, eu o removi e, em seguida, todos começaram a trabalhar novamente.


1

Ubuntu Studio 14.04 (XFCE) aqui. Não tive problemas com o preenchimento automático ( Ctrl + Space), mas com a linha de cópia ( Ctrl + Alt + Down).

Isso funcionou para mim:

  • Abra o Windows Manager: xfwm4-settings
  • Vá para a guia Teclado
  • Role para baixo até Ação conflitante
  • Pressione o botão Limpar ou altere a ação para um atalho diferente

Obrigado! Isso também pode ser feito na linha de comando xfconf-query -c xfce4-keyboard-shortcuts -r -p " /xfwm4/custom/<Primary><Alt>Up" ; xfconf-query -c xfce4-keyboard-shortcuts -r -p " /xfwm4/custom/<Primary><Alt>Down" ; xfconf-query -c xfce4-keyboard-shortcuts -r -p " /xfwm4/custom/<Primary><Alt>Left" ; xfconf-query -c xfce4-keyboard-shortcuts -r -p " /xfwm4/custom/<Primary><Alt>Right".
Stéphane Gourichon

0

Eu tenho o Ubuntu 14.04 GNOME com LXDE. Aparentemente, esta área de trabalho possui ibus-setup. Então, para mim, alterar a configuração do ibus foi a solução certa. Talvez tenha sido apenas a Unity que acabou com o aplicativo ibus-setup.


1
Sim, é uma coisa da Unity.
Gunnar Hjalmarsson

0

A dconf-editormudança não foi suficiente para mim. Eu tenho a fonte de entrada Mozc (japonesa) instalada.

No Ubuntu 16.04, eu também tinha que:

  1. Vá para Configurações do sistema -> Entrada de texto
  2. Clique em Mozc para destacar
  3. Clique no ícone de chave inglesa / chave de fenda abaixo
  4. Guia Configuração Global
  5. A primeira configuração, "Trigger Input Method", foi CTRL_SPACE. Cliquei e pressionei Escapepara desmarcar a combinação de teclas.

0

Para algumas pessoas que usam entrada japonesa com fcitx, verifique Fcitx Configuration. Há um menu para configuração global e Trigger Input Method, abaixo , o atalho padrão será Ctrl+ Space.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.