Ctrl+Backspace inserts a small box instead of erasing
When I press Ctrl+Backspace, sometimes a small square is inserted, instead of the entire word being erased.
The problem only happens in some text boxes; in others the shortcut works like it should.
-
Start menu search box: works
-
Notepad: doesn’t work
-
Notepad2: works
-
Firefox: works
I’m running Windows 7 x64.
You can fix this behavior by overriding the Ctrl+Backspace shortcut using AutoHotkey. Save the following code in a plain text file with the given filename and extension, then launch the script with 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
You may find it easier to download this script file from GitHub, rather than creating the file and pasting in its contents yourself.
To launch this script automatically on startup, add a shortcut to it to the Startup folder in your Start menu, as described in How to Make a Program Run at Startup on Any Computer.
The basic idea of the script is this:
^Backspace:: Send ^+{Left}{Backspace}
This changes the Ctrl+Backspace shortcut in all programs so that it is equivalent to pressing Ctrl+Shift+←, to select the previous word, and then Backspace, to delete it.
This select-and-delete workaround, while better than typing a box, is brittle. It’s safer to not enable this shortcut in programs in which Ctrl+Backspace already works. That’s why I use #IfWinActive
to limit the hotkey to only programs that I know don't support that shortcut.
The "box" you're seeing is what is known as a control character. The box is displayed because, as you've discovered, not all programs handle the ctrl+backspace to remove a word.
This control character is one of 33 "non-printing" characters in the 128 character ASCII character-encoding scheme.