Je to chybná předvolba ovládacích kláves, zkus tu třetí z nich přemístit na jiné písmeno, jestli to hra umožňuje.
Klávesy jsou totiž rozmístěny v matici (anglicky matrix

) takovýmhle způsobem:
Kód: Vybrat vše
Y3---[7]-[8]-[9]-[:]
| | | |
Y2---[4]-[5]-[6]-[x]
| | | |
Y1---[1]-[2]-[3]-[-]
| | | |
Y0---[0]-[.]-[=]-[+]
| | | |
| | | |
X0 X1 X2 X3
Pro jednoduchost si ukážeme klávesnici jednoduché kalkulačky, v té PCčkové je to stejné, jen ve větším.
Funkce je jasná, když stiskneš nějakou klávesu, propojí se vodiče Y a X v daném řádku a sloupci.
Řadič klávesnice postupně vybírá řádky, tím že pustí proud do jednoho z vodičů Y0 až Y3. Pořád dokola.
Když se mu v tom okamžiku objeví signál na některém z vodičů X0 až X3, znamená to že je stisknuta klávesa v jejich průsečíku, tak o tom pošle zprávu procesoru - vyvolá přerušení a předá mu přes nějaký port její kód.
Takže například když stiskneš klávesu
[0], propojí se vodiče
Y0 a
X0.
Když jí držíš, a stiskneš nějakou další klávesu v jiném řádku a sloupci, stále se nic neděje a řadič je schopen situaci normálně zpracovat.
Například při stisku klávesy
[5] se ti propojí vodiče
Y2 a
X1, ale odděleně od prvních dvou, takže se nemají jak ovlivnit. Už jí můžeš zase pustit.
Zajímavější je to když k té nule stiskneš dejme tomu ještě
[7], která je ve stejném sloupci. Zatím ještě řadič situaci zvládá, ale je zaděláno na průšvih. V tuhle chvíli jsou totiž propojené
dohromady vodiče
Y3,
Y0 a
X0.
Pokud stiskneš třetí klávesu která je na některém ze dvou už sepnutých řádků, co se stane?
Takže třetí stisknutou klávesou bude
[9] a tím propojíš dohromady vodiče
Y3,
Y0,
X0 a
X2.
Teď si všimni co se stane když řadič testuje řádek
Y3 - dostane signál na vodičích
X0 a
X2, to je v pořádku, protože obě klávesy jsou stisknuté.
Ale když dojde k řádku
Y0 je tady ten průšvih - opět se mu objeví signál na sloupcích
X0 i
X2, jako kdyby byla stisknutá i klávesa
[=]!
To je pro něj jasná chyba a tak udělá nejrozumnější věc co v té chvíli může, prostě stav ignoruje a procesoru nehlásí nic. A pokud začne cpát nějaké nesmysly, tak to stejně zahodí operační systém.
A tohle se děje do té doby, dokud se ten trouba mezi klávesnicí a židlí nevzpamatuje a neuvede stav těch drátů do přijatelného stavu, který se dá nějakým způsobem zpracovat.
Ve skutečnosti nejsou ty cesty vodičů takhle rovné ale mnohem klikatější, a navíc u každého typu klávesnice jiné, takže se nedá jednoznačně říct které klávesy jsou ve stejných řádcích nebo sloupcích, jediný jistý způsob je klávesnici rozšroubovat a zmapovat jí.
Je třeba si také uvědomit že klávesnice PC je od prvního návrhu určená jako náhrada psacího stroje (stejně jako celé PC - původně kancelářský počítač bez grafiky), a tak není připravená zvládat víc než na co je konstruovaná, tedy stisk určitých jen kombinací řídících a alfanumerických kláves.
Řešením by byla klávesnice, kde je každý spínač oddělený diodou, což by ale vyšlo dost draho.
Jen pro zajímavost, ten řadič klávesnice je jednočipový mikrokontrolér, původně se používaly třeba Intel 8048 a 8049, později výkonnější I 8051 a 8052, viděl jsem i Zilog Z-84 a Motorolu HC-08. V podstatě je PCčková klávesnice osmibitový mikropočítač, obvykle s větším výkonem než byly slavné stroje osmdesátých let jako Sinclair ZX Spectrum nebo Commodore 64
