Het proces waarbij een toetsaanslag correct wordt geïnterpreteerd door een computer, bestaat uit meerdere stappen waarbij hardware en software betrokken zijn:
1. Fysieke toetsaanslag: Wanneer u op een toets drukt, wordt onder de toets een fysiek mechanisme (meestal een membraan- of mechanische schakelaar) geactiveerd. Door deze sluiting ontstaat er een elektrisch signaal.
2. Toetsenbordcontroller: Het toetsenbord zelf bevat een microcontroller (een kleine computer), een zogenaamde toetsenbordcontroller. Deze controller detecteert het signaal van de toetsaanslag en zet dit om in een scancode. Een scancode is een uniek nummer dat aan elke toets op de toetsenbordindeling wordt toegewezen. Het is een weergave op laag niveau van de ingedrukte toets, onafhankelijk van welk teken deze vertegenwoordigt (bijvoorbeeld 'A', '1' of een functietoets).
3. Verzending naar computer: De toetsenbordcontroller stuurt de scancode(s) naar de computer via een verbinding, meestal USB of PS/2. Dit gebeurt meestal via interrupts, die aan de CPU doorgeven dat er nieuwe gegevens beschikbaar zijn.
4. Interpretatie van het stuurprogramma: Het besturingssysteem (OS) van de computer gebruikt een toetsenbordstuurprogramma – een klein stukje software – om deze scancodes te ontvangen. De chauffeur vertaalt de scancode naar een sleutelcode. Keycodes zijn vergelijkbaar met scancodes, maar zijn vaak gestandaardiseerd voor verschillende toetsenbordtypen. Deze stap behandelt verschillende toetsenbordindelingen (QWERTY, Dvorak, AZERTY, enz.).
5. Besturingssysteem-afhandeling: Het besturingssysteem interpreteert vervolgens de sleutelcode op basis van de huidige toetsenbordindelingsinstellingen en de applicatie waarmee de gebruiker communiceert. Deze stap omvat:
* Indelingstoewijzing: Het vertalen van de sleutelcode naar het overeenkomstige teken (of een andere actie) op basis van de momenteel actieve toetsenbordindeling. Dit is de reden waarom dezelfde fysieke sleutel verschillende outputs kan produceren, afhankelijk van de lay-out.
* Wijzigingstoetsen: Rekening houdend met modificatietoetsen zoals Shift, Ctrl, Alt of Command, die de betekenis van een toetsaanslag kunnen veranderen (bijvoorbeeld 'a' versus 'A').
* Speciale toetsen: Omgaan met speciale toetsen zoals Enter, Tab, Escape, functietoetsen en pijltjestoetsen, waarvoor specifieke acties zijn gedefinieerd door het besturingssysteem en de applicaties.
* In de rij staan: Het besturingssysteem wacht gewoonlijk toetsaanslagen. Dit betekent dat als u snel typt, het besturingssysteem niet elke toetsaanslag afzonderlijk en onmiddellijk verwerkt, maar deze in batches verwerkt om de efficiëntie te verbeteren.
6. Aanvraagverwerking: Ten slotte ontvangt de applicatie die invoer ontvangt (zoals een tekstverwerker of een spel) de karakters of acties die worden gegenereerd door de toetsaanslagen en verwerkt deze dienovereenkomstig.
Kortom, een toetsaanslag ondergaat een reis van een fysieke gebeurtenis naar een softwareactie, waarbij onderweg meerdere niveaus van vertaling en interpretatie plaatsvinden, zodat uw getypte invoer resulteert in het beoogde effect op de computer. Het proces is grotendeels verborgen voor de gebruiker, maar het is een geavanceerd systeem dat een grote verscheidenheid aan invoermogelijkheden verwerkt. |