Я только что сделал чистую установку Windows 10 на новый ПК. Ctrl+Backspace не удаляет слово слева от каретки ни в одной программе (Блокнот, Chrome [адресная строка и текстовые поля, такие как эта), поиск Windows и т.д.). С другой стороны, Ctrl+Delete работает и удаляет слово справа от каретки. Alt+Delete (восстановить последнее удаленное слово) работает в некоторых местах (Блокнот), но не в других (Chrome, поиск Windows).
Не знаю, актуально ли это, но я также установил вторую схему клавиатуры на португальском языке. Я не помню, использовал ли я команду до установки второй схемы, но команда не работает ни на одном языке.
Я думал об установке AutoHotKey, чтобы решить эту проблему, но, учитывая стандартную функцию этой команды, она действительно не должна быть необходимой.
РЕДАКТИРОВАТЬ: @Leathe предложил в комментариях тестировать экранную клавиатуру, чтобы увидеть, если это работает. Оно делает. Это подразумевает, что проблема в клавиатуре. Однако это явно не тривиальная аппаратная проблема (например, сломанный ключ), поскольку каждый из ключей работает правильно: Backspace удаляет букву слева от каретки и удаляет файлы в Проводнике; Ctrl изменяет поведение других клавиш (Ctrl+Delete, Ctrl+C, Ctrl+V - все работает как положено). Это просто совокупность того, что не ведет себя должным образом.
РЕДАКТИРОВАТЬ 2: Использование кодов сканирования клавиш Я проверил, как ПК получает нажатия клавиш при вводе этих комбинаций клавиш, и обнаружил очень странное поведение.
Вот вывод программы для Ctrl+C:
OnKeyDown, Key code=17, Control keys= Ctrl{Left}, Key name CTRL
OnKeyDown, Key code=67, Control keys= Ctrl{Left}, Key name c
OnKeyPress
OnKeyup, Key code=67, Control keys= Ctrl{Left}, Key name c
OnKeyup, Key code=17, Control keys=, Key name CTRL
Это то же самое для любой другой комбинации (очевидно, замена второй и четвертой строк на соответствующую клавишу), за исключением Ctrl+Backspace, который выводит
OnKeyDown, Key code=17, Control keys= Ctrl{Left}, Key name CTRL
OnKeyup, Key code=17, Control keys=, Key name CTRL
OnKeyDown, Key code=17, Control keys= Ctrl{Left}, Key name CTRL
OnKeyup, Key code=17, Control keys=, Key name CTRL
где вторая и четвертая строки появляются, когда я нажимаю клавишу Backspace. По какой-то причине эта конкретная комбинация заменяет Backspace действием «поднял клавишу Ctrl ».
На самом деле, если я удерживаю любую комбинацию, программа отображает
OnKeyDown, Key code=17, Control keys= Ctrl{Left}, Key name CTRL
OnKeyDown, Key code=67, Control keys= Ctrl{Left}, Key name c
OnKeyPress
OnKeyDown, Key code=67, Control keys= Ctrl{Left}, Key name c
OnKeyPress
OnKeyup, Key code=67, Control keys= Ctrl{Left}, Key name c
OnKeyup, Key code=17, Control keys=, Key name CTRL
где OnKeyDown/OnKeyPress
для C повторяются до тех пор, пока обе клавиши нажаты . Тем не менее, если я удерживаю Ctrl+Backspace, все, что я получаю, это один экземпляр
OnKeyDown, Key code=17, Control keys= Ctrl{Left}, Key name CTRL
OnKeyup, Key code=17, Control keys=, Key name CTRL
То есть, что касается ПК, я на самом деле ничего не нажимаю.
Я действительно не уверен, как решить это. Я даже не думаю, что AutoHotKey будет работать в этой ситуации, поскольку кажется, что комбинация Ctrl+Backspace просто не отображается на компьютере.