Ctrl + Backspace insere uma pequena caixa em vez de apagar

33

Quando pressiono Ctrl + Backspace , às vezes um pequeno quadrado é inserido, em vez da palavra inteira ser apagada. Se eu copiar e colar o personagem aqui, eu recebo isto: ''. Mas não é bem assim na caixa de texto - há apenas um retângulo branco simples 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

  • Notepad2: funciona
  • Firefox: funciona

Estou executando o Windows 7 x64.

    
por Rory O'Kane 31.08.2009 / 22:04

4 respostas

23

Você pode corrigir esse comportamento substituindo o atalho Ctrl + Backspace usando 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 este arquivo de script do GitHub , em vez de criar o arquivo e colar em seu conteúdo você mesmo.

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

A ideia básica do script é esta:

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

Isto muda o atalho Ctrl + Backspace em todos os programas, de modo que seja equivalente a pressionar Ctrl + Shift + , para selecionar a palavra anterior e, em seguida, Backspace , para apagá-la.

Esta solução alternativa de seleção e exclusão, embora seja melhor do que digitar uma caixa, é frágil. É mais seguro não ativar este atalho em programas nos quais o Ctrl + Backspace já funciona. É por isso que eu uso #IfWinActive para limitar a tecla de atalho para apenas programas que eu conheço não suportam atalho.

    
por 26.08.2013 / 23:14
15

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.

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

    
por 31.08.2009 / 22:15
9

Encontrei isso em um blog do MSDN ...

A few people in the early days of the Internet Explorer group used the Brief editor, which uses Ctrl+Backspace as the shortcut key to delete the previous word, and they liked it so much that one of them added it to the autocomplete handler. Therefore, any edit control that uses SHAutoComplete will gain this secret Ctrl+Backspace hotkey.

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.

P.S. control-delete remove a palavra à frente do cursor

    
por 31.08.2009 / 22:13
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 da mesma maneira.

    
por 31.08.2009 / 22:11