mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tastaturcode PS/2


Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn ich das richtig verstanden habe wird bei einem tastendruck
über die PS/2 Schnittstele der tastencode so lange übertragen, wie die
taste gedrückt ist, richtig???

Aber was passiert wenn man jetzt STRG + irgend ne andere taste
drückt??? Werden die beiden tastencodes abwechselnd ausgegeben???

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm ich knn da nix zu meiner frage finden.

Meine frage ist was passiert wenn ich z.B. strg+G gleichzeitig
drücke???

Ich denke wenn eine Taste gedrückt bleibt wird der tastencode immer
wieder gesendet(wie oft kann man ja per command einstellen), ist das
richtig so???

Auf was bezog sich das nö???

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tastenwiderholung ist reine Betriebssystemsache, da macht die Tastatur
nix dran.

Tastatur schickt einmal beim drücken, und nochmal beim loslassen der
Taste.

Bei wikipedia gibts da nen Artikel zu, heisst treffenderweise
"Tastatur"...

http://de.wikipedia.org/wiki/Tastatur

/Ernst

Autor: Ivan der Schrecklichste (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Tastenwiderholung ist reine Betriebssystemsache, da macht die
>>Tastatur nix dran.

>>Tastatur schickt einmal beim drücken, und nochmal beim loslassen der
>>Taste.

Also das ist definitiv falsch. Nimm mal ne Tastatur, versorg sie mit
5V, häng ein Oszi an Data bzw. Clk und Du wirst sehen, daß beide
Signale von der Tastatur erzeugt werden und wiederholt werden, solange
die Taste gedrückt ist. (ich glaube 10 mal pro Sekunde)

Autor: Andreas Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> hmm ich knn da nix zu meiner frage finden.

> Meine frage ist was passiert wenn ich z.B. strg+G gleichzeitig
> drücke???

Aber das ist doch dort (http://www.beyondlogic.org/keyboard/keybrd.htm)
genau beschrieben - in den ersten beiden Absätzen nach "PC Keyboard
Theory".

Wenn du <strg> drückst wird der scan code für <strg> gesendet. Wenn die
Taste gedrückt bleibt, wird der Code solange wiederholt, bis die Taste
losgelassen wird oder eine andere Taste gedrückt wird. Für <strg><G>
wirst du also etwas wie

 14 14 .. 14 12 12 .. 12 34 34 .. 34 ..  bekommen.

14 = scan code <strg>
12 = scan code <shift>
34 = scan code <e>

Autor: Kai Riek (kairiek)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Wiederholungsfunktion ist nicht zwingend in jeder Tastatur vorhanden
bzw. aktiviert.
Ich habe mal eine Tastatur an nen PIC angeschlossen und die Zeichen
dann an einen 24Nadeldrucker ausgegeben. Da war es so:
Die Tastatur sendet den Make- und den Break-Code (Drücken / Loslassen)
der Taste. Diese beiden Codes müssen entsprechend verarbeitet werden.
Wenn du nun Strg+Alt+... drückst erzeugt deine Tastatur die Make-Codes
die du dir merken mußt. So kannst du dann feststellen welche
Kombination gerade gedrückt wird.

MFG

Kai

Autor: Kai Riek (kairiek)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe dir mal ein paar Infos aus meiner Datenblätter-Sammlung
angehängt...

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da schau her... einmal auf Wikipedia verlassen und schon daneben
gelangt...

Wenigstens stimmte das mit den Key-Release Codes, insofern würde auch
eine Auswertung darüber funktionieren:

KeyPress "Ctrl" -> set bit 0
KeyPress "Ctrl" -> set bit 0
KeyPress "Shift" -> set bit 1
KeyRelease "Ctrl" -> clear bit 0
KeyPress "Shift" -> set bit 1
KeyPress "Ctrl" -> set bit 0
KeyPress "G" ->check if bit0+1 set, jump to CTRL-SHIFT-G handler...

Die mehrfach wiederholten KeyPresses kann man dann einfach ignorieren.


/Ernst

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke jetzt is mir alles klar!!!

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
desonderer danke an Kai Riek für die zip mit den Massen an Infos!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.