Autor Thema: Tastatur: Scancodes von XT/AT  (Gelesen 11867 mal)

Biehler Productions

  • Beiträge: 51
    • Profil anzeigen
    • http://bielos.de.tk
Gespeichert
« Antwort #20 am: 14. August 2006, 22:29 »
Danke @T0ast3r

Ich werd mir das mal durchlesen

Biehler Productions

  • Beiträge: 51
    • Profil anzeigen
    • http://bielos.de.tk
Gespeichert
« Antwort #21 am: 15. August 2006, 13:44 »
Anmerkungen:

Zitat

Bochs (ein Emulator für unwissende) gibt sonst eine Fehlermeldung von einen nicht
unterstützen Keyboard Command aus.


Ich würde hier eher schreiben "Bochs (Für Unwissende: Ein Emulator)"
Ansonsten hört es sich an, als sei der Emulator für "idioten" gedacht ;)
Oder ist das beabsichtigt? :lol:

Zitat

Tasten kann man theoretisch auch als Highlevel, Toplevel lowlevel Tasten betrachten.


Fehlt da nach Toplevel nicht ein Komma oder ein "oder"?
Und Lowlevl müsste afaik Großgeschrieben werden.

Zitat

Das folgende Schema wird auch bei ToasterOS verwendet, und somit verbiete ich jegliche
Weiterverbreitung in Tutorials (und ähnlichem), jedoch ist es gestattet für Code (aber nichts
anderes sonst) zu verwenden.



Das Dick markierte klingt irgendwie komisch.
Ich würd sagen, da fehlt ein Wort.
Vielleicht eher so:

"jedoch ist es gestattet, das Schema für eigenen sourcecode (aber nichts anderes sonst) zu verwenden"

Oder so ähnlich.

Zitat

; are one (E0h) or two (E1h)
cmp al,0E0h
je Keyboard_Handler_E?h
cmp al,0E1h
je Keyboard_Handler_E?h

Ich glaube, du hast diue Labels falsch geschrieben. Anstatt einem "?" sollte da wohl 0 und 1 stehen?

Ansonsten:
Danke für das Tut

Du schreibst, dass man das Scancodeset 1 verwenden sollte.
Wie kann ich die Sets ändern?

Und:
Zitat

00168678000i[KBD  ] internal keyboard buffer full, ignoring scancode.(e0)
00168678000i[KBD  ] internal keyboard buffer full, ignoring scancode.(38 )
00170145000i[KBD  ] internal keyboard buffer full, ignoring scancode.(9d)
00170145000i[KBD  ] internal keyboard buffer full, ignoring scancode.(9d)

00170145000i[KBD  ] internal keyboard buffer full, ignoring scancode.(e0)
00170145000i[KBD  ] internal keyboard buffer full, ignoring scancode.(b8 )
00171935000i[KBD  ] internal keyboard buffer full, ignoring scancode.(1d)
00171935000i[KBD  ] internal keyboard buffer full, ignoring scancode.(9d)


Warum sendet Bochs hier für die Alt GR Taste 4 bytes?

Falls jemand den Code braucht:

INT9H:
[...]

CHECK_BUFFER:
MOV CX, 20
LEA SI, [BUFFER]
SEARCH_0:
CMP BYTE [SI], 0
JE S_OK
INC SI
LOOP SEARCH_0
;Ansonsten wäre der Buffer voll, gib hier einen Ton etc. aus.
JMP INT9H_END

S_OK:
IN AL, 64H
TEST AL, 1b ;statusbyte überpüfen, ob scancode vorhanden
JE INT9H_END
mov ah, 0eh
mov al, "u"
int 10h ;Dient nur als Test
IN AL, 60H
MOV [SI], AL
jmp INT9H_END

[...]

Biehler Productions

  • Beiträge: 51
    • Profil anzeigen
    • http://bielos.de.tk
Gespeichert
« Antwort #22 am: 15. August 2006, 20:33 »
Zitat von: T0ast3r


und wie in meinem tut so viel ich weiß steht da auch drin dass die tasten alt gr und druck falsch gesendet werden...  :wink:


Ja, das steht drinn, aber ich hab das auf etwas anderes bezogen  :D

Nun kann ich endlich meinen Treiber fertig machen :-)

MNemo

  • Beiträge: 547
    • Profil anzeigen
Gespeichert
« Antwort #23 am: 23. August 2006, 18:15 »
Zitat von: T0ast3r
Ach ja und wegen dem alt gr:
  bochs sendet (extended) strg vorraus!

strg gehört aber zu alt gr dazu
hat also nix mit bochs zu tun sondern ist einfach teil des scancodes(ALT Gr = STRG +  ALT)
d.h. die scancodes die bochs liefert sind alle korekt
„Wichtig ist nicht, besser zu sein als alle anderen. Wichtig ist, besser zu sein als du gestern warst!“

 

Einloggen