Stap 1: De invoer van het toetsenbord van de PS/2
De invoer van het toetsenbord is eenvoudig te begrijpen. Er zijn verschillende dingen om te weten:
1. Wanneer het toetsenbord input niet verzendt, verzendt het een constante (hoge) 1 voor haar gegevens, evenals de klok.
2. een enkele toets drukt zal bestaan uit ten minste 33 bits van invoer van het toetsenbord.
3. Wanneer een toets eerst gedrukt wordt, verzendt 11 stukjes van de gegevens in de vorm van een 'make' code. Wanneer het wordt vrijgegeven, stuurt deze een code 11 bits 'pauze', procedure met dezelfde code opnieuw maken. (Er zijn uitzonderingen bij het indrukken van toetsen, maak je geen zorgen over deze teveel)
4. het toetsenbord stuurt de maken met dezelfde 11 bits code over en weer, terwijl u een specifieke toets ingedrukt.
5. het toetsenbord stuurt gegevens op de negatieve rand van de klok.
6. het toetsenbord heeft zijn eigen klok die u kunt lezen. U hoeft niet te definiëren van uw eigen klok om te werken met het toetsenbord.
.
Uit te breiden, toont de eerste afbeelding wat het toetsenbord stuurt binnen elke 11 bits. Het stuurt eerst een nul te beginnen, dan 8 bits van specifieke gegevens voor de sleutel die u ingedrukt (de make code), een pariteitsbit (PB), en ten slotte werd een transactie te stoppen. De pariteitsbit is een één- of een nul, afhankelijk van hoeveel 1s in de make-code. Als er een even aantal degenen, zal het 1, en als er een oneven aantal ones, het pariteitsbit 0 zal zijn. Het wil maken van het totale aantal degenen een oneven getal. [2]
Als u het toetsenbord maken/break codes opzoeken, zijn er vele bronnen. Probeer deze. Opmerking dat alle toetsaanslagen dezelfde pauze code gemeen hebben: F0.
.
Deze informatie zal alleen van toepassing op een PS/2-toetsenbord, probeer niet om een ander type van toetsenbord gebruiken met een adapter en verwachten hetzelfde resultaat.
De output van onze module toetsenbord is een uitgang voor een 5 bits op 'een warm', de richting die de slang gaat hangt af van de positie van de 1.