.| Autor | Beitrag |
|---|---|
|
000 07.12.2002, 21:55 Retro |
Ich bau grad an nem Programm für nen Mikroprozessor welches eine 101-Tasten Matrixtastatur ausliest, es soll das entsprechende ASCII-Zeichen per RS232 senden... Funktioniert auch alles prima, nur jetzt steh ich vor einem Rätsel - Was sendet die Tastatur bei Tasten wie F1..F12, PrtSc, Pause, Insert, Home, PgUp, Delete, End, PgDn, Pfeiltasten, Num-Block, ... Es müssen ja mindestens zwei Byte sein. Dass die Tastatur nicht über RS232 sendet weiss ich auch, aber es geht eher drum was der PC drauß interpretiert... (Nicht das OS!!). Wenn sich das nicht aufklären lässt, oder wenn es dann doch vom OS interpretiert wird, soll mir das auch recht sein, nur solange es Standards gibt möcht ich nicht mein eigenes Süppchen kochen. Hab leider nichts konkretes zu dem Thema gefunden, da ich ja nicht im Gray-Code arbeite... --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
001 07.12.2002, 23:05 Tron |
mal schauen, ob ich es noch richtig weiss... prinzipiell ist eine taste eine taste, ob A, ESC, Strg oder Pause, alle sind von der sicht des tastatursteckers (z.b. bei PCs auf port 0x60 (iirc) abgebildet) gleich: daraus folgt, dass eine tastatur nur den make-code fuer A kennt, weder gros noch klein, einfach nur der make-code fuer A, erst das bios (bzw. ein tastaturtreiber) wandelt das in ASCII 97 (a), bzw falls shift ebenfalls als gedrueckt erkannt wurde ASCII 65 (A), um. je nach auslegung der kontakt-matrix in der tastatur, kann es sein, dass sich einige tasten gegenseitig blockieren oder nur eine maximale anzahl an gleichzeitig niedergedrueckten tasten (mit bestimmten verteilungsmustern auf der tastatur) moeglich ist, in extremen faellen kann es sogar zu phantom-tasten kommen, aber alle diese effekte treten bei 'normaler' benutzung (also texteingabe, nicht mehrere-leute-zocken-an-einer-tastatur) nicht auf. mal schnell gegoogelt, vielleicht hilft dir das weiter (hab's net genau gelesen): 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
002 07.12.2002, 23:42 Retro |
Danke, das hat mir schon weiter geholfen... Die sache ist ja dass ich keine PC-Tastatur nachbauen will, eher ein Eingabegerät (=Tastatur) für einen Systemrechner. Was er intern damit macht ist ja eigentlich ziemlich wurscht, währe nur praktisch gewesen wenn die eigene Verarbeitung mit dem Standard konform wäre... Die Tastatur ist als X(12)Y(16)-Matrix aufgebau in dem jede Taste einen Konotenpunkt besitzt. Ich hab jetzt einen Oszillator mit Zähler und 1of12 Decoder... Die Ausgänge sitzen auf den X-Leitungen von der Tastatur und gleichzeitig auf 12 Input-Pins des Mikroprozessors.. die 16 Y-Leitungen sitzen ebenfalls an 2 Ports des Prozessors... Wenn nun eine der Y-Leitungen Hi liegt, wurde mindestens eine Taste gedrückt. Dann frage ich hiermit ab welche es ist: Dann werd ich jetzt für Sondertasten einfach zwei Byte senden... Somit ist dann auch alles machbar.. Danke für deine Hilfe! --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ Dieser Beitrag wurde am 07.12.2002 um 23:44 von Retro bearbeitet. |
|
Profil || Suche |
|
003 08.12.2002, 08:39 Tron |
deine elektronik haengt _direkt_ an der kontakt-matrix? nicht hinter der ueblichen tastatur-elektronik? waere es nicht geschickter, das ganze als 2dimensionales array zu realisieren? diese unmenge an ifs ist weder schnell noch platzsparend --'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
004 08.12.2002, 17:13 Retro |
Richtig, die Elektronik stellt die "Ansteuerung" für die Tastatur dar, Phantomtasten sind durch meinen Aufbau nicht möglich... Es ist immer nur eine einzige X-Leitung und für jede gedrückte Taste eine Y-Leitung Hi. Da liegt ja der sinn des externen Zählers, ich hätte ja genausogut die Y-Pins des Prozessors als Ausgang definieren können, dann währe die Phantomtastenproblematik aber vorhanden. Bzw. funktioniert es ja schon bestens, ich wusste nur noch nicht was ich bei Sondertasten senden soll... Mit nem Array könnte ich mir da auch keine Arbeit spaaren, hinter KEY_X verbirgt sich nämlich ein Makro: Platzsparend ist das wirklich nicht, aber ich hab 8kB speicher, also genug.. Der Mikroprozessor läuft mit 8MIPS bei 8MHz und ein IF benötigt nur 2 Taktzyklen... Also mehr oder weniger egal, so schnell wie die Elektronik läuft kann _kein_ Mensch tippen ;) --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |

