Strg + Rücktaste fügt ein kleines Kästchen ein, anstatt es zu löschen

40

Wenn ich Ctrl+ drücke Backspace, wird manchmal ein kleines Quadrat eingefügt, anstatt das gesamte Wort zu löschen. Wenn ich das Zeichen hier kopiere und einfüge, erhalte ich Folgendes: ``. Aber im Textfeld sieht es nicht ganz so aus - dort ist es nur ein einfaches weißes Rechteck mit einem schwarzen Rand von 1 Pixel.

Das Problem tritt nur in einigen Textfeldern auf. In anderen Fällen funktioniert die Verknüpfung so, wie sie sollte.

  • Startmenü Suchfeld: funktioniert
  • Notepad: nicht arbeiten

    kleines Kästchen, das mit Strg + Rücktaste im Editor erstellt wurde

  • Notepad2: funktioniert
  • Firefox: funktioniert

Ich verwende Windows 7 x64.

Rory O'Kane
quelle
1
Ich bekomme das gleiche Verhalten im Editor in WinXP.
Djhowell
2
Dieses Verhalten tritt auch beim Umbenennen einer Datei im Datei-Explorer unter Windows 7 auf. Wenn ich also eine Datei auswähle, drücke F2, bewege den Cursor an das Ende des zu löschenden Wortes und versuche es mit Ctrl+ Backspace.
Rory O'Kane

Antworten:

25

Sie können dieses Problem beheben, indem Sie die Verknüpfung Ctrl+ Backspacemit AutoHotkey überschreiben . Speichern Sie den folgenden Code in einer Nur-Text-Datei 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 ^+{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

Möglicherweise ist es einfacher, diese Skriptdatei von GitHub herunterzuladen , als die Datei selbst zu erstellen und den Inhalt einzufügen.

Um dieses Skript beim Start automatisch zu starten, fügen Sie im Startmenü eine Verknüpfung zum Startordner hinzu, wie unter Ausführen eines Programms beim Start auf einem beliebigen Computer beschrieben .

Die Grundidee des Skripts lautet:

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

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

Diese Problemumgehung zum Auswählen und Löschen ist zwar besser als das Eingeben eines Kästchens, aber spröde. 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 Programme, von denen ich weiß, dass sie diese Verknüpfung nicht unterstützen.

Rory O'Kane
quelle
19

Das "Kästchen", das Sie sehen, ist ein sogenanntes Steuerzeichen . Das Feld wird angezeigt, da, wie Sie festgestellt haben, nicht alle Programme die Tastenkombination Strg + Rücktaste verwenden, um ein Wort zu entfernen.

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

Jared Harley
quelle
Ich wollte nur hinzufügen, dass einige Anwendungen noch schlechter damit umgehen und das Steuerzeichen nicht anzeigen. Sie können dies sehen, wenn nichts passiert ctrl+backspaceund das Drücken von Entf nichts zu bewirken scheint. Ich denke, Notizblock für Vista hat dies getan.
Joshua
5
Das eingefügte Zeichen ist 127 - das Löschzeichen.
1
Link zu ASCII char 127, dem Löschzeichen , auf Wikipedia
Rory O'Kane
Dies erklärt das offensichtliche "Was", aber nicht das "Warum" :-(
Mafu
14

Fand dies auf einem MSDN- Blog ...

In den Anfängen der Internet Explorer-Gruppe verwendeten einige Benutzer den Kurzeditor, der Strg + Rücktaste als Tastenkürzel zum Löschen des vorherigen Wortes verwendet, und es gefiel ihnen so gut, dass einer von ihnen es dem Autocomplete-Handler hinzufügte. Daher erhält jedes Bearbeitungssteuerelement, das SHAutoComplete verwendet, diesen geheimen Tastenkürzel für Strg + Rücktaste.

Wenn die Anwendung SHAutoComplete nicht verwendet, wird die Funktion nur dann unterstützt, wenn sie vom Autor der Anwendung ausdrücklich hinzugefügt wurde.

PS-Control-Delete entfernt das Wort vor dem Cursor

djhowell
quelle
1
Lesen Sie auch die Kommentare in demselben Artikel durch, um ein wenig mehr Einblick zu gewinnen: blogs.msdn.com/oldnewthing/archive/2007/10/11/…
heavyd
0

Nicht alle Anwendungen behandeln Tastaturkürzel gleich. Notepad scheint mit dieser Tastenkombination nicht umzugehen und behandelt sie auf seine eigene Weise.

th3dude
quelle