Tastaturstatus in DOS ändern

In manchen Anwendungen ist es wünschenswert, rechtzeitig den Tastaturstatus festlegen zu können, um z. B. grundsätzlich auf Großbuchstaben umzuschalten oder die Taste »Rollen« zu aktivieren. Und auch nach dem Systemstart ist es häufig recht praktisch, den manchmal doch etwas ungewohnten Status »NumLock« abschalten zu können. Hierfür haben wir Ihnen bereits NUMOFF.DEB gezeigt. STATUS.DEB hingegen ist die komfortabelste Methode, den Tastaturstatus per Kommando, speziell in Stapeljobs, zu ändern. Beim Aufruf bestimmt eine Zeichenfolge, bestehend aus C (Caps-Lock), N (Num-Lock), S (Scroll-Lock) oder I (Insert) in Groß- und Kleinbuchstaben, welchen Zustand die Tastatur annehmen soll. Ein großer Buchstabe aktiviert den entsprechenden Status, ein kleiner disaktiviert ihn. Nicht verwendete Parameter rufen auch keine Änderungen hervor. Auf AT-Tastaturen ist die Aktion sofort an den entsprechenden Leuchtdioden erkennbar. Der Vollständigkeit halber haben wir den Insert-Status mit im Programm aufgenommen. Das BIOS verwaltet diesen Zustand zwar, er spielt aber in den meisten Anwendungen kaum eine Rolle. Ein Wirkung ist deshalb auch nicht direkt zu erkennen.

Name: STATUS.DEB
Funktion: Ändert den Tastaturstatus.
Übersetzung: DEBUG <STATUS.DEB
Prüfsumme: CA8F
Anwendung: STATUS CHR[…]CHR = C, c Capslock ein, aus N, n Numlock ein, aus S, s Scroll-Lock ein, aus

I, i Insert ein, aus

Einschränkungen: ./.
A
POP DS              ;100
CLD                 ;101
MOV SI,81           ;102
CS:LODSB            ;105
MOV AH,AL           ;107
OR AL,20            ;109
MOV DI,12A          ;10B
MOV CX,5            ;10E
REPNZ SCASB         ;111
JNZ 128             ;113
MOV BL,10           ;115
RCL BL,CL           ;117
OR [417],BL         ;119
TEST AH,20          ;11D
JZ 105              ;120
XOR [417],BL        ;122
JMP 105             ;126
INT 20              ;128
DB " icns"

RCX
2F
NSTATUS.COM
W
Q

Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot