| DS:DX = keyboard map with 128 bytes | |
| corresponded to numeric and alphabetic | |
| ASCII code table; a NULL for | |
| defining | unused key. |
| CX = 0x80 (table length for 128 bytes) | |
Returned Values: | None |
|
void TD_key_map(unsigned char *str)
{
regs.h.ah=0x1E;
regs.h.bh=1;
regs.x.cx=0x80; segregs.ds = FP_SEG(str); regs.x.dx = FP_OFF(str); int86x(0x21,®s,®s,&segregs);
}
ASCII code corresponded to scan code in Numeric mode
Numeric keyboard layout
F1 | F5 | 1 | 2 | 3 |
?? | * |
|
|
|
|
|
|
|
|
F2 | F6 | 4 | 5 | 6 |
?? | ? |
|
|
|
F3 | F7 | 7 | 8 | 9 |
?? | ? |
|
|
|
F4 | SHIFT | [C] | 0 | [E] |
?? |
|
|
|
|
|
|
|
|
|
ASCII code [Scan code]
86 | 8A | 31 | 32 | 33 |
[23] | [1B] | [13] | [0B] | [03] |
|
|
|
|
|
87 | 8B | 34 | 35 | 36 |
[22] | [1A] | [12] | [0A] | [02] |
|
|
|
|
|
88 | 8C | 37 | 38 | 39 |
[21] | [19] | [11] | [09] | [01] |
|
|
|
|
|
89 | 1F | 08 | 30 | 0D |
[20] | [18] | [10] | [08] | [00] |
|
|
|
|
|