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


von Daniel Nöthen (Gast)


Angehängte Dateien:

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

von Mario (Gast)


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

von Daniel Nöthen (Gast)


Lesenswert?

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

von Daniel Nöthen (Gast)


Lesenswert?

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

von Jörg (Gast)


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

von Mario (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

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

Grüße, Mario

von Jörg (Gast)


Lesenswert?

Danke :-}

Gruß Jörg

von Daniel Nöthen (Gast)


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

von Mario (Gast)


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

von Rufus T. Firefly (Gast)


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.

von Daniel Nöthen (Gast)


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

von Jörg (Gast)


Lesenswert?

@Daniel

Klar "uppen" ;-)

Gruß Jörg

von Daniel Nöthen (Gast)


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

von Daniel Nöthen (Gast)


Angehängte Dateien:

Lesenswert?

Hier ist der versprochene Code :)

Gruß
Daniel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.