Ctrl + Backspace insere uma pequena caixa em vez de apagar


40

Quando pressiono Ctrl+ Backspace, às vezes um pequeno quadrado é inserido, em vez da palavra inteira ser apagada. Se eu copiar e colar o caractere aqui, eu recebo isto: ``. Mas não é bem assim na caixa de texto - existe apenas um retângulo branco liso com uma borda preta de 1px.

O problema só acontece em algumas caixas de texto; em outros, o atalho funciona como deveria.

  • Caixa de pesquisa do menu Iniciar: funciona
  • Bloco de notas: não funciona

    pequena caixa criada a partir de Ctrl + Backspace no bloco de notas

  • Notepad2: funciona
  • Firefox: funciona

Estou executando o Windows 7 x64.


1
Eu obtenho o mesmo comportamento no bloco de notas no WinXP.
djhowell

2
Eu também recebo esse comportamento ao renomear um arquivo no Gerenciador de arquivos no Windows 7. Ou seja, quando eu seleciono um arquivo, pressione F2, mova o cursor para o final da palavra que desejo excluir e tente Ctrl+ Backspace.
Rory O'Kane

Respostas:


24

Você pode corrigir esse comportamento substituindo o atalho Ctrl+ Backspaceusando o AutoHotkey . Salve o seguinte código em um arquivo de texto simples com o nome de arquivo e a extensão fornecidos e, em seguida, inicie o script com o AutoHotkey:

FixCtrlBackspace.ahk

; how to write scripts: http://www.autohotkey.com/docs/

#IfWinActive ahk_class CabinetWClass ; File Explorer
    ^Backspace::
#IfWinActive ahk_class Notepad
    ^Backspace::
    Send ^+{Left}{Backspace}
#IfWinActive

; source and context: http://superuser.com/a/636973/124606

; relevant documentation links:
; writing hotkeys
; http://www.autohotkey.com/docs/Hotkeys.htm
; list of key codes (including Backspace)
; http://www.autohotkey.com/docs/KeyList.htm
; the #IfWinActive directive
; http://www.autohotkey.com/docs/commands/_IfWinActive.htm
; the Send command
; http://www.autohotkey.com/docs/commands/Send.htm

Você pode achar mais fácil baixar esse arquivo de script do GitHub , em vez de criar o arquivo e colar em seu conteúdo.

Para iniciar esse script automaticamente na inicialização, adicione um atalho a ele na pasta Inicializar no menu Iniciar, conforme descrito em Como executar um programa na inicialização em qualquer computador .

A ideia básica do script é esta:

^Backspace:: Send ^+{Left}{Backspace}

Isso altera o atalho Ctrl+ Backspaceem todos os programas de modo que seja equivalente a pressionar Ctrl+ Shift+ , para selecionar a palavra anterior e Backspace, em seguida , excluí-la.

Essa solução alternativa de seleção e exclusão, embora melhor do que digitar uma caixa, é frágil. É mais seguro não ativar este atalho em programas nos quais o Ctrl+ Backspacejá funciona. É por isso que costumo #IfWinActivelimitar a tecla de atalho a apenas programas que conheço que não suportam esse atalho.


19

A "caixa" que você está vendo é o que é conhecido como um caractere de controle . A caixa é exibida porque, como você descobriu, nem todos os programas manipulam o ctrl + backspace para remover uma palavra.

Esse caractere de controle é um dos 33 caracteres "não imprimíveis" no esquema de codificação de caracteres ASCII de 128 caracteres .


Só queria acrescentar que alguns aplicativos lidam com isso ainda pior e, na verdade, não exibem o caractere de controle. Você pode ver isso quando nada acontece ctrl+backspacee pressionando delete parece não fazer nada. Eu acho que o bloco de notas para o Vista fez isso.
Joshua

5
O personagem inserido é 127 - o caractere de exclusão.


Isso explica o óbvio "o que", mas não "por que" :-(
mafu

13

Encontrei isso em um blog do MSDN ...

Algumas pessoas nos primeiros dias do grupo do Internet Explorer usaram o editor Brief, que usa Ctrl + Backspace como a tecla de atalho para excluir a palavra anterior, e gostaram tanto que uma delas a adicionou ao manipulador de preenchimento automático. Portanto, qualquer controle de edição que use SHAutoComplete ganhará essa tecla de atalho secreta Ctrl + Backspace.

Portanto, parece que se o aplicativo não usar o SHAutoComplete, ele não suportará o recurso, a menos que tenha sido explicitamente adicionado pelo autor do aplicativo.

PS-delete-controle remove a palavra à frente do cursor


1
Também neste mesmo artigo, a leitura através dos comentários acrescenta um pouco mais insight: blogs.msdn.com/oldnewthing/archive/2007/10/11/...
heavyd

0

Nem todos os aplicativos lidam com os atalhos de teclado da mesma forma. O bloco de notas não parece lidar com essa combinação de teclas e lida com ela de maneira própria.

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.