mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Keyboardencoder - prob mit linkem shift


Autor: Daniel Nöthen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hab ein Keyboardencoder gebastelt.
Jetzt wo ich das Shift implementieren wollte, bin ich auf ne komische
Sache gestossen.
Also meine Vermutung ist, dass meine Tastatur (Cherry) bei dem linkem
Shift kein break code sendet. Kann das sein?
Mit dem rechten Shift klappt alles wunderbar, die Buchstaben werden nur
gross ausgegeben, wenn dieser gedrückt ist. Bei dem linken Shift
allerdings, werden alle Buchstaben gross geschrieben, sobald ich die
Taste einmal gedrückt habe.

Ich hab euch mal den Code mit angehangen (ATmega8).

Btw. falls jemand noch Verbesserungsvörschläge hat, kann er die gerne
äussern :)

Vorallem die Abfrage-Routine die überprüft welche Taste gedrückt wurde,
find ich was aufgeblasen. Aber leider konnte ich keinerlei Algorithmus
der Make-codes finden :(

Besten Dank.
Daniel

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also die sollte schon einen Break-Code senden beim Loslassen der
Shift-Taste. Kannst du die Tastatur mal an einem PC testen ? Da müsste
ja dann alles großgeschrieben sein, wenn tatsächlich kein Break-Code
kommt.

Übrigens, ich hab sowas auch mal gemacht, bei Interesse kannst Du ja
mal auf meine Homepage gucken (ich weiß, Eigenwerbung stinkt, aber es
passt eben gerade zum Thema... g): www.mario001.de

Grüße, Mario

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also an nem PC funktioniert die erste Sahne.
Aber ich kann auch kein Fehler im Code finden :(

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Mario:
Wieso veröffentlichst du denn nicht den Sourcecode?
Dann haben alle was davon :)

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Mario:

Ich bastel gerade an einem Morsezeichengenerator für meine Kinder.
Umsetzung Text in Morsecode klappt schon.
Hatte auch vor die Eingabe über Tastatur und Anzeige über Display zu
gestalten.

Hätte daher auch Interesse am Code.

Gruß Jörg

Autor: Mario (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ok ok, ihr habt gewonnen ;-) Ich häng euch das C-File mit an (erstellt
unter WinAVR).

Grüße, Mario

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke :-}

Gruß Jörg

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh super danke!
Verräts du mir/uns auch, wo du die Scancodes für Deutsche Tastaturen
her hast? Ich find nur die für englische. Evtl. liegt da auch mein Prob
mit dem shift begraben.

Gruß
Daniel

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

damit hast du implizit einen Verbesserungsvorschlag für meine Homepage
gemacht -- eine Tabelle für die Scancodes fehlt noch ;-)

Ich hatte anfangs auch nur die für englische Tastaturen gefunden, und
hab mir dann in der ersten Entwicklungsstufe nur den jeweiligen
Make-Code der Taste auf dem Display anzeigen lassen. So hab ich dann
die unbekannten Scan-Codes rausgefunden.

Also der Scan-Code für die linke Shift-Taste ist 0x12, der ist bei
deutschem und englischem Layout gleich.

Grüße, Mario

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Scancodes sind bei allen Tastaturen gleich, unabhängig von deren
Beschriftung. Entscheidend ist die Position der Taste auf der
Tastatur.
Es gibt nur leichte Unterschiede in der Tastenanordnung, daher wird
zwischen 101 und 102-Tasten-Tastaturen unterschieden
(nicht-US-Tastaturen haben eine Taste mehr als US-Tastaturen).
Mittlerweile sind es 104- und 105-Tasten-Tastaturen, wegen der Windows-
und Kontextmenü-Tasten, das Prinzip aber bleibt das gleiche und hat sich
seit etwa 1986 nicht geändert (damals wurde die sogenannte
MF-II-Tastatur mit 101/102 Tasten).
Ältere Tastaturen (XT-Tastatur oder AT-Tastatur) verwenden andere
Scancodes bzw. sogar ein anderes Übertragungsprotokoll.

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

soo ich wollte nur bescheid sagen, dass ich es jetzt am laufen habe.
Woran es genau lag, kann ich nicht sagen. Ich habe so einiges am Code
geändert. Bei Interesse kann ich diesen gerne uppen.

MfG
Daniel

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Daniel

Klar "uppen" ;-)

Gruß Jörg

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bau noch ein paar mehr Tasten ein, dann kannst Du ihn haben :)

Mir is übrigens grade aufgefallen, das das Ding ja nen Decoder is und
kein Encoder. Und keiner hats gemerkt g

Gruß
Daniel

Autor: Daniel Nöthen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist der versprochene Code :)

Gruß
Daniel

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.