Mousetroke GitHub
Deutsch ▾
Inhaltsverzeichnis

Syntax für Tasten senden#

Mit einem Kürzel beginnen#

Fügen Sie in Tasten senden ^c ein, um unter Windows Strg+C zu senden, oder #c für Command+C auf dem Mac. Sie können auch auf Aufnehmen klicken, die Kombination drücken und auf Fertig klicken. Lua verwendet dieselbe Syntax über ms.keys(sequence).

Zeichen bedeuten normalerweise Tasten an US-Tastaturpositionen. abc drückt A, B, C nacheinander; Großschreibung ABC fügt kein Shift hinzu. Verwenden Sie +a für Shift+A. Für Unicode oder festen Text siehe Text und Escaping und Zwischenablagen-Rezepte.

Modifikatoren und Gruppen#

PräfixWindowsMac
^StrgControl ⌃
%AltOption ⌥
+UmschaltShift ⇧
#WinCommand ⌘

Ein Präfix wirkt auf die nächste Taste oder die geklammerte Gruppe. ^+t sendet Strg+Umschalt+T. ^(ac) wendet Strg auf A und C an. ^ac wendet Strg nur auf A an. Gruppen können verschachtelt werden; verwenden Sie paarige Klammern. Gruppen-Modifikatoren hängen an jeder Tastenaktion; verlassen Sie sich nicht darauf, dass der Modifikator zwischen den Tasten durchgehend gehalten bleibt. Ein bloßer Modifikator am Ende ist kein Tastendruck: Verwenden Sie zum Beispiel {CTRL}, wenn Sie die Modifikatortaste selbst brauchen.

Lua ms.is_keys_pressed prüft auf beiden Plattformen die Vereinigung aller Tasten und Modifikatoren zum Abfragezeitpunkt: ^ac erfordert Control, A und C gleichzeitig gedrückt. Jede Seite erfüllt ein Präfix; explizite {LCTRL} / {RCTRL}-Namen behalten ihre Seite. Wiederholungen werden ignoriert; Sleep-, Text-, Maus- oder Rad-Schritte liefern false. Eine Abfolge früherer Tastendrücke wird nicht erkannt.

Benannte Tasten, Wiederholungen und Verzögerungen#

Verwenden Sie {ENTER} für die Eingabetaste. Namen sind unabhängig von der Groß-/Kleinschreibung. {LEFT 3} drückt die linke Pfeiltaste dreimal. Eine positive Anzahl wiederholt eine Taste; null oder ein negativer Wert fällt auf eins zurück. {SLEEP 100} wartet 100 ms; es erfordert eine nichtnegative ganze Zahl. Trennen Sie einen Namen und sein Argument mit einem Leerzeichen.

Beispiel: ^c{SLEEP 100}^v kopiert, wartet kurz und fügt unter Windows ein. Das Mac-Äquivalent ist #c{SLEEP 100}#v.

Die Tabelle unten führt alle vom Parser akzeptierten Namen auf, einschließlich Aliasen und aller nummerierten F-/Zehnertastatur-Namen. Auch ein einzelner ASCII-Buchstabe, eine Ziffer oder ein unterstütztes US-Satzzeichen kann in Klammern erscheinen, etwa {a} oder {+}.

NamenBedeutung
{ENTER}, {RETURN}Eingabetaste
{ESC}Esc
{TAB}Tabulator
{BACKSPACE}Rücktaste
{SPACE}Leertaste
{CAPSLOCK}Feststelltaste
{INSERT}, {INS}Einfg (nur Windows)
{DELETE}, {DEL}Entf / Vorwärts-Entf
{HOME}, {END}Pos1 / Ende
{PGUP}, {PGDN}Bild auf / Bild ab
{UP}, {DOWN}, {LEFT}, {RIGHT}Pfeiltasten
{PRTSC}Druck (nur Windows)
{BREAK}Untbr (nur Windows)
{MEDIA_NEXT}, {MEDIA_PREV}, {MEDIA_STOP}, {MEDIA_PLAY}, {MEDIA_PLAY_PAUSE}Medientasten (nur Windows in Tastenfolgen)
{VOLUME_MUTE}, {VOLUME_DOWN}, {VOLUME_UP}Lautstärketasten (nur Windows in Tastenfolgen)
{CTRL}, {ALT}, {SHIFT}Strg / Alt (auf dem Mac Option) / Umschalt
{LCTRL}, {RCTRL}, {LSHIFT}, {RSHIFT}, {LALT}, {RALT}Modifikatortasten links/rechts; Alt ist auf dem Mac Option
{LWIN}, {WIN}, {RWIN}Windows-Taste; auf dem Mac Command
{F1}, {F2}, {F3}, {F4}, {F5}, {F6}, {F7}, {F8}, {F9}, {F10}, {F11}, {F12}, {F13}, {F14}, {F15}, {F16}, {F17}, {F18}, {F19}, {F20}, {F21}, {F22}, {F23}, {F24}Funktionstasten; der Mac unterstützt F1–F20
{N0}, {N1}, {N2}, {N3}, {N4}, {N5}, {N6}, {N7}, {N8}, {N9}Ziffern 0–9 der Zehnertastatur
{MOUSE_LEFT}, {MOUSE_RIGHT}, {MOUSE_MIDDLE}, {MOUSE_X1}, {MOUSE_X2}Mausklicks (nur Windows)
{MOUSE_WHEEL}, {MOUSE_HWHEEL}Rad: z. B. {MOUSE_WHEEL 120}, {MOUSE_HWHEEL -120} (nur Windows)
{SLEEP}Verzögerung: z. B. {SLEEP 100}, Millisekunden

Maustasten und Rad#

Windows unterstützt {MOUSE_LEFT}, {MOUSE_RIGHT}, {MOUSE_MIDDLE}, {MOUSE_X1} und {MOUSE_X2} als Klicks. {MOUSE_LEFT 2} sendet zwei Klicks; der Zeiger wird dabei nicht verschoben.

{MOUSE_WHEEL 120} scrollt eine Raste nach oben; -120 scrollt nach unten. {MOUSE_HWHEEL 120} scrollt nach rechts; -120 nach links. Das Argument ist ein vorzeichenbehaftetes Rad-Delta, keine Wiederholungsanzahl. Das ist die Konvention der injizierten Eingabe; sie unterscheidet sich vom Vorzeichen der aufgezeichneten Rad-Schritte von Gesten.

Der Mac parst diese Zeichen, überspringt Maus- und Rad-Aktionen aber bei der Ausführung der Eingabe. Sie lassen sich nicht verwenden, um Mac-Klicks oder Scrollen über ms.keys zu erzeugen.

Text und Escaping#

Der Text-zuerst-Modus ist nur mit Lua ms.keys(s, true) verfügbar; der Editor Tasten senden verwendet immer den Tastenmodus. Gewöhnliche Zeichen werden zu Unicode-Text, aber ^, %, +, #, Klammern und die öffnende geschweifte Klammer starten weiterhin die Syntax. Eingeklammerte Einzelzeichen bleiben im Text-zuerst-Modus Tastenaktionen.

Für Kürzel innerhalb des Text-zuerst-Modus klammern Sie die Taste: ^{c} sendet Strg+C und #{c} sendet Command+C. Ein ungeklammertes ^c gibt in diesem Modus den Text c aus und verwirft den Modifikator. Sie können auch einen separaten ms.keys("^c")-Aufruf im normalen Tastenmodus verwenden.

LiteralzeichenSchreibweise in der Folge
^{^}
%{%}
+{+}
#{#}
({(}
){)}
{{{}
}} (ungeklammert)

Der Backslash ist kein Escape-Zeichen der Tastenfolge. In einer zitierten Lua-Zeichenkette schreiben Sie "\\" für einen Backslash oder verwenden eine Long-Bracket-Zeichenkette. Für beliebigen Text mit Syntaxzeichen vermeidet die Zwischenablagen-Methode beide Ebenen des Escapings.

Häufige Kürzel#

Diese hängen von den Kürzeleinstellungen der Zielanwendung und des Betriebssystems ab.

ZweckWindows-FolgeMac-Folge
Kopieren^c#c
Einfügen^v#v
Ausschneiden^x#x
Alles auswählen^a#a
Rückgängig^z#z
Neuer Tab^t#t
Tab schließen^w#w
Geschlossenen Tab wieder öffnen^+t#+t
Nächster Tab^{TAB}^{TAB}
Vorheriger Tab^+{TAB}^+{TAB}
App wechseln%{TAB}#{TAB}
Vorheriger/nächster Desktop#^{LEFT} / #^{RIGHT}^{LEFT} / ^{RIGHT}
Screenshot-Bereich#+s#+4
Desktop anzeigen#d{F11}
Task-Manager / Activity Monitor^+{ESC}App öffnen verwenden: com.apple.ActivityMonitor
Bildschirm sperren#l^#q

Warum Strg+Alt+Entf nicht gesendet werden kann#

Strg+Alt+Entf ist die Secure-Attention-Sequence von Windows. Windows ignoriert gewöhnliche synthetische Eingaben für diese Folge, daher kann ^%{DEL} diesen Sicherheitsbildschirm nicht öffnen. Verwenden Sie ^+{ESC} für den Task-Manager, #l zum Sperren oder eine Aktion Befehl ausführen mit shutdown /l zum Abmelden (sie beendet die Sitzung).

Grenzen und Plattformhinweise#

Der gemeinsame Parser hat keine Obergrenze für die Zeichenkettenlänge oder die Wiederholungsanzahl. Wiederholungsanzahlen und Verzögerungen werden als vorzeichenlose 32-Bit-Werte gespeichert; Rad-Deltas als vorzeichenbehaftete 32-Bit-Werte. Werte außerhalb des Bereichs können beim Umwandeln überlaufen; verwenden Sie kleine, praktikable Anzahlen und Verzögerungen. Ein falscher Tastenname oder ein fehlendes erforderliches Argument erzeugt einen Einlesefehler; der Editor prüft bereits während der Eingabe.

Windows führt Folgen auf Worker-Threads aus und wartet für {SLEEP ms}. Der Mac sendet Eingaben in timergesteuerten Stapeln. Mac-Aktionszeichenketten über 16.384 Byte werden abgelehnt; für bereits geparste Lua-Eingaben gelten 16.384 Aktionen und 16.384 Byte pro Textaktion. Seine Warteschlange fasst bis zu 64 Einträge; überschüssige Eingaben werden verworfen und protokolliert.

Auf dem Mac sind F1–F20, Ziffern der Zehnertastatur und zugeordnete Navigationstasten verfügbar. Insert/INS, PRTSC, BREAK, F21–F24, Medien-/Lautstärke-Zeichen und Maus-/Rad-Zeichen werden nicht unterstützt und übersprungen. Verwenden Sie Medien und System für Medien und Lautstärke. ms.keys_down und ms.keys_up gibt es nur unter Windows; siehe Lua-API.

Mit einer Alltagsgeste beginnen

Laden Sie Mousetroke kostenlos herunter und richten Sie Ihre erste Geste ein. Für Windows und die Mac-Beta verfügbar.