2

Клавиши Insert и Caps Lock просто мешают. Этот вопрос суперпользователя спрашивает, как отключить Insert , но, похоже, для Windows 7, потому что он ничего не делает для меня в Windows 8.1. Я был в состоянии отключить Caps Lock используя эту запись реестра:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,3a,00,00,00,00,00

но предлагаемое решение:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Value Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,52,e0,00,00,00,00

продолжает перезаписывать текст в различных текстовых редакторах даже после перезагрузки. Чтобы было ясно, я хотел бы отключить ОБА Caps Lock и Insert , в идеале в одном разделе реестра.

2 ответа2

0

Вам необходимо указать три записи на карте, как описано в разделе Сканирование кода для клавиатур.

Например, я использую следующее переназначение на моей Windows 8.1 (но начиная с XP ): CapsLock ведет себя так же, как LShift, и его функциональность переназначается на ScrollLock ; конечно, последняя функциональность потеряна, т.е. ScrollLock теперь ведет себя так же, как и CapsLock перед всеми переназначениями. Это отображение отображается в реестре следующим образом:

==> reg query "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
    Scancode Map    REG_BINARY    0000000000000000030000002A003A003A00460000000000

то есть с точки зрения экспорта редактора реестра:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,2a,00,3a,00,3a,00,46,00,\
  00,00,00,00

Описание: (следующая таблица содержит эти записи, разбитые на столбцы DWORD (формат с прямым порядком байтов сохранен), а слова описаны в шестнадцатеричном формате, т. Е. Поменяны местами)

00,00,00,00 ,00,00,00,00 ,03,00,00,00 ,2a,00,3a,00 ,3a,00,46,00 ,00,00,00,00
00000000     00000000     03000000     2A003A00     3A004600     00000000
│            │            │            │            │            │
│            │            │            │            │            └─ Null terminator
│            │            │            │            │
│            │            │            │            ├─ ScrollLock -> CapsLock
│            │            │            │            ╘═     0x0046 -> 0x003A
│            │            │            │
│            │            │            ├─ CapsLock -> LShift
│            │            │            ╘═   0x003A -> 0x002A
│            │            │
│            │            └─ Three entries in the map (including null entry)
│            │
│            └─ Header: Flags. Set to all zeroes.
│
└─ Header: Version. Set to all zeroes.

Прочитайте внутренние коды сканирования клавиатуры и спецификацию кода сканирования клавиатуры Microsoft для значения кода вставки ключа сканирования. Я бы сказал 0xE052 , однако , не может видеть смысл следующей ноты (применительно к Insert, Delete, стрелки и т.д.):

Эти клавиши могут иметь дополнительные коды сканирования «сдвиг» и / или «без сдвига», предшествующие коду «Базовое изготовление» и после кода «Базовый разрыв», в зависимости от текущего состояния Num Lock и состояния клавиш Shift / s (когда удерживаются несколько клавиш). вниз в то же время).

0

Вы можете отключить вставку в самом текстовом редакторе. Например:

  • Notepad++, Настройки> Отображение ярлыков> Команды Scintilla, измените SCI_EDITTOGGLEOVERTYPE на None и нажмите Apply
  • Visual Studio, Инструменты> Параметры> Среда> Клавиатура, удалите ярлык привязки для Edit.OvertypeMode
  • Eclipse, Windows> «Установки»> «Основные»> «Ключи», найдите команду « Toggle Overwrite в категории « Text Editing и нажмите « Unbind command

Не стесняйтесь расширять список выше, если вы знаете основные текстовые редакторы, которые предлагают возможность удалить Вставить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .