Ctrl + Backspace вставляет небольшое поле вместо стирания

при нажатии Ctrl+Backspace, иногда вставляется небольшой квадрат вместо того, чтобы стереть все слово. Если я копирую и вставляю символ здесь, я получаю это`". Но это не совсем так в текстовом поле – это просто белый прямоугольник с черной рамкой 1px.

проблема возникает только в некоторых текстовых полях; в других ярлык работает так, как должен.

  • окне поиска меню "Пуск" : работает
  • Блокнот: не работа

    small box created from Ctrl+Backspace in Notepad

  • Notepad2: строительство
  • в Firefox: работает

Я использую Windows 7 x64.

17
задан Rory O'Kane
10.04.2023 10:10 Количество просмотров материала 3679
Распечатать страницу

4 ответа

вы можете исправить это поведение, переопределив Ctrl+Backspace ярлык с помощью AutoHotkey. Сохраните следующий код в текстовом файле с указанным именем файла и расширением, затем запустите скрипт с 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

вы можете найти его легче скачать этот файл сценария с GitHub, а не создавать файл и вставить его содержимое в себя.

в запустите этот скрипт автоматически при запуске, добавьте ярлык к нему в папку автозагрузки в меню Пуск, как описано в как заставить программу запускаться при старте на любом компьютере.

основная идея скрипта такова:

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

Это меняет Ctrl+Backspace ярлык во всех программах, так что это эквивалентно нажатию Ctrl+Shift+, чтобы выбрать предыдущее слово, а потом Backspace, чтобы удалить его.

выберите и удалить временное решение, пока лучше не вводить в окно, хрупкий. Безопаснее не включать этот ярлык в программах, в которых Ctrl+Backspace уже работает. Вот почему я использую #IfWinActive чтобы ограничить горячую клавишу только программами, которые, как я знаю, не поддерживают этот ярлык.

23
отвечен Rory O'Kane 2023-04-11 17:58

"коробка" вы видите то, что известно как управление персонажем. Это поле отображается, поскольку, как вы обнаружили, не все программы обрабатывают ctrl+backspace для удаления слова.

этот персонаж является одним из 33 "непечатаемых" символов в 128 символов ASCII схема кодировки символов.

15
отвечен Jared Harley 2023-04-11 20:15

нашел это на MSDN блог...

несколько человек в первые дни группы Internet Explorer использовали Краткий редактор, который использует Ctrl + Backspace в качестве клавиши быстрого доступа для удаления предыдущего слова, и им это так понравилось, что один из них добавил его в обработчик автозаполнения. Поэтому любой элемент управления редактированием, использующий SHAutoComplete, получит эту секретную горячую клавишу Ctrl+Backspace.

Так это звучит, как если приложение не использует SHAutoComplete он не будет поддерживать эту функцию, если она не была явно добавлена автором приложения.

П. С. контроль-delete удаляет слово перед курсором

9
отвечен djhowell 2023-04-11 22:32

не все приложения обрабатывают сочетания клавиш одинаково. Блокнот, похоже, не обрабатывает эту комбинацию клавиш и обрабатывает ее по-своему.

0
отвечен th3dude 2023-04-12 00:49

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх