Анти-функциональность ключа INSERT Windows случайно срабатывает; как это остановить навсегда?

109680
Ira Baxter

Мы все используем средства редактирования, чтобы изменить строку текста, когда мы ее вводим. В строке есть два основных режима редактирования: а) «режим вставки», который вставляет не редактируемые символы в точке курсора и перетасовывает текст вправо, и б) «режим перезаписи», в котором не редактируются символы просто замените любой символ, выбранный курсором.

Режим перезаписи ИМХО оставлен со времен ЭЛТ с зеленым экраном. Единственное использование, которое я когда-либо нашел для этого, - это рисование 2-D изображений в ASCII, которое я прекратил делать еще в 80-х годах, когда стали доступны реальные инструменты для рисования.

Windows (тупо ИМХО) предлагает переключение в режим перезаписи с помощью INSERTклавиши на клавиатуре. (Я предполагаю, что Linux / Unix, вероятно, последуют его примеру в обычной зависти к Windows). Я никогда не нажимаю эту кнопку, потому что она просто переводит меня в режим перезаписи.

Однако, поскольку я печатаю иногда, режим Перезаписи внезапно случается. Я думаю, что это должно быть каким - то странное сочетанием ALT/ Windows/ CTRL/ SHIFTи некоторых других клавишей или два стандартных клавиш с депрессией во время рядом. Кто-нибудь знает, что такое альтернативная последовательность клавиш, чтобы я старался ее избежать? Есть ли способ сказать Windows просто прекратить использовать режим перезаписи?

29
Похоже, что Shift + Numpad0 переводит один в режим вставки. Я думаю, что это фактическая причина моей проблемы. (Кто-нибудь на планете на самом деле * использует * режим вставки?) Ira Baxter 10 лет назад 2
Я хотел бы добавить (хотя это не по теме), что после экспериментов я обнаружил, что это не просто Shift + «Numpad 0». Shift + Numpad, по-видимому, отключает эффект Num Lock, поэтому у нас также есть Shift + period (delete!), 1, 2, 3, 4, 6, 7, 8 и 9, которые выполняют свои другие эквиваленты. Интересно, это специфично для Microsoft Windows, или вообще поддерживается другим программным обеспечением, или, возможно, клавиатурой (которая не требует специальной поддержки программного обеспечения, потому что она обрабатывается кодами сканирования клавиатуры). TOOGAM 9 лет назад 1
Принятое решение не работает для меня в Windows 8.1 (хотя связанный вопрос о том, как отключить «Caps Lock», сработал). AlainD 8 лет назад 0
MS Office отключил ключ по умолчанию после того, как так мало людей его используют. На самом деле иногда мне нужно рисовать 2D-таблицы в ASCII, например, для публикации в stackexchange, но есть инструменты для создания таблицы, поэтому перезапись не требуется в режиме перезаписи. phuclv 7 лет назад 0
«Анти-функциональность». Мне это нравится! Stephen Hosking 6 лет назад 0

7 ответов на вопрос

23
Community

Как отключить вставку ключа в Windows

Почти каждый, кто использовал текстовый процессор, случайно нажал клавишу «Вставить» и перезаписал, когда они думали, что редактируют. В этой статье описывается простой способ отключить клавишу вставки на клавиатуре.

Всякий раз, когда вы нажимаете клавишу, создается сообщение Windows, которое содержит код клавиши, который однозначно идентифицирует нажатую клавишу. Программы (например, Microsoft Word) ищут сообщения нажатия клавиш и выполняют действия на основе кода ключа в сообщении. При сопоставлении события нажатия клавиши вставки со значением NULL окна отправляют сообщение, содержащее значение NULL, для кода клавиши при нажатии клавиши вставки. Поэтому программы, получающие сообщение, не выполняют действия, связанные с событием нажатия клавиши вставки, освобождая вас от необходимости снова беспокоиться о перезаписи.

  1. Перейдите в Пуск → Выполнить → regedit
  2. Перейдите в HKLM \ System \ CurrentControlSet \ Control \ Раскладка клавиатуры
  3. Щелкните правой кнопкой мыши на правой половине экрана и выберите « Создать» → «Двоичное значение».
  4. Назовите новое значение Scancode Map
  5. Введите 000000000000000002000000000052E000000000
  6. Закрыть regedit
  7. Перезагружать.
  8. Необязательно: вы можете убрать клавишу Insert с клавиатуры, когда закончите.

Если вы делаете это с Windows7 regedit, вы должны ввести шестнадцатеричное значение в строках по 8 байт, например:

Value Data: 0000 00 00 00 00 00 00 00 00 0008 02 00 00 00 00 00 52 E0 0010 00 00 00 00 

Источник

Файл реестра (.reg) для применения исправления, как описано выше

Windows Registry Editor Version 5.00  [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,52,e0,00,00,00,00 

Поместите приведенный выше текст в файл с расширением .reg (например:) disable-insert.regи дважды щелкните.

Я никогда не признавал этого. Мой плохой, поэтому "принимаю" сейчас. Ira Baxter 10 лет назад 0
Это можно сделать менее вручную / опасно, используя SharpKeys - см. [Dangph's [answer ниже]] (http://superuser.com/a/721703/148795) rattray 9 лет назад 0
Просто не забудьте перезагрузить компьютер после этого .. pootzko 7 лет назад 1
20
iconoclast

0На цифровой клавиатуре становится, insertкогда num lockвыключен.

Когда вы набираете что-то в приложении MS-DOS, возвращаетесь к середине фразы и нажимаете клавишу TAB, вы переключаетесь в режим перезаписи.

Вы имеете в виду, что клавиша 0 на * цифровой клавиатуре * является клавишей вставки, когда ** num-lock ** выключен. Dennis Williamson 15 лет назад 2
+1 для нажатия Tab. Мне было интересно, почему в Powershell срабатывает overtype ... Это потому, что я постоянно нажимаю "Tab" для автозаполнения binaryfunt 7 лет назад 0
Также убедитесь, что в настройках Powershell установлен флажок «Режим вставки». binaryfunt 7 лет назад 0
Это то, что спасло меня быстро, не тратя больше времени, чем необходимо на любой другой ответ. У меня нет клавиши вставки, и я случайно нажал 0 на цифровой клавиатуре. Я просто ударил еще раз, и бинго-банго, день сохранен. rubynorails 6 лет назад 0
6
TwoHawks

Just figured this one out... Shift+0 on the numeric keypad. I guess I must accidentally tag it while speed typing often enough. Has been throwing me for a long time.

While my addition above may be helpful to some, that wasn't my problem. Anyone stumbling here, if this happens pretty much no matter what app you may be in (i.e., not solely to do with editing in MS Word), save yourself the aggravation of searching to the end of the internet like I have...

Edit:
My personal definitive conclusion is that there is no "other magic key combo" for toggling insert overwrite, period. So therefore the only remaining possibility is that in the course of rapid typing, either due to an imperfect/sloppy stroke combo OR a bounce on the keyboard aiding in such, an unexpected encoding is generated that happens to always trigger ins/ovr toggle. I gather from my personal research that it is more likely due to a keyboard/hardware flaw than a software flaw. If it was a software flaw I think we'd see more posting on the net about it.

I am going to finally try the regedit suggestion posted, and simply try to get over it now.

4
dangph

Use SharpKeys to map Insert to Turn key off. This disables the key and is easier and safer than doing the registry hacks yourself.

Sharpkeys is old (it's designed for Windows 7) but still works on Windows 10.

enter image description here

Я обнаружил SharpKeys пару лет назад (посмотрите на дату вопроса), но не помнил, что задал этот вопрос. Итак, +1 за ответ с отличным ответом. Чувство вины заставило меня принять (только сейчас) гораздо более старый ответ, который я использовал до того, как нашел SharpKeys. Ira Baxter 10 лет назад 0
@ Ира, никаких проблем, спасибо за отзыв :) Одна вещь, которую SharpKeys не сделает, я только что обнаружил, что она не отключит Shift + NumPad0. Я помню, что где-то есть редактор горячих клавиш. Это могло бы помочь. Но я никогда не нажимаю эту комбинацию клавиш случайно, поэтому она не влияет на меня. dangph 10 лет назад 0
За длительное использование (обратите внимание на возраст этого вопроса) я обнаружил, что иногда случайно нажимаю «Shift + NumPad0». Тот факт, что это действительно редко, означает, что мне требуется некоторое время, чтобы распознать его, и, поскольку я нахожусь в режиме вставки с ключом вставки * отключен *, неясно, как выйти снова. В конце концов на ум приходит shift + Numpad0. Редкие события являются худшими для обработки. Итак, мне нужен более сильный ответ. Вздох. Ira Baxter 10 лет назад 0
3
rluks

Я удивлен, что никто не предложил самое простое решение - вынуть физическую клавишу из клавиатуры (например, ножницами, ножом).

enter image description here

Потому что это неприглядно ... binaryfunt 7 лет назад 2
Вы не должны смотреть на клавиатуру в любом случае во время набора ;-) rluks 7 лет назад 0
Пожалуйста, никто не делает этого. bubbleking 7 лет назад 2
Это то, что я сделал, и был счастлив с этим. Я все еще могу случайно нажать Num-0, и это переводит меня в режим вставки. Я должен нажать это снова, чтобы выйти. Stephen Hosking 6 лет назад 0
1
Ronelle Pinard

Перейдите в Файл - Параметры - Дополнительно - Используйте Вставить ключ для вставки - Он все еще будет использоваться, но по гораздо более практической причине, и вы заметите, когда вставили что-то, что вам не нужно :-)

Я предполагаю, что это для какого-то конкретного приложения (возможно, Word)? Речь шла о полном отключении функциональности в Windows. kad81 6 лет назад 0
0
user254694

Один из самых простых способов решить эту проблему, а также дать себе некоторые другие полезные функции, - это переназначить ключ вставки с помощью AutoHotkey .

На моем компьютере с Windows цифровая клавиатура выполняет клавишу вставки, если цифровая клавиатура не заблокирована, поэтому в сценарии AutoHotkey у меня есть следующее:

Numpad0 :: 0

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