Vad är en skanningskod?

Väldigt få människor känner igen hur många beräkningar, koder och processer som används bara för att få upp ett tecken från ett datortangentbord på skärmen. En del av denna funktion är skanningskoden, eller en hexadecimal kod som motsvarar tangenten som trycks ned på tangentbordet. Det finns en skanningskod för varje tangent på tangentbordet, och det finns en annan separat skanningskod för när tangenten släpps. Tangentbord för olika teckenstrukturer, till exempel asiatiska språk, kommer att ha olika antal skanningskoder eftersom antalet tangenter skiljer sig åt. När knappen trycks in placeras koden i ett buffertområde så att datorn kan bearbeta och sedan lägga till tecknet eller känna igen nyckeln.

Hela tangentbordsprocessen kan delas upp i flera olika steg. När tangenten trycks in går skanningskoden in i tangentbordsbufferten. I bufferten används ett avbrott för att tala om för datorn att något har tryckts på tangentbordet. Efter att ha förstått att en tangent trycktes, tittar datorn på bufferten, kontrollerar den hexadecimala koden och lägger sedan till tecknet eller dess attribut på skärmen.

Både text- och kontrolltecken har skanningskoder. Textnycklar är de vanligaste – som innehåller bokstäver, siffror och symboler – men kontrolltecken används ofta också. Kontrolltecken är de som inte gör någon symbol utan påverkar dokumentet eller teckenbearbetningen, till exempel ”shift”-tangenterna eller ”enter”-tangenten.

Varje tangent på tangentbordet har faktiskt två olika skanningskoder, en för att trycka och en för att släppa. När en tangent trycks in ger den en skanningskod, och den andra koden lägger till 128 till hex-värdet. Detta kan tyckas värdelöst, eftersom det verkar sällsynt att någon håller en tangent i flera sekunder, men detta görs ofta med vissa kontrolltecken som ”shift”-tangenterna eller ”delete”-tangenten.

Det hexadecimala värdet för varje tangent skiljer sig beroende på tangentbordet. Varje företag har sitt eget tangentbord, och även om konfigurationen kan vara liknande eller till och med densamma som andra, kan skanningskoderna vara olika. Detta är vanligtvis för att tillåta tillverkaren att göra tangentbord med olika tangentkonfigurationer eller för att lägga till nya funktioner till tangentbordet, till exempel en ”print”-tangent.

En annan faktor för att bestämma det hexadecimala värdet för varje nyckel är språket som den är gjord för. Till exempel har japanska och engelska tangentbord olika antal tangenter eftersom antalet tecken som används skiljer sig åt. Olika engelsktalande länder, som USA och England, har också olika tangentbord; de flesta engelska tangentbord har 102 tangenter, och de flesta amerikanska tangentbord har 101.