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.
Best Answer
It's 0x7F "Delete" in ASCII and U+007F "Delete" in Unicode.
It's in fact lack of an implementation. Plain Backspace sends an ASCII 0x08 (I'm not sure how the Edit control handles it internally), and it is not uncommon in various operating systems for CtrlBackspace to send the "Delete" sequence.
The "delete word" behavior was added later, as an undocumented feature, and only to those Edit controls which use "SHAutoComplete". If a textbox has autocompletion disabled, CtrlBackspace will likely not work.
(
SomeMany programs implement their own text editing controls, which work slightly differently from the built-in one.)CtrlJ and CtrlM will get translated to a newline (
^J
is CR in ASCII and^M
is LF; however, the Edit control translates both keypresses to CR+LF.) Similarly, CtrlI inserts a Tab character.Ctrl_ and Ctrl^ will result in somewhat useless "Unit separator" (
^_
) and "Record separator" (^^
).(The
^X
notation means the Ctrl key – Ctrl-X in this example – in ASCII this is equivalent to unsetting the 7th bit of the following character.)No, but you can use CtrlShift← Left to select the previous word, and overwrite by typing.
Or get a better Notepad.