Lowlevel

Lowlevel => OS-Design => Thema gestartet von: UbuntuPro am 29. September 2009, 14:55

Titel: Keyboardcorntroller
Beitrag von: UbuntuPro am 29. September 2009, 14:55
Hallo Leute!

Ich bin neu Hier und ich habe gleich mal eine Frage. Es gibt ja ein super Tutorial in Lowlevel über Keyboardcontroller, aber ich brauche eine genaue Anleitung wie ich mit assembler und c++ oder c es so schreiben kann, sodas ich jedes Zeichen eingeben kann und dann in einer Variable gespeichert wird in c/c++.

Bitte um Hilfe :)

MFG
Titel: Re: Keyboardcorntroller
Beitrag von: rizor am 29. September 2009, 15:39
Wie meinst du das?
Willst du einfach nur den Keycode speichern oder möchtest du das ganze gleich durch eine Keymap jagen?

Hier ist ein Tut, ist zwar nicht das beste, es gibt dir aber ein paar Einblicke:
http://www.osdever.net/bkerndev/Docs/keyboard.htm

EDIT:
Bitte verschieben.
Sieht mir mehr nach Coding aus.
Titel: Re: Keyboardcorntroller
Beitrag von: kevin am 29. September 2009, 15:48
Wie du die Tasten bekommst (bzw. die Scancodes), steht im Wikiartikel (http://lowlevel.brainsware.org/wiki/index.php/KBC). Die Weiterverarbeitung in C/C++ solltest du selber können, wenn du ein OS drin schreiben willst.
Titel: Re: Keyboardcorntroller
Beitrag von: UbuntuPro am 20. October 2009, 18:59
ach kommt schon  :cry:
könnt ihr mir nicht sagen, wie ich des von assembler in c in eine variable speichern kann.
Das mit assambler kann ich ja etz aber nicht die umschwenkung zu c

bitte  :cry:
Titel: Re: Keyboardcorntroller
Beitrag von: kevin am 20. October 2009, 19:35
Ah, dein Problem liegt nicht bei der Ansteuerung der Hardware, sondern mehr, wie man das in C umsetzt? Dann habe ich deine Frage falsch verstanden.

Alles, was du brauchst, sind ja im Prinzip die inb/outb-Funktionen in C, um auf die Tastaturports zuzugreifen. Schau dir mal den Artikel über Inline-Assembler (http://lowlevel.brainsware.org/wiki/index.php/Inline-Assembler_mit_GCC) an. inb ist sogar eins von den Beispielen mit Code dort, outb geht analog.
Titel: Re: Keyboardcorntroller
Beitrag von: UbuntuPro am 21. October 2009, 15:58
danke :)

und wie speichere ich den Wert der von der Tastertur zum PC kommt in einer variable?
Titel: Re: Keyboardcorntroller
Beitrag von: rizor am 21. October 2009, 16:29
Du liest den keycode doch mit outb aus.
Der wert der zurück kommt ist der keycode (vereinfacht gesagt).
Und wie man das speichert weißt du, oder?

Wenn nicht, solltest du dir vllt erst mal ein paar Tutorials zu C/C++ durchlesen.
Titel: Re: Keyboardcorntroller
Beitrag von: Cool-Andy am 21. October 2009, 19:02
Schau mal hier: http://lowlevel.brainsware.org/forum/index.php?topic=2306.0

Da wollte ich auch ein Tastaturtreiber schreiben (auch wenn der Titel anders ist), was ich dann auch hinbekommen habe. Ich finde da stehen ein paar ganz brauchbare Codes drin.

Ich hoffe ich helfe dir damit!  :wink:
Titel: Re: Keyboardcorntroller
Beitrag von: pgahlen am 23. June 2010, 15:11
Hm ich bin auch gerade dabei einen Keyboardtreiber zu schreiben. Ich habe mich sehr stark an das Tutorial gehalten. Zusätzlich habe ich noch ein kprintf eingebaut, das mir den Scancode ausgibt.

Nachdem die Tastatur initialisiert wurde gibt er einen Scancode 250 aus.
Wenn ich nun eine Taste drücke sollte eigentlich ein anderer Scancode darunter kommen, dieser erscheint aber nicht.
Titel: Re: Keyboardcorntroller
Beitrag von: bluecode am 23. June 2010, 15:22
Eventuell hast du vergessen einen EOI an die PIC zu senden, siehe auch den entsprechenden Artikel (http://www.lowlevel.eu/wiki/PIC_Tutorial#ISRs_programmieren) im Wiki.
Titel: Re: Keyboardcorntroller
Beitrag von: pgahlen am 23. June 2010, 18:03
Oh, danke
Mir ist gerade aufgefallen das ich mich noch gar nicht mit dem PIC auseinandergesetzt habe. Das werde ich jetzt erst mal als erstes tun