Scancode - Scancode

Scancode (nebo kód skenování ) je v datech, že většina počítačových klávesnic odeslat do počítače, zprávy, které byly lisované klíče. Každému tlačítku na klávesnici je přiřazeno číslo nebo posloupnost čísel.

Varianty

Mapování klíčových pozic podle řádku a sloupce vyžaduje méně složitý počítačový hardware ; proto bylo v minulosti použití softwaru nebo firmwaru k překladu skenovacích kódů na textové znaky levnější než propojení klávesnice s textovým znakem. Tento rozdíl v nákladech není tak hluboký, jako tomu bylo dříve. Mnoho typů počítačů však k zachování zpětné kompatibility stále používá své tradiční skenovací kódy .

Některé standardy klávesnice zahrnují skenovací kód pro každou stisknutou klávesu a jiný pro každou uvolněnou klávesu. Mnoho standardů klávesnice (například standardy kompatibilní s IBM PC ) navíc umožňuje samotné klávesnici generovat „ typematické “ opakující se klávesy tak, že klávesnici samotnou generuje opakovaně skenovaný kód stisknuté klávesy, zatímco je klávesa držena stisknutá, s odeslaným uvolňovacím skenovacím kódem jednou po uvolnění klíče.

Sady skenovacích kódů

V některých operačních systémech lze zjistit skenovací kód pro stisknutí klávesy podržením klávesy během spouštění počítače. S trochou štěstí bude skenovací kód (nebo jeho část) specifikován ve výsledné chybové zprávě „zablokovaný klíč“. [Poznámka: Ve Windows 7 se zobrazí pouze jeden bajt skenovacího kódu.]

Kompatibilní s PC

Scancodes na klávesnicích počítačů kompatibilních s IBM PC jsou sady 1 až 3 bajty, které jsou odesílány klávesnicí. Většina znakových klíčů má jednobajtový skenovací kód; klávesy, které provádějí speciální funkce má 2-byte nebo 3-byte kodu, obvykle začíná s bytem (v šestnáctkové soustavě) , nebo . Několik klíčů navíc odesílá delší skenovací kódy, což efektivně emuluje řadu klíčů, což usnadňuje zpracování různých typů softwaru. E0E1E2

Klávesnice PC, protože klávesnice PS / 2 podporuje až tři sady skenovacích kódů. Nejčastěji se vyskytují skenovací kódy „XT“ („sada 1“) založené na klávesnici s 83 klávesami, kterou používá IBM PC XT a starší. Většinou se skládají z jednoho bajtu; nízkých 7 bitů identifikuje klíč a nejvýznamnější bit je jasný pro stisk klávesy nebo je nastaven pro uvolnění klávesy. Některé další klávesy mají E0(nebo zřídka, E1nebo E2) prefix. Ty byly původně přiděleny tak, že ignorování E0předpony (která je v rozsahu klíčování, a proto by neměla žádný vliv na operační systém, který jim nerozuměl), by přineslo přiměřené výsledky. Například klávesa Enter na numerické klávesnici vytváří skenovací kód E0 1C, který odpovídá skenovacímu kódu běžné klávesy Enter 1C.

Počítač IBM 3270 PC představil vlastní sadu skenovacích kódů („sada 3“) s odlišným číslováním klíčů a kde je uvolnění klíče označeno F0předponou. Kvůli zpětné kompatibilitě je počítač 3270 přeložil do kódovacích kódů XT (sada 1) pomocí přídavné karty a rozšíření systému BIOS. Tuto sadu používá Linux ve výchozím nastavení, když detekuje klávesnici PS / 2, která dokáže správně podporovat sadu kódů skenování 3.

IBM PC AT představil "AT" ( "set 2") kodu. Na klávesnici AT s 84 klávesami to byly z velké části podmnožina sady 3, s některými rozdíly způsobenými revidovaným uspořádáním (například se změnila poloha a skenovací kódy funkčních kláves ). Přidané klíče, protože PC AT často mají v sadě 2 a sadě 3 různé skenovací kódy a v sadě 2 mají často předponu E0nebo E1. Uvolnění klíče je opět označeno F0předponou.

U počítačů od IBM PC AT překládá řadič klávesnice na základní desce skenovací kódy AT (sada 2) na skenovací kódy XT (sada 1) v takzvaném režimu překladu . Tento překlad lze deaktivovat v průchozím režimu , což umožňuje vidět surové skenovací kódy. To, zda se vývojář softwaru setká se skenovacími kódy AT nebo XT na moderním počítači kompatibilním, závisí na tom, jak se přistupuje ke klávesnici.

Kompatibilní klávesnici PS / 2 lze nastavit tak, aby odesílala skenovací kódy v sadách 1, 2 nebo 3.

Ukázkové kódy kompatibilní s PC (IBM PS / 2)
klíč sada 1 ( IBM PC XT ) sada 2 ( IBM PC AT ) sada 3 ( IBM 3270 PC )
lis uvolnění lis uvolnění lis uvolnění
A (normální písmeno) 1E 9E 1C F0 1C 1C F0 1C
Zpět / Enter (hlavní klávesnice) 1C 9C 5A F0 5A 5A F0 5A
Enter ( numerická klávesnice ) E0 1C E0 9C E0 5A E0 F0 5A 79 F0 79
Levé tlačítko Windows E0 5B E0 DB E0 1F E0 F0 1F 8B F0 8B
Pravý klíč Windows E0 5C E0 DC E0 27 E0 F0 27 8C F0 8C

USB

Klávesnice USB používají novou sadu skenovacích kódů, většinou specifikovaných ve standardu USB. Všechny počítače, které rozpoznávají klávesnice USB, tyto nové skenovací kódy rozpoznávají.

Viz také

Reference

externí odkazy