Zeichenwerkzeug-Zifferntasten: 1 (Text) und 3 (Kreis) fehlten in der
Shortcut-Map, obwohl beide Befehle längst fertig implementiert waren. Zusätzlich musste man nach jedem gesetzten Punkt Esc drücken, bevor eine Zifferntaste das nächste Werkzeug wählte — der Fokus blieb im Befehlsfeld hängen (dort wird nach Abschluss nicht mehr geblurred) und die globale Kürzel-Prüfung ignorierte jede Eingabe im Feld pauschal. Jetzt gibt die Engine den Fokus frei, sobald ein Befehl fertig ist (Commit/Abbruch), und eine Zifferntaste wählt direkt das nächste Werkzeug (Vectorworks-Stil) — aber nur, wenn das Feld leer ist UND der aktuelle Schritt weder Tab-Felder noch Freitext erwartet (Textlabel-Eingabe wie „Raum 101" bleibt geschützt).
This commit is contained in:
@@ -168,6 +168,17 @@ export class CommandEngine {
|
||||
return this.currentFields().length > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Erwartet der aktuelle Schritt freien Text (z. B. das Textwerkzeug-Label)?
|
||||
* Dort ist JEDE Taste — auch Ziffern — literaler Inhalt, im Unterschied zu
|
||||
* einem reinen Punkt-Pick-Schritt (nur „point"/„number", keine Felder), wo
|
||||
* Ziffern ansonsten ungenutzt sind.
|
||||
*/
|
||||
acceptsFreeText(): boolean {
|
||||
if (!this.command || !this.state) return false;
|
||||
return this.command.accepts(this.state).includes("text");
|
||||
}
|
||||
|
||||
/**
|
||||
* Setzt den Feld-Zustand zurück, wenn der Schritt wechselt — Signatur =
|
||||
* phase + Feld-IDs + lastPoint. Der lastPoint-Teil sorgt dafür, dass ein
|
||||
|
||||
Reference in New Issue
Block a user