Strg + Rückschritt fügt ein kleines Feld ein, anstatt es zu löschen

37077
Rory O'Kane

Wenn ich Ctrl+ drücke Backspace, wird manchmal ein kleines Quadrat eingefügt, anstatt das gesamte Wort zu löschen. Wenn ich den Charakter hier kopiere und einfügen, erhalte ich Folgendes: ``. Im Textfeld sieht es jedoch nicht ganz so aus - da ist es nur ein einfaches weißes Rechteck mit einem 1px schwarzen Rand.

Das Problem tritt nur in einigen Textfeldern auf. In anderen Fällen funktioniert die Verknüpfung wie gewünscht.

  • Startmenü-Suchfeld: funktioniert
  • Notepad: nicht arbeiten

    small box created from Ctrl+Backspace in Notepad

  • Notepad2: funktioniert
  • Firefox: funktioniert

Ich verwende Windows 7 x64.

34
Ich bekomme das gleiche Verhalten im Editor in WinXP. djhowell vor 14 Jahren 1
Dieses Verhalten tritt auch beim Umbenennen einer Datei in [Datei-Explorer] (http://en.wikipedia.org/wiki/File_Explorer) unter Windows 7 auf. Wenn ich also eine Datei auswähle, drücke "F2" und bewege den Cursor Am Ende des Wortes, das ich löschen möchte, versuchen Sie `Ctrl` +` Backspace`. Rory O'Kane vor 10 Jahren 1

4 Antworten auf die Frage

23
Rory O'Kane

Sie können dieses Verhalten beheben, indem Sie die Ctrl+ BackspaceVerknüpfung mit AutoHotkey überschreiben . Speichern Sie den folgenden Code in einer Klartextdatei mit dem angegebenen Dateinamen und der angegebenen Erweiterung, und starten Sie das Skript mit 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 ^+ #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 

Es kann einfacher sein, diese Skriptdatei von GitHub herunterzuladen, anstatt sie selbst zu erstellen und in ihren Inhalt einzufügen.

Um dieses Skript automatisch beim Start zu starten, fügen Sie dem Startordner im Startmenü eine Verknüpfung hinzu, wie in Programmstart beim Startvorgang auf einem beliebigen Computer beschrieben .

Die Grundidee des Skripts lautet:

^Backspace:: Send ^+ 

Dadurch wird die Abkürzung Ctrl+ Backspacein allen Programmen so geändert, dass es dem Drücken von Ctrl+ Shift+ entspricht , um das vorherige Wort auszuwählen und dann Backspace, um es zu löschen.

Diese Problemumgehung zum Auswählen und Löschen ist zwar spröde, obwohl sie besser als das Eingeben einer Box ist. Es ist sicherer, diese Verknüpfung nicht in Programmen zu aktivieren, in denen Ctrl+ Backspacebereits funktioniert. Aus diesem Grund beschränke ich #IfWinActiveden Hotkey auf nur Programme, die diese Verknüpfung nicht unterstützen.

Sehr geholfen Vielen Dank für Ihr Wissen. :) Martin Pfeffer vor 8 Jahren 0
15
Jared Harley

Die "Box", die Sie sehen, ist ein Steuerzeichen . Das Feld wird angezeigt, da, wie Sie festgestellt haben, nicht alle Programme die Strg + Rücktaste verwenden, um ein Wort zu entfernen.

Dieses Steuerzeichen ist eines von 33 "nicht druckbaren" Zeichen im 128-Zeichen- ASCII-Zeichencodierungsschema .

Ich wollte nur hinzufügen, dass einige Anwendungen es noch schlechter handhaben und das Steuerzeichen eigentlich nicht anzeigen. Sie können dies sehen, wenn mit `ctrl + backspace` nichts passiert, und wenn Sie auf 'Löschen' drücken, scheint dies nichts zu tun. Ich denke, Notizblock für Vista hat das getan. Joshua vor 14 Jahren 0
Das eingefügte Zeichen ist 127 - das Löschzeichen. vor 14 Jahren 4
Link zu [ASCII-Zeichen 127, das Löschzeichen] (http://en.wikipedia.org/wiki/Delete_character), auf Wikipedia Rory O'Kane vor 10 Jahren 1
Dies erklärt das offensichtliche "Was", aber nicht "Warum" :-( mafu vor 8 Jahren 0
10
djhowell

Fand das auf einem MSDN- Blog ...

In den Anfängen der Internet Explorer-Gruppe benutzten einige Leute den Brief-Editor, der das vorherige Wort mit Strg + Rücktaste als Tastenkürzel löschte, und es gefiel ihnen so gut, dass einer von ihnen den Autocomplete-Handler hinzugefügt hat. Daher erhält jedes Bearbeitungssteuerelement, das SHAutoComplete verwendet, diesen geheimen Hotkey Strg + Rücktaste.

Es klingt also so, als wenn die Anwendung SHAutoComplete nicht verwendet, wird sie die Funktion nicht unterstützen, es sei denn, sie wurde explizit vom Autor der Anwendung hinzugefügt.

PS Control-Delete entfernt das Wort vor dem Cursor

Auch in diesem Artikel erhält das Lesen der Kommentare ein wenig mehr Einblick: http://blogs.msdn.com/oldnewthing/archive/2007/10/11/5395501.aspx#5403635 heavyd vor 14 Jahren 1
0
th3dude

Tastenkombinationen werden nicht in allen Anwendungen gleich behandelt. Notizblock scheint diese Tastenkombination nicht zu behandeln und sie auf ihre eigene Weise zu handhaben.