Klawisz anty-funkcjonalność Windows INSERT przypadkowo uruchamia się; jak zatrzymać to na stałe?


38

Wszyscy używamy narzędzi do edycji, aby zmieniać wiersz tekstu podczas jego wprowadzania. Istnieją dwa główne tryby edycji w linii: a) „tryb wstawiania”, który wstawia nieedytowane znaki w punkcie kursora i tasuje tekst w prawo, oraz b) „tryb zastępowania”, w którym nieedytowane są znaki po prostu zastąp dowolny znak wybrany kursorem.

Tryb zastępowania IMHO pozostało z dni po wyświetleniu CRT na zielonym ekranie. Jedynym zastosowaniem, jakie kiedykolwiek znalazłem, jest rysowanie obrazów 2D w ASCII, którego zrezygnowałem z lat 80., kiedy stały się dostępne prawdziwe narzędzia do rysowania.

Windows (głupio IMHO) oferuje możliwość przełączania trybu nadpisywania za pomocą INSERTklawisza na klawiaturze. (Domyślam się, że Linux / Unix prawdopodobnie podąża za tym w zwykłej zazdrości Windows). Nigdy nie nacisnąłem tego przycisku, ponieważ po prostu przełącza mnie w tryb nadpisywania.

Jednak, kiedy piszę, nagle pojawia się tryb zastępowania. Myślę, że musi to być jakaś dziwna kombinacja ALT/ Windows/ CTRL/ SHIFTi jakiegoś innego klawisza lub dwóch standardowych klawiszy wciśniętych w czasie w pobliżu. Czy ktoś wie, co to jest alternatywna sekwencja klawiszy, więc mogę spróbować bardziej, aby tego uniknąć? Czy istnieje sposób, aby powiedzieć systemowi Windows, aby po prostu przestał używać trybu zastępowania?


4
Wygląda na to, że Shift + Numpad0 wprowadza jeden w tryb wstawiania. Myślę, że to jest rzeczywista przyczyna mojego problemu. (Czy ktoś na tej planecie faktycznie używa trybu wstawiania?)
Ira Baxter,

1
Chciałbym dodać (choć jest to nie na temat), że podczas eksperymentów odkryłem, że to nie tylko Shift + „Numpad 0”. Shift + Numpad wydaje się wyłączać efekt Num Lock, więc mamy również Shift + kropka (usuń!), 1, 2, 3, 4, 6, 7, 8 i 9, wszystkie robią swoje inne odpowiedniki. Zastanawiam się, czy jest to specyficzne dla systemu Microsoft Windows, czy ogólnie obsługiwane przez inne oprogramowanie, czy może na klawiaturze (nie wymaga specjalnego wsparcia oprogramowania, ponieważ jest obsługiwane przez kody skanowania klawiatury).
TOOGAM

1
Zaakceptowane rozwiązanie nie działało dla mnie w systemie Windows 8.1 (choć powiązane pytanie dotyczące sposobu wyłączenia Caps Lock).
AlainD

MS Office domyślnie wyłączył klucz po tym, jak niewiele osób go używa. Właściwie nadal czasami muszę rysować tabele 2D w ASCII, na przykład, aby publikować na stosie wymiany, ale istnieją narzędzia do tworzenia tabeli, więc nadpisywanie nie wymaga trybu nadpisywania.
phuclv

2
„antyfunkcjonalność”. Lubię to!
Stephen Hosking

Odpowiedzi:


32

Jak wyłączyć klawisz Insert w systemie Windows

Prawie każdy, kto używał edytora tekstu, przypadkowo nacisnął klawisz Insert i nadpisał, gdy myślał, że edytuje. W tym artykule opisano prosty sposób wyłączenia klawisza Insert na klawiaturze.

Po każdym naciśnięciu klawisza tworzony jest komunikat systemu Windows, który zawiera kod klucza, który jednoznacznie identyfikuje naciśnięty klawisz. Programy (takie jak Microsoft Word) szukają wiadomości z naciśnięciem klawisza i podejmują działania na podstawie kodu klucza w wiadomości. Odwzorowując zdarzenie naciśnięcia klawisza wstawiania na wartość NULL, po naciśnięciu klawisza wstawiania system Windows wysyła komunikat zawierający null dla kodu klucza. Dlatego programy odbierające wiadomość nie wykonują czynności związanej ze zdarzeniem wstawiania naciśnięcia klawisza, dzięki czemu nie musisz się martwić o ponowne nadpisanie.

  1. Przejdź do Start → Uruchom → regedit
  2. Przejdź do HKLM \ System \ CurrentControlSet \ Control \ Keyboard Layout
  3. Kliknij prawym przyciskiem myszy prawą połowę ekranu i wybierz Nowy → Wartość binarna
  4. Nazwij nową wartość Scancode Map
  5. Wpisz 000000000000000002000000000052E000000000
  6. Zamknij regedit
  7. Restart.
  8. Opcjonalnie: po zakończeniu możesz zdjąć klawisz Insert z klawiatury.

Jeśli zrobisz to z regedit Windows7, musisz wprowadzić wartość szesnastkową w wierszach 8 bajtów, tak jak poniżej:

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

Źródło

Plik rejestru (.reg), aby zastosować poprawkę zgodnie z powyższym opisem

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

Umieść powyższy tekst w pliku z rozszerzeniem .reg (np .:) disable-insert.regi kliknij dwukrotnie.


Można to zrobić mniej ręcznie / niebezpiecznie za pomocą SharpKeys - patrz odpowiedź
Dangpha

1
Pamiętaj tylko o ponownym uruchomieniu komputera po tym ..
pootzko,

Rozwiązanie do .regplików działało dla mnie w systemie Windows 10 Pro (po ponownym uruchomieniu).
Reed Dunkle

Nie wyłącza to Num0włączania trybu zastępowania przy Numlockwyłączonym (sprawdziłem, czy mój Insertklucz został wyłączony przez wymachiwanie, aby wyłączyć tryb zastępowania po przypadkowym włączeniu go za pomocą Num0). W systemie Windows Server 2016, jeśli ma to znaczenie.
Elaskanator

27

0Klawisz na klawiaturze numerycznej staje insertgdy num lockjest wyłączony.

Gdy wpiszesz coś w aplikacji MS-DOS i wrócisz do środka frazy i naciśniesz TAB, przejdziesz do trybu zastępowania.


4
Masz na myśli, że klawisz 0 na klawiaturze numerycznej to klawisz wstawiania, gdy num-lock jest wyłączony.
Wstrzymano do odwołania.

1
+1 za naciśnięcie Tab. Zastanawiałem się, dlaczego w Powershell Tab
ciągle pojawiał się nadtyp.

Upewnij się również, że „Tryb wstawiania” jest zaznaczony w ustawieniach
PowerShell

To właśnie szybko mnie uratowało, nie poświęcając więcej czasu niż to konieczne na inne odpowiedzi. Nie mam klawisza Insert i przypadkowo uderzyłem 0 na klawiaturze numerycznej. Po prostu uderzyłem go ponownie i bingo-bango, dzień jest uratowany.
rubynorails 17.04.2018

6

Tylko zorientowali ten jeden ... Shift+ 0na klawiaturze numerycznej. Chyba muszę go przypadkowo oznaczyć, pisząc wystarczająco szybko z szybkością. Rzuca mnie od dawna.

Chociaż powyższy dodatek może być pomocny dla niektórych, nie był to mój problem. Każdy, kto potknie się tutaj, jeśli zdarzy się to prawie bez względu na to, w jakiej aplikacji się znajdujesz (tj. Nie tylko w edytowaniu w MS Word), oszczędzaj sobie pogorszenia wyszukiwania do końca Internetu, tak jak ja ...

Edycja:
Mój osobisty ostateczny wniosek jest taki, że nie ma „innej kombinacji magicznych klawiszy” do przełączania zastępowania wstawiania kropką. Tak więc jedyną możliwą możliwością jest to, że w trakcie szybkiego pisania, albo z powodu niedoskonałego / niechlujnego kombinacji klawiszy LUB odbicia na klawiaturze, pomagając w takim, generowane jest nieoczekiwane kodowanie, które zdarza się zawsze uruchamiać przełączanie ins / ovr. Z moich osobistych badań wynika, że ​​bardziej prawdopodobne jest, że jest to wada klawiatury / sprzętu niż wada oprogramowania. Gdyby to był błąd oprogramowania, myślę, że widzielibyśmy więcej postów na ten temat w sieci.

W końcu wypróbuję opublikowaną sugestię regedit i po prostu spróbuję się z tym pogodzić.


Shift+Num0z wyłączoną Num0funkcją numlock lub po prostu z włączoną funkcją numlock przełącza tryb nadpisywania.
Elaskanator

5

Dziwię się, że nikt nie zaproponował najprostszego rozwiązania - wyjmij właściwy klawisz fizyczny z klawiatury (np. Nożyczkami, nożem).

wprowadź opis zdjęcia tutaj


8
Bo to brzydkie ...
binaryfunt

1
I tak nie powinieneś patrzeć na klawiaturę podczas pisania ;-)
rluks 15.04.17

6
Proszę, nikt tego nie rób.
bubbleking

Właśnie to zrobiłem i byłem z tego zadowolony. Nadal mogę przypadkowo nacisnąć Num-0, co powoduje przejście do trybu wstawiania. Muszę nacisnąć go ponownie, aby wyjść.
Stephen Hosking

1
Spróbuj zrobić to z komputerem innej osoby i przekonaj się, jaką reakcję otrzymujesz.
Ira Baxter

4

Użyj klawiszy SharpKeys do mapowania, Insertaby wyłączyć klucz . To wyłącza klucz i jest łatwiejsze i bezpieczniejsze niż samodzielne robienie rejestru.

Sharpkeys jest stary (jest przeznaczony dla systemu Windows 7), ale nadal działa w systemie Windows 10.

wprowadź opis zdjęcia tutaj


Kilka lat temu odkryłem SharpKeys (patrz data pytania), ale nie pamiętam, że zadałem to pytanie. Tak więc +1 za odpowiedź z doskonałą odpowiedzią. Wina zmusiła mnie do zaakceptowania (właśnie teraz) znacznie starszej odpowiedzi, której użyłem, zanim znalazłem SharpKeys.
Ira Baxter

@Ira, nie ma problemów, dziękuję za głosowanie :) Właśnie odkryłem, że SharpKeys nie zrobi tego, że nie wyłączy Shift + NumPad0. Pamiętam, że gdzieś jest edytor skrótów klawiszowych. To może załatwić sprawę. Ale nigdy nie trafiłem przypadkowo tej kombinacji klawiszy, więc nie ma to na mnie wpływu.
dangph

Po długim użyciu (zwróć uwagę na wiek tego pytania) odkryłem, że od czasu do czasu trafiam „Shift + NumPad0”. Fakt, że jest to naprawdę rzadkie, oznacza, że ​​rozpoznanie go zajmuje mi trochę czasu, a ponieważ jestem w trybie wstawiania z wyłączonym klawiszem wstawiania , nie jest oczywiste, jak wyjść ponownie. W końcu przychodzi na myśl shift + Numpad0. Najrzadsze zdarzenia są najgorsze. Potrzebuję silniejszej odpowiedzi. Westchnienie.
Ira Baxter,

1

Jednym z najprostszych sposobów rozwiązania tego problemu, a także uzyskania innych przydatnych funkcji, jest ponowne mapowanie klawisza wstawiania za pomocą AutoHotkey .

Na moim komputerze z systemem Windows klawiatura numeryczna wykonuje klawisz wstawiania, jeśli klawiatura numeryczna nie jest zablokowana, więc mam następujący skrypt w skrypcie AutoHotkey:

Numpad0 :: 0

Więc jeśli skończę uderzać w 0, zapisuje 0 zamiast być klawiszem wstawiania i nie muszę się martwić, że numery będą włączone lub wyłączone.


0

Idź do pliku - Opcje - Zaawansowane - Użyj Wstaw klucz, aby wkleić - Będzie nadal używany, ale z bardziej praktycznego powodu, a zauważysz, że wkleiłeś coś, czego nie chcesz :-)


2
Zakładam, że jest to dla określonej aplikacji (prawdopodobnie Word)? Pytanie dotyczyło całkowitego wyłączenia funkcji w systemie Windows.
kad81

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.