.[ ČeskéHry.cz ].
Maximum současně držených kláves

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
franz



Založen: 30. 07. 2007
Příspěvky: 1325

PříspěvekZaslal: 27. květen 2010, 21:17:56    Předmět: Maximum současně držených kláves Odpovědět s citátem

Zdravím, dělám hru pro více hráčů na 1 klávesnici, ale ztroskotal jsem na problému, že na mém notebooku lze držet jen 3 klávesy naráz, pak už další nereagují. Stav kláves zjišťuji přes GetAsyncKeyState. Pamatuji, jak s tím bývaly problémy za dob DOSu, ale že na totéž narazím i v roce 2010 mne překvapilo.

Zkusil jsem hry Multiracer (od frci) a Aquadelic, obě v módu 2 hráčů nelze ovládat (hráči drží akceleraci a pokud jeden zatočí, další už zatáčet nemůže)..

Chyba je v klávesnici/driveru nebo ještě jinde? Kolik kláves snese vaše nebo běžná klávesnice?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
MePHyst0



Založen: 28. 07. 2007
Příspěvky: 85
Bydliště: SVK/CZK

PříspěvekZaslal: 27. květen 2010, 21:38:19    Předmět: Odpovědět s citátem

asi presne neodpoviem na tvoj dotaz, ale ja som to za davnych casov vo visual basicu robil tak, ze som pocuval na keydown a keyup eventy. tieto sa vyvolavali nezavisle na tom kolko klaves uz bolo stlacenych. na zaklade tychto eventov som potom nastavoval nejake flagy(chod_dolava,chod_hore,atd) a z tych som potom v hernej smycke urcoval vysledny smer pohybu Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
frca



Založen: 28. 07. 2007
Příspěvky: 1558

PříspěvekZaslal: 27. květen 2010, 22:03:19    Předmět: Odpovědět s citátem

To není chyba, ale vlastnost daného HW. Prostě se s tím nic nedá dělat, leda koupit lepší klávesnici. Tuším jsem viděl takovou, která umožňovala stisk spousty kláves najednou, ale byla dost drahá. Ovladačem to rozhodně není.
Navíc je to u každé klávesnice jinak (závisí to asi na vnitřním zapojení kláves). Já jsem to částečně řešil tak, že jsem umožnil namapovat klávesy téměř libovolně, navíc jsem umožnil využití také tlačítek myši. Také stojí za povšimnutí, že pokud se například k notebooku připojí externí klávesnice, tak se s interní navzájem neblokují. Jinak MultiRacer ovládat jde, pokud si to správně nastavíš. I když možná je tvá klávesnice takový šmejd, že na ní kombinace osmi navzájem se neblokujících kláves neexistuje.

Tato klávesnice

jich snese najednou minimálně 9, ale jen určité kombinace.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
franz



Založen: 30. 07. 2007
Příspěvky: 1325

PříspěvekZaslal: 27. květen 2010, 22:38:35    Předmět: Odpovědět s citátem

MePHyst0> nadšeně jsem to vyzkoušel, ale nepomohlo, reagují vždy jen první 3 klávesy a to jakékoliv
frca> díky za info.. otestuji ještě jiné notebooky a klávesnice a případně půjdu umrznout do lesa :/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



Založen: 18. 09. 2007
Příspěvky: 1536
Bydliště: u Prahy

PříspěvekZaslal: 27. květen 2010, 23:37:59    Předmět: Odpovědět s citátem

Ještě máš možnost použít ke hraní gamepady/joysticky, těch taky můžeš mít, kolik chceš. Použití v SDL hře viz třeba náš Becher Rescue Wink.
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 28. květen 2010, 08:07:42    Předmět: Odpovědět s citátem

citace:
Zkusil jsem hry Multiracer (od frci) a Aquadelic, obě v módu 2 hráčů nelze ovládat (hráči drží akceleraci a pokud jeden zatočí, další už zatáčet nemůže)..

U toho Aquadelicu jsme týhle vlastnosti klávesnice přizpůsobili ovládání. Šipku dopředu nemusíš držet, stačí jen přidat plyn a zůstane přidanej. (Ano, měli sme to napsat před startem závodu na obrazovku, málokdo si tý vlastnosti všimne.) Třeba to taky vyřešíš nějakou drobnou úpravou.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
franz



Založen: 30. 07. 2007
Příspěvky: 1325

PříspěvekZaslal: 28. květen 2010, 22:17:21    Předmět: Odpovědět s citátem

Zkusil jsem dnes 4 klávesnice a 3 notebooky a výsledek je spíše neuspokojivý (nepoužitelné klávesnice převažují).

Odbočím-li mírně, windows zprávy z rodiny MM_JOY zachycují pouze dva joysticky, nebo herní zařízení celkově (volant, gamepad, ...) ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Matasx



Založen: 17. 08. 2008
Příspěvky: 258

PříspěvekZaslal: 29. květen 2010, 11:24:29    Předmět: Odpovědět s citátem

Pro realizaci klávesnice se používá takováto matice


- je to kvůli tomu aby se na řídicím obvodu ušetřil počet vstupů (drahej to čip kterej by měl přes 100 vstupních nožiček) Wink
- no pak se programově hodí jednička například na první řádek a podle toho v jakém sloupci se objeví jedničky ti z toho vyjde které klávesy jsou stisknuté. Když se nad tím zamyslíš tak ti vyjde že některé kombinace jsou prostě nepřípustné (keylock)

- tzn. pokud například stisknu tlačítka 9,5,6 (obrázek vlevo) a pošlu signál na řádek 2 -> vyjde mi z toho že je stisklá klavesa 9 a 10 i když to není pravda
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Poky



Založen: 29. 06. 2009
Příspěvky: 184
Bydliště: Písek / Plzeň

PříspěvekZaslal: 29. květen 2010, 12:14:00    Předmět: Odpovědět s citátem

Matasx: Dovolím si trochu upřesnit. Takovéto matice se používají pouze u menších klávesnic, u větších (jako například PC nebo NB klávesnice to má udělané malinko jinak. PC a NB klávesnice mají skupinkově rozdělená některá tlačítka (třeba písmenka Q,W,E,A,S,D,Y,X,C) a ty multiplexují samostatně vysokou rychlostí (stovky nanosekund), klávesnice poté obsahuje vyrovnávací paměť a odesíla sériově do PC. U NB klávesnic je problém větší, tam mají tyto skupinky stejný multiplex a proto se může stát, že když stisknete dvě klávesy, vyvolá se stisk i nějaké jiné třetí, nebo se naopak nevyvolá vůbec Sad. Tento problém mám na svém NB, kde když stisknu Shift+ž a 6 pak pustím, tak se mi tato změna neregistruje a píšu neustále samou 6666.... apod.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1558

PříspěvekZaslal: 29. květen 2010, 22:22:55    Předmět: Odpovědět s citátem

To je zajímavé. A co že máš vlastně za NB?
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna