Naskenovat kód - Scancode
tento článek potřebuje další citace pro ověření.Říjen 2011) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
A skenovací kód (nebo naskenovat kód) jsou data, která nejvíce počítačové klávesnice poslat do a počítač ohlásit, které klávesy byly stisknuty. 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 v minulosti používal software nebo firmware přeložit skenovací kódy na textové znaky bylo levnější než propojení klávesnice s textovým znakem.[1] Tento rozdíl v nákladech není tak hluboký, jako tomu bylo dříve. Mnoho typů počítačů však ke správě stále používá své tradiční skenovací kódy zpětná kompatibilita.
Některé standardy klávesnice zahrnují skenovací kód pro každou stisknutou klávesu a jiný pro každou uvolněnou klávesu. Kromě toho mnoho standardů pro klávesnici (například IBM PC kompatibilní standardy) umožňují samotné klávesnici generovat "typický "opakující se klávesy tím, že samotná klávesnice generuje opakovaně skenovaný kód stisknuté klávesy, zatímco je klávesa podržena, přičemž uvolňovací skenovací kód je odeslán jednou, když je klávesa uvolněna.
Sady skenovacích kódů
V některých operačních systémech lze zjistit skenovací kód pro stisknutí klávesy při podržení 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
Skenovací kódy zapnuty IBM PC kompatibilní počítač klávesnice jsou sady 1 až 3 bajtů 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, mají 2bajtové nebo 3bajtové skenovací kódy, obvykle začínající bajtem (v šestnáctkové soustavě) E0
, E1
nebo E2
. 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.
PC klávesnice od 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 83klíčové klávesnici používané IBM PC XT a dříve. 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íče mají E0
(nebo zřídka, E1
nebo E2
) předpona. Ty byly původně přiřazeny tak, aby ignorovaly E0
prefix (který je v rozsahu klíčování a neměl by tedy žádný vliv na operační systém, který jim nerozuměl) by přinesl přiměřené výsledky. Například klávesa Enter na numerické klávesnici vytvoří skenovací kód E0 1C
, což odpovídá skenovacímu kódu klávesy Return z 1C
.
The IBM 3270 PC představila 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 F0
předpona. Pro zpětná kompatibilita, počítač 3270 je 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.[2]
The IBM PC AT představil skenovací kódy „AT“ („sada 2“). Na klávesnici AT s 84 klávesami šlo převážně o podmnožinu sady 3, s některými rozdíly způsobenými revidovaným uspořádáním (například poloha a skenovací kódy funkční klávesy změněno). Přidané klíče, protože PC AT často mají různé skenovací kódy v sadě 2 a sadě 3 a v sadě 2 často mají E0
nebo E1
předpona. Uvolnění klíče je opět označeno symbolem F0
předpona.
U počítačů od IBM PC AT je ovladač klávesnice na základní deska překládá skenovací kódy AT (sada 2) do skenovacích kódů XT (sada 1) v tzv režim překladu.[3] Tento překlad lze deaktivovat v průchozí režim, což umožňuje vidět surové skenovací kódy.[4] 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.
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 |
Vlevo, odjet Klíč 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
USB klávesnice 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í.[5]
Viz také
Reference
- ^ Například tradiční numerická klávesnice s 12 klávesami je skenována jako 3 sloupce a 4 řádky, což vyžaduje celkem 7 připojení. Prohledávání každé klávesy zvlášť by vyžadovalo 12 připojení.
- ^ https://github.com/torvalds/linux/blob/master/drivers/input/keyboard/atkbd.c
- ^ Klávesové skenovací kódy (část 10, „Interní skenovací kódy klávesnice“ ), Andries Brouwer. Verze 1.2e, 2004-05-20, přistupováno 15. 11. 2006.
- ^ Klávesové skenovací kódy (sekce 11, "Řadič klávesnice AT" ), Andries Brouwer. Verze 1.2g, 2009-07-07, přistupováno 18.7.2010.
- ^ Specifikace kódu skenování klávesnice Microsoft (Dodatek C, „Stránka USB klávesnice / klávesnice USB (0x07)“ ), Microsoft. Revize 1.3a, 2000-03-16, přístup 2018-10-13.
externí odkazy
- Klávesové skenovací kódy: napsal Andries Brouwer
- Propojení klávesnice AT: Podrobné informace o skenovacích kódech klávesnice z beyondlogic.org