Ctrl + Retroceso inserta un pequeño cuadro en lugar de borrar

40

Cuando presiono Ctrl+ Backspace, a veces se inserta un pequeño cuadrado, en lugar de borrar toda la palabra. Si copio y pego el personaje aquí, obtengo esto: ``. Pero no se ve así en el cuadro de texto: solo hay un rectángulo blanco con un borde negro de 1px.

El problema solo ocurre en algunos cuadros de texto; en otros, el atajo funciona como debería.

  • Cuadro de búsqueda del menú de inicio: funciona
  • Bloc de notas: no funciona

    pequeño cuadro creado desde Ctrl + Retroceso en el Bloc de notas

  • Notepad2: funciona
  • Firefox: funciona

Estoy ejecutando Windows 7 x64.

Rory O'Kane
fuente
1
Me sale el mismo comportamiento en el bloc de notas en WinXP.
djhowell
2
También obtengo este comportamiento al cambiar el nombre de un archivo en el Explorador de archivos en Windows 7. Es decir, cuando selecciono un archivo, presiono F2, muevo el cursor al final de la palabra que quiero eliminar e intento Ctrl+ Backspace.
Rory O'Kane

Respuestas:

25

Puede corregir este comportamiento anulando el acceso directo Ctrl+ Backspaceusando AutoHotkey . Guarde el siguiente código en un archivo de texto sin formato con el nombre de archivo y la extensión dados, luego inicie el script con 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

Puede que le resulte más fácil descargar este archivo de secuencia de comandos desde GitHub , en lugar de crear el archivo y pegar su contenido usted mismo.

Para iniciar este script automáticamente al inicio, agregue un acceso directo a la carpeta Inicio en su menú Inicio, como se describe en Cómo hacer que un programa se ejecute al iniciar en cualquier computadora .

La idea básica del guión es esta:

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

Esto cambia el acceso directo Ctrl+ Backspaceen todos los programas para que sea equivalente a presionar Ctrl+ Shift+ , para seleccionar la palabra anterior y luego Backspaceeliminarla.

Esta solución alternativa de seleccionar y eliminar, aunque es mejor que escribir un cuadro, es frágil. Es más seguro no habilitar este acceso directo en los programas en los que Ctrl+ Backspaceya funciona. Es por eso que uso #IfWinActivepara limitar la tecla de acceso rápido a solo los programas que sé que no admiten ese acceso directo.

Rory O'Kane
fuente
19

La "caja" que estás viendo es lo que se conoce como un personaje de control . El cuadro se muestra porque, como ha descubierto, no todos los programas manejan la tecla ctrl + retroceso para eliminar una palabra.

Este carácter de control es uno de los 33 caracteres "sin impresión" en el esquema de codificación de caracteres ASCII de 128 caracteres .

Jared Harley
fuente
Solo quería agregar que algunas aplicaciones lo manejan aún peor y en realidad no muestran el carácter de control. Puede ver esto cuando no sucede nada ctrl+backspacey presionar eliminar parece no hacer nada. Creo que el bloc de notas para Vista hizo esto.
Joshua el
55
El carácter insertado es 127: el carácter de eliminación.
1
Enlace a ASCII char 127, el personaje de eliminación , en Wikipedia
Rory O'Kane
Esto explica el obvio 'qué', pero no 'por qué' :-(
mafu
14

Encontré esto en un blog de MSDN ...

Algunas personas en los primeros días del grupo de Internet Explorer usaron el editor Breve, que usa Ctrl + Retroceso como la tecla de acceso directo para eliminar la palabra anterior, y les gustó tanto que uno de ellos lo agregó al controlador de autocompletado. Por lo tanto, cualquier control de edición que use SHAutoComplete obtendrá esta tecla de acceso rápido secreta Ctrl + Retroceso.

Por lo tanto, parece que si la aplicación no utiliza SHAutoComplete, no admitirá la función a menos que el autor de la aplicación la haya agregado explícitamente.

PS control-delete elimina la palabra delante del cursor

djhowell
fuente
1
También en este mismo artículo, leer los comentarios agrega un poco más de información: blogs.msdn.com/oldnewthing/archive/2007/10/11/…
heavyd
0

No todas las aplicaciones manejan los atajos de teclado de la misma manera. El Bloc de notas no parece manejar esta combinación de teclas y la maneja a su manera.

th3dude
fuente