Processen för en tangenttryck som tolkas korrekt av en dator är en flerstegsprocess som involverar hårdvara och programvara:
1. Fysisk keypress: När du trycker på en knapp aktiveras en fysisk mekanism (vanligtvis ett membran eller en mekanisk switch) under nyckeln. Denna stängning skapar en elektrisk signal.
2. tangentbordskontroller: Själva tangentbordet innehåller en mikrokontroller (en liten dator) som kallas en tangentbordskontroll. Denna styrenhet upptäcker signalen från tangentpressen och konverterar den till en skanningskod. En skanningskod är ett unikt nummer som tilldelats varje tangent i tangentbordslayouten. Det är en låg nivå representation av den tryckta tangenten, oberoende av vilket tecken den representerar (t.ex. 'a', '1' eller en funktionsnyckel).
3. transmission till dator: Tangentbordskontrollen skickar skanningskoden till datorn via en anslutning, vanligtvis USB eller PS/2. Detta görs vanligtvis genom avbrott, vilket signalerar till CPU att nya data är tillgängliga.
4. Förartolkning: Datorns operativsystem (OS) använder en tangentborddrivrutin - en liten mjukvara - för att ta emot dessa skanningskoder. Föraren översätter skanningskoden till en nyckelkod. KeyCodes liknar skannkoder men är ofta standardiserade över olika tangentbordstyper. Detta steg hanterar olika tangentbordlayouter (Qwerty, Dvorak, Azerty, etc.).
5. OS -hantering: OS tolkar sedan tangentkoden baserat på de aktuella inställningarna för tangentbordslayout och applikationen som användaren interagerar med. Det här steget innebär:
* Layout Mapping: Översätta nyckelkoden till motsvarande tecken (eller annan åtgärd) baserat på den för närvarande aktiva tangentbordslayouten. Det är därför samma fysiska nyckel kan producera olika utgångar beroende på layouten.
* Modifiernycklar: Med hänsyn till modifieringsknappar som Shift, Ctrl, ALT eller COMMAND, som kan ändra betydelsen av ett tangenttryck (t.ex. 'A' vs. 'a').
* Specialnycklar: Hantera specialnycklar som Enter, Tab, Escape, Function Keys och Arrow Keys, som har specifika åtgärder definierade av operativsystemet och applikationerna.
* kö: OS står vanligtvis i kö. Detta innebär att om du skriver snabbt, behandlar OS inte varje nyckeltryck individuellt och direkt, utan snarare satsar dem för att förbättra effektiviteten.
6. Applikationsbehandling: Slutligen tar applikationen som tar emot input (som en ordbehandlare eller ett spel) de karaktärer eller åtgärder som genereras från nyckelpressarna och bearbetar dem i enlighet därmed.
Kort sagt, en KeyPress genomgår en resa från en fysisk händelse till en mjukvaruåtgärd, med flera nivåer av översättning och tolkning som sker på vägen, vilket säkerställer att din typade ingång resulterar i den avsedda effekten på datorn. Processen är till stor del dold för användaren, men det är ett sofistikerat system som hanterar ett brett utbud av inmatningsmöjligheter.