Eu não posso dizer exatamente como isso aconteceu. Ontem, pressionei CTRL + C para copiar um URL de uma página da web exibida no Firefox, e parece que toquei em algo que não era CTRL + C e o Firefox carregou uma nova aba com a home page. Desde então, apenas pressionando CTRL , o Firefox carrega a página inicial. Hoje descubro que pressionar CTRL em uma janela do Nautilus carrega meu diretório pessoal.
Isso está me causando problemas quando eu quero copiar algo como eu usei para CTRL + C , CTRL + V keys.
Depois de ler este Como posso restaurar os atalhos de teclado padrão? , Eu olhei para esses locais usando o dconf-editor:
org.gnome.settings-daemon.plugins.media-keys
org.compiz.integrated
org.gnome.desktop.wm.keybindings
org.gnome.shell.keybindings
Mas não encontrei nenhum mapeamento de entrada CTRL sozinho.
Onde esse mapeamento de chave pode ser?
Atualização: tentei criar um atalho vazio em System->Keyboard->Shortcuts
e tentei atribuir um comando vazio como sh -c ""
, para ver se o problema desaparece, mas isso não tem efeito. Se eu pressionar a tecla CTRL enquanto o novo atalho estiver aguardando a gravação da combinação de teclas, ele registrará <Primary>HomePage
em org.gnome.settings-daemon.plugins.media-keys
in dconf-editor
. Eu tentei substituir isso com <Ctrl>
ou <Primary>
ou HomePage
usando dconf-editor
, mas nada muda. Também coloque <Ctrl>
sozinho não parece válido porque quando eu olho novamente em Keyboard->Shortcuts
, o valor Disabled
é mostrado no meu atalho personalizado.
Atualização: tentei redefinir tudo usando o comando:
gsettings reset-recursively <insert location>
Alterando <insert location>
para todos os quatro locais conhecidos onde as combinações de teclas são armazenadas, executando o comando uma vez por localização. Sem efeito, a tecla CTRL ainda carrega a página inicial e o diretório home. Onde mais posso olhar?
Se eu rodar o xev e pressionar a tecla esquerda, eu obtenho isto:
KeyPress event, serial 34, synthetic NO, window 0x4c00001,
root 0x290, subw 0x0, time 5826943, (952,482), root:(952,534),
state 0x10, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x4c00001,
root 0x290, subw 0x0, time 5826947, (952,482), root:(952,534),
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4c00001,
root 0x290, subw 0x0, time 5827041, (952,482), root:(952,534),
state 0x14, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4c00001,
root 0x290, subw 0x0, time 5827047, (952,482), root:(952,534),
state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 37, synthetic NO, window 0x4c00001,
mode NotifyNormal, detail NotifyNonlinear
PropertyNotify event, serial 37, synthetic NO, window 0x4c00001,
atom 0x13a (_NET_WM_STATE), time 5858181, state PropertyNewValue
O Keycode 37 é o mesmo que qualquer outro dos meus PCs que executam o Linux. Mas o Key 180 mostra apenas neste PC. O que é o XF86HomePage? E como é mapeado para CTRL apenas pressionando alguma combinação de teclas?
Isso elimina o comportamento irritante da tecla CTRL:
xmodmap -e "keycode 180 = "
Mas eu li que terei problemas para executá-lo em todas as inicializações, pois agora o Ubuntu usa xkb. xmodmap permanente no Ubuntu 13.04
O que eu não consigo entender é porque só porque eu pressionei alguma combinação de teclas por erro agora minha tecla CTRL esquerda envia um código de tecla 37 imediatamente seguido por um código de tecla 180.
Eu comecei a pensar que isso não foi desencadeado por uma combinação acidental de teclas, pode ter sido introduzido com alguma atualização, eu lembro que estava baixando atualizações quando a tecla CTRL Esquerda começou a se comportar de maneira estranha .
Acho que isso está relacionado: link
Meu teclado também é USB, talvez essa pergunta tenha sido feita há um ano, mas o problema é muito parecido, com uma única tecla gerando mais de um único código de tecla. Talvez o teclado exato não tenha sido afetado há um ano, mas alguma atualização o quebrou agora. Outra possibilidade é a falha de hardware, vou tentar outro teclado e reportar de volta.
Confirmado. Somente meu teclado Genius USB gera o código de acesso 37 imediatamente seguido por um código de tecla 180. Eu conectei um teclado Xtreme USB ao painel frontal e confirmei usando xev que este teclado não gera nenhum código de tecla diferente do 37 quando eu pressiono o botão esquerdo Tecla CTRL .
Agora, tenho certeza, como eu uso constantemente a combinação CTRL + C para copiar texto, que esse teclado Genius não fez isso antes. Talvez tenha acabado de quebrar. Eu responderei a esta pergunta assim que eu descobrir como posso desabilitar o keycode 180 sem ter que rodar o xmodmap o tempo todo.