Hallo,
cih habs jetzt hingekriecht. doch nun habe ich ein anderes Problem, ich hab ne tabelle gemach um die Scancodes in keycodes umzuwandeln. Doch die umwandlung funkioniert nur bis zur Backspacetaste, danach bekomme ich einfach null, die Scancodes, jedoch werdenm korrekt ausgegeben.
Hier ist die Tabelle:
keycode:
db 0 ;0
db 110 ;1
db 2 ;2
db 3 ;3
db 4 ;4
db 5 ;5
db 6 ;6
db 7 ;7
db 8 ;8
db 9 ;9
db 10 ;0a
db 11 ;0b
db 12 ;0c
db 13 ;0d
db 15 ;0e
db 16 ;0f
db 17 ;10
db 18
db 19
db 20
db 21
db 22
db 23
db 24
db 25
db 26
db 27
db 28
db 43 ;1c
db 58
db 31
db 32
db 33
db 34
db 35
db 36
db 37
db 38
db 39
db 40
db 41
db 0
db 44
db 42
db 46
db 47
db 48
db 49
db 50 ;30
db 51
db 52
db 53
db 54
db 55
db 57
db 100 ;37
db 60
db 61
db 30 ;3a
db 112 ;3b
db 113 ;3c
db 114 ;3d
db 115 ;3e
db 116 ;3f
db 117 ;40
db 118 ;41
db 119 ;42
db 120 ;43
db 121 ;44
db 90 ;45
db 0 ;46
db 91 ;47
db 0 ;48
db 0 ;49
db 105 ;4a
db 92 ;4b
db 0 ;4c
db 0 ;4d
db 106 ;4e
db 93 ;4f
db 98 ;50
db 103 ;51
db 99 ;52
db 104 ;53
db 0 ;54
db 0 ;55
db 0 ;56
db 122 ;57
db 123 ;58
Und hier noch die KeyhandlerRoutine:
;De Keyhandler Routine, die in der Idt eingetragen ist
keyhandler:
xor eax,eax
in al,0x60
PushAll
call PutByte
PopAll
mov al, [keycode+eax]
call PutByte
.ende
mov al, 0x20
out 0x20,al
iretd
Wo könnte ich den Fehelr suche, ich hab echt keine Ahnung wo er ist.
Vielen Dank schon im Voraus.
LG Togi