271,7 → 271,28 |
jnz .exit.irq1 |
test bl, bl |
jz .exit.irq1 |
|
;.........................Part1 Start.......Code by Rus, optimize by Ghost................................... |
test [kb_state], VKEY_NUMLOCK |
jz .dowrite |
|
cmp ch, 55 |
jnz @f |
mov bl, 0x2A ;* |
jmp .dowrite |
@@: |
cmp ch, 71 |
jb .dowrite |
cmp ch, 83 |
ja .dowrite |
push eax |
movzx eax, ch |
mov bl, [numlock_map + eax - 71] |
pop eax |
|
;.........................Part1 End................................................. |
|
jmp .dowrite |
.scancode: |
mov bl, ch |
.dowrite: |
300,3 → 321,19 |
ret |
|
;// mike.dld ] |
;..........................Part2 Start.......Code by Rus....................................... |
numlock_map: |
db 0x37 ;Num 7 |
db 0x38 ;Num 8 |
db 0x39 ;Num 9 |
db 0x2D ;Num - |
db 0x34 ;Num 4 |
db 0x35 ;Num 5 |
db 0x36 ;Num 6 |
db 0x2B ;Num + |
db 0x31 ;Num 1 |
db 0x32 ;Num 2 |
db 0x33 ;Num 3 |
db 0x30 ;Num 0 |
db 0x2E ;Num . |
;..........................Part2 End................................................ |