ASCII kódy pro numerickou klávesnici – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

ASCII kódy pro numerickou klávesnici – Pascal – Fórum – Programujte.comASCII kódy pro numerickou klávesnici – Pascal – Fórum – Programujte.com

 

Laaca0
Stálý člen
5. 5. 2008   #1
-
0
-

Včera jsem se setkal s divným hlášením ASCII kódů pro numerickou klávesnici, pokud je držen Shift. Tedy Shift+numŠipka.

1) Když zmáčknu normální šipku doleva, tak dostanu kód 0 a 75, výsledně tedy 331.
2) Když zmáčknu numerickou šipku doleva, tak dostanu kód 0 a 75, výsledně tedy 331.
3) Když zmáčknu Shift+normální šipku doleva, dostanu rovněž 331
4) Když zmáčknu Shift+numerickou šipku doleva, dostanu 52 (ASCII kód "4")

V situaci č.4 se tedy klávesnice chová prapodivně. Chci se tedy zeptat, jestli to pozoruje i někdo další, nebo jestli je za tím můj ovladač klávesnice a jestli je to známá věc, jak to ošetřujete. Já jsem to pořešil hlídáním stavu Shiftu a případným překódováním, tedy takto:

if (w>45) and (w<58) and Je_shift then

case w of
46:w:=339;
47:w:=47; {o kodu 47 nevim nic}
48:w:=338;
49:w:=335;
50:w:=336;
51:w:=337;
52:w:=331;
53:w:=332;
54:w:=333;
55:w:=327;
56:w:=328;
57:w:=329;
end;

Nevím ale, jestli to bude fungovat s/bez nainstalované české/ruské/jiné klávesnice a jestli se to nebude prát s číslama na hlavní klávesnici.
Nejspíš bude.
Má někdo jiný nápad, jak to ošetřit?

Nahlásit jako SPAM
IP: 81.0.253.–
DOS-u-akbar
Mircosoft+1
Věrný člen
6. 5. 2008   #2
-
0
-

Shift mění význam mezi čísly a šipkami na numpadu i mně, takže to asi bude normální.

Nahlásit jako SPAM
IP: 147.32.162.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Laaca0
Stálý člen
6. 5. 2008   #3
-
0
-

Já totiž chci do svýho GUI přidat označování textu. Text půjde označovat buďto tažením myši (to bude ta obtížnější část) nebo pomocí Shift+šipka. No, a já potřebuju, aby stejně jako v TP šla použít šipka normální i numerická.

Takže, jak na to?

Nahlásit jako SPAM
IP: 195.113.79.–
DOS-u-akbar
Mircosoft+1
Věrný člen
6. 5. 2008   #4
-
0
-

TP má vůbec nějakou docela vymakanou obsluhu klávesnice. Např. ins, ctrl+ins, shift+ins, del, ctrl+del, shift+del - nevím přesně která, ale minimálně jednu z těch kombinací mi readkey vůbec nebral (jako by se nic nezmáčklo) a shift jsem musel testovat samostatně.

Takže bych to viděl na vlastní handler přerušení klávesnice, který bude scankódy podle aktuálního stavu přeřaďovačů a locků převádět na ASCII (ve FP by neměl být problém s nedostatkem paměti pro tabulky s tolika kombinacemi) a ukládat na příslušné místo v paměti, aby si je odtamtud mohly číst standardní služby int $21, $16 a tak.

Nahlásit jako SPAM
IP: 89.176.249.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 24 hostů

Podobná vlákna

Kódy pro začátečníky — založil Vypsání textu-spuštění pr

Jak nastavit klávesnici. — založil Benny1181

Prehodenie pismena na klavesnici — založil BlueLikeGreen

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý