F11 und F12 in DOS emulieren

Weil es mit den Funktionstasten F11 und F12 auf Multifunktionstataturen immer wieder Probleme gibt, zeigen wir Ihnen eine Möglichkeit, wie Sie diese auch auf der DOS-Ebene wie jede andere Funktionstaste per PROMPT-Befehl belegen können. Falls Ihr Tastaturtreiber – wie so viele – diese Tasten nicht unterstützt, hilft F11F12.DEB. Das speicherresidente Programm simuliert die fehlenden BIOS-Codes einfach. Mit den Zeilen

PROMPT $e[0;133;"F11...";13p
PROMPT $e[0;134;"F12...";13p

können Sie die Funktionstasten belegen. Voraussetzung ist natürlich, daß Sie in der CONFIG.SYS die Zeile »DEVICE = ANSI.SYS« haben. Außer den beiden aufgeführten Codes ergänzt F11F12 zusätzlich die verschiedenen geshifteten Werte dieser Tasten. Sie lauten 135 und 136 für [Shift]-F11/F12, 137 und 138 für [Strg]-F11/F12 sowie 139 und 140 für Alt-F11/F12. Eine »Voruntersuchung«, ob die Tasten F11 und F12 mit F11F12.COM tatsächlich funktionieren, können Sie auch mit unserem Tip »BIOS-Tastaturcodes ermitteln« machen.

Name: F11F12.DEB
Funktion: Simuliert bei unvollkommenen Tastaturtreibern die Funktionstasten F11 und F12.
Übersetzung: DEBUG <F11F12.DEB
Prüfsumme: 4C21
Anwendung: F11F12
Einschränkungen: ./.
A
POP DS              ;100
LES DX,[24]         ;101
CS:MOV [183],DX     ;105
CS:MOV [185],ES     ;10A
MOV Wo[24],136      ;10F
MOV [26],CS         ;115
LES DX,[58]         ;119
CS:MOV [18D],DX     ;11D
CS:MOV [18F],ES     ;122
MOV Wo[58],187      ;127
MOV [5A],CS         ;12D
MOV DX,1A8          ;131
INT 27              ;134
PUSH AX             ;136
IN AL,60            ;137
MOV AH,D            ;139
CMP AL,57           ;13B
JZ 145              ;13D
MOV AH,E            ;13F
CMP AL,58           ;141
JNZ 181             ;143
PUSH BX             ;145
PUSH DS             ;146
MOV BX,40           ;147
MOV DS,BX           ;14A
MOV AL,[17]         ;14C
TEST AL,3           ;14F
JZ 155              ;151
OR AL,2             ;153
OR AL,1             ;155
SUB AH,2            ;157
SHL AL,1            ;15A
TEST AL,10          ;15C
JZ 157              ;15E
MOV AL,FF           ;160
MOV BX,[1C]         ;162
MOV [BX],AX         ;166
ADD BX,2            ;168
CMP BX,[82]         ;16B
JB 175              ;16F
MOV BX,[80]         ;171
CMP BX,[1A]         ;175
JZ 17F              ;179
MOV [1C],BX         ;17B
POP DS              ;17F
POP BX              ;180
POP AX              ;181
JMP 0:0             ;182
CMP AH,2            ;187
JB 191              ;18A
JMP 0:0             ;18C
PUSHF               ;191
CS:CALL FAR [18D]   ;192
PUSHF               ;197
CMP AL,FF           ;198
JNZ 1A4             ;19A
CMP AH,0            ;19C
JZ 1A4              ;19F
XOR AX,80FF         ;1A1
POPF                ;1A4
RETF 2              ;1A5

RCX
A8
NF11F12.COM
W
Q

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