Einen Algorithmus, um die Scan-Codes beliebiger Tasten zu ermitteln, möchten wir Ihnen mit SCAN.DEB vorstellen. So haben Programmierer beispielsweise die Möglichkeit, die Funktionstasten F11 und F12 in ihre Anwendungen einzubeziehen, obwohl sie sich auf vielen PCs häufig nicht belegen lassen. Weil die Tastatur für jede Taste einen »Runterdrück«- und einen »Loslaß«-Code liefert, erhalten Sie pro Tastendruck zwei hexadezimale Werte, wodurch Sie noch mehr Möglichkeiten zur Programmierung bekommen. [Strg] + [Alt] + [Entf] bleibt wie alle anderen Tastenkombinationen wirkungslos – SCAN liefert Ihnen dagegen die entsprechenden Scan-Codes. Mit der ESC-Taste beenden Sie SCAN.
Name: | SCAN.DEB |
Funktion: | Liefert den echten »Runterdrück«- und »Loslaß«-Code jeder (!) Taste. |
Übersetzung: | DEBUG <SCAN.DEB |
Prüfsumme: | 5EC0 |
Anwendung: | SCAN |
Einschränkungen: | ./. |
A MOV ES,AX ;100 MOV SI,13E ;102 MOV DI,CS ;105 CALL 131 ;107 MOV BX,10FF ;10A INC BL ;10D CMP BX,[143] ;10F JZ 10F ;113 CALL 15E ;115 MOV AL,[BX] ;118 MOV AH,0 ;11A DIV BH ;11C MOV [126],AH ;11E CALL 160 ;122 MOV AL,0 ;125 CALL 160 ;127 CALL 15E ;12A DEC By[BX] ;12D JNZ 10D ;12F CLI ;131 ES:XCHG SI,[24] ;132 ES:XCHG DI,[26] ;137 STI ;13C RET ;13D PUSH AX ;13E PUSH BX ;13F IN AL,60 ;140 MOV BX,1000 ;142 CS:MOV [BX],AL ;145 CS:INC By[143] ;148 IN AL,61 ;14D OR AL,80 ;14F OUT 61,AL ;151 XOR AL,80 ;153 OUT 61,AL ;155 MOV AL,20 ;157 OUT 20,AL ;159 POP BX ;15B POP AX ;15C IRET ;15D MOV AL,FD ;15E ADD AL,30 ;160 CMP AL,39 ;162 JBE 168 ;164 ADD AL,27 ;166 MOV AH,E ;168 INT 10 ;16A RET ;16C RCX 6D NSCAN.COM W Q
Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot