Ich weiß nicht, ob dir das hilft, aber ich habe das schon in assembler realisiert und es funktioniert:
mov al,0f0h ;Befehl für Scancode-Set wählen
out 60h,al ;Befehl senden
call kb.checkcmd ;prüfe ob Befehel ordnungsgemäß verarbeitet wurde
call kb.read ;hole Bestätigung (FAh)
mov al,02h ;Scancode-Set2 (default)
out 60h,al ;Wahl senden
call kb.checkcmd ;prüfe ob Befehel ordnungsgemäß verarbeitet wurde
call kb.read ;hole Bestätigung (FAh)
mov al,0aeh ;kopiere auf al befehl zum aktivieren des Keyboards
out 64h,al ;sende den Befehl an den KC
call kb.checkcmd ;prüfe ob Befehel ordnungsgemäß verarbeitet wurde
bochs gibt dann "Switched to acancode set 2" aus
vlt. solltest du einfach das keyboard vorher nicht deaktivieren...