Wie funktioniert ein Tastendruck (PC-Tastatur) bis das Signal am PC ankommt?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

"....Der PC weiss dass alle 8 Binärzeichen, aber woher weiss er bei 0011 das es nicht 01 ist? 0 = kein Strom und 1 = stromimpuls oder? "

Beim Druck einer jeden Taste (auch beim Loslassen!) wird vom controller in der Tastatur ein der Taste entsprechender normierter code erzeugt. Dieser code wird vom PC abgefragt und z.B. als "A" dargestellt (oder auch nicht, sondern ein Kommando ausgeführt, das kannst du, wenn du dir selber ein entsprechendes Programm schreibst, beliebige Aktionen programmieren).

"Wenn ich aber mehrere Tasten drücke, woher weiss er, welcher Code zu was gehört?" Wie gesagt: Beim Druck einer jeden Taste wird vom controller in der Tastatur ein der Taste entsprechender unterschiedlicher code erzeugt.

"wie funktioniert dass dann bei Sondertasen" Auch durch "Sondertasten" (du meinst wohl die, welche keinen Buchstaben oder Zahlen sind) wird genauso wie bei "normalen" Tasten vom Tastaturcontroller ein code erzeugt.

Beim einem joystick oder maus ist es ähnlich, auch da werden von den Geräte genormte codes erzeugt.

Soweit ich dich verstehe, willst du ein eigenes Eingabegerät benutzen / entwerfen. Du hast im Prinzip zwei Möglichkeiten: 1. Du erzeugst mit deinem Gerät codes (z. B. durch einen Microcontroller), die du dann in einem Programm auswerten musst, oder 2. dein Gerät ist passiv (analog, etwa Potentiometer), dann musst du mit einem eigenen Programm den Zustand abfragen und darauf reagieren. Ist nicht trivial!


DerDragonhunter 
Beitragsersteller
 30.06.2016, 12:32

Ok das hat mir weitergeholfen, aber was mich aus Neugier noch interessieren würde:

wie unterscheidet der PC, ob der ankommende Code 000111 oder 01 ist? Weil 0=kein Strom und 1=Strom. Und:

Verstehe ich folgendes richtig: Wenn ich A gedrückt halte, sendet er 1x den code für A unten bis ich loslasse und nicht wiederholt oder?

0
Anonym20199  30.06.2016, 13:50
@DerDragonhunter

wie unterscheidet der PC: Es wird von der Tastatur immer ein code mit gleicher Länge erzeugt: 8bit lang (entspricht 1 Byte,entspricht wiederum 2 EXP 8, somit 256 möglichen Kombinationen) d.h. 8 Stellen, wobei diese Stellen "0" oder "1" sind. Der erzeugte code, scancode genant, wird in den Tatstaturspeicher geschrieben, wo er dann von PC ausgelesen werden kann, und zwar immer eben 8 Stellen (Byte-)weise). "0" und "1" muss aber nicht heißen, dass bei "0" kein Strom fließt, bei "1" aber schon - das ist DSefinitionssache, es kann auch umgedreht sein (sog. negative Logik).

"Wenn ich A gedrückt halte, sendet er 1x den code für A unten bis ich loslasse und nicht wiederholt oder?" Ja. Die Wiederholungen die du z.B. in einem Textprogramm siehst, werden vom PC gemacht und kannst du auch ausschalten. Die Tastatur erzeugt nur den scancode, wie dieser scancode umgesetzt wird, also etwa in ein "A", macht wiederum der PC. Wenn du z. B. einen anderen Ländercode hast, erscheint bei einer "arabischen" PC ein anderes Zeichen. Die Tastaur ist aber völlig identisch mit einer deutschen, außer den Tastenbeschriftungen. Der scancode der linken mittleren Taste (bei den deutschen"A") ist somit bei allen Tastaturen gleich, aber wird je nach Ländercode in arabisch, griechisch, japanisch, chinesische...Zeichen vom PC umgesetzt. Streng genommen "sendet" die Tastatur auch nicht, sondern der scancode wird vom PC abgeholt. Abgesehen davon wird das Drücken einer Taste nicht einfach dadurch festgestellt, dass sich für jede Taste ein Kontakt schließt und genau dieser Kontakt nur für diese Taste da ist, sondern über eine Matrix abgefragt wird. Du siehst, dass allein über eine simple Tastatur sich leicht ein ganzes Buch füllen lassen würde.

Oberflächlich beschrieben z. B. bei https://de.wikipedia.org/wiki/Tastatur

1

Kurz und einfach: Bei einem Tastendruck werden zwei getrennte Leiter miteinander verbunden und Strom fließt. Dieses Stromsignal wird im Computer mithilfe von Treibern und Programme im Prozessor verarbeitet und an den Bildschirm über die Grafikkarte zur Ausgabe weitergeleitet. 


DerDragonhunter 
Beitragsersteller
 29.06.2016, 12:03

Was ich suche geht mehr in die Materie, mich interessiert eigentlich der Moment, wo der Stromkreis in das Koppelfeld gelangt, verarbeitet wird und was dann an den PC gesendet wird. Ich möchte ein eigenes Eingabegerät konzipieren, aber beim Übergang von der Eingabe zum Leiter (welcher zum Konverter und dieser wieder zum PC führt) ist ein Gelenk dazwischen, und ich muss wissen wie ich das Problem dort lösen kann, ohne die Demontierbarkeit oder 361°+ Drehbarkeit zu beeinträchtigen. Also brauche Ich Kontaktstellen. Wie viele? 2 für + und -? oder 4 für Strom und Signal je + und -? Das ist erst der Anfang, und mit dem Prinzip der Tastatur hätte ich eigentlich alle Fragen beantworten können die sich mir noch in den Weg stellen... Ausserdem, ich plane mehr als 1x dieses Eingabegerät anzuschliessen, und wenn beide Geräte dieselben Aktionen auslösen, wäre das schlecht. es muss getrennt sein.

0
DanBam  29.06.2016, 12:12
@DerDragonhunter

Was willst Du mit einem mechanischen Keyboard, wenn in modernsten Labore, Büros vieles mit Touchscreens, Rubberdomes usw. erledigt wird? 

0
DerDragonhunter 
Beitragsersteller
 29.06.2016, 12:26
@DanBam

Kein Keyboard :) ein Eingabegerät, nach meinem Eigenen Entwurf (den ich noch am Erstellen bin). Aber ich habe mir gedacht, ich könnte es gleich auch direkt PC-Kompatibel konzipieren

0

https://de.wikipedia.org/wiki/Tastatur sollte dir weiterhelfen


DerDragonhunter 
Beitragsersteller
 29.06.2016, 12:07

Danke dort war ich auch schon... Es hat mir zwar etwas weitergeholfen, aber ich hoffte auf andere Information (siehe bitte Kommentar von mir zu DanBam's Antwort). Die Sache ist ausserdem die, dass ich meine Lösung / mein Plan / Vorhaben an den Gegebenheiten anpasse, und hier wollte ich diese zum Teil herausfinden

0

im grunde ist alles am pc mit tasten und sensoren nicht viel anders als bei jedem einfach lichtschalter, das simple binäre system: strom fließt oder nicht, 1 oder 0.


DerDragonhunter 
Beitragsersteller
 29.06.2016, 11:01

Klar und wenn ich Licht An Licht Aus mache war das 11111000 oder 10000000 oder 11100000... und all meine anderen Fragen?
und was ist mit dem Koppelfeld? und dem Joystick? dort ist dann die Stromstärke wie weit der Joystick geneigt ist? oder einfach 00000001 bis 0111111 für 1° bis 45°?

Ich möchte mir sozusagen was eigenes bauen (lassen) für den PC und brauche dazu dieses Wissen

1
noname68  29.06.2016, 11:04
@DerDragonhunter

warum zerbrichst du dir über solche banalitäten den kopf? willst du die pc-technik revolutionieren und alles neu erfinden? würdest du z.b. einen motor zerlegen, nur um zu sehen, wie der verbrennungsablauf aussieht?

mir ist es egal, ob ich beim schreiben dieses kommentars auf meiner tastatur nullen oder einsen oder millionen davon in welcher reihenfolge auch immer "produziere". wichtig ist nur, was dabei herauskommt, vielen dank lieber pc!

0
DerDragonhunter 
Beitragsersteller
 29.06.2016, 11:13
@noname68

Nein, und wegem Motor: nein ich zerlege den Motor nicht, ich FRAGE nach. zb Google oder hier. Und nebenbei: wenn du die Antwort nicht weisst und nur so einen Dummen Spruch bringen kannst, antworte doch bitte nicht. Danke

1