Mno, sice vidím, že tu diskuze vůbec nežije, nicméně pro lidi, kteří se s SDL učí pracovat a nově narazili na tuto sérii, chtěl bych říct pár informací, na které je potřeba si dát pozor, obzvlášť při programování multiplatformních aplikací (dělám pro Windows a Linux):
– Různé OS mohou stejné osy na tom samém konkrétním joysticku číslovat odlišně. Já mám 2 páky, celkem tedy 4 osy. Windows je označil jako 1, 2, 3 a 4, Linux 1, 2, 4, 5 (osu 3 jsem nikdy nenašel, ani jako páku, ani jako tlačítko).
- Na mém ovladači Linux nevidí hat (klobouček), ale označil jej jako osy 6 a 7. Windows posílal standardní hat-události.
- Asi to bude kalibrací, nicméně v Linuxu osy v neutrální poloze posílají číslo 0, ve Windows –1. Můj joystick umožňuje zapnout analogový mód – pokud je zapnutý, páky se tváří jako páky a hat, jako hat. Pokud je vypnutý, páky ignoruje (nefungují) a hat je páka. (To je standardní chování dle návodu.) V Linuxu pak tato „páka“ (co je ve skutečnosti hat) v neutrální poloze posílá hodnotu 0, ve Windows je to –258 (plus, mínus, nepamatuji si přesně, ale vím, že to bylo víc, jak 256).
Takže nejideálnější by bylo, kdyby si uživatelé mohli nastavit ovládání 100% dle svého. Ne jak třeba RaymanM od UbiSoft, kde si ani nemohu vybrat číslo joysticku a jediné, co si mohu nastavit jsou tlačítka na digitální akce (osobně rozlišuji akce digitální a analogové. Analogové jsou ty, kde záleží i na míře stisku, např. pohyb, kamera apod., analogové jsou ty, kde se jen rozlišuje stav on/off (např. střelba, skok, výběr zbraně)).
Rozhodně nelze počítat s tím, že když něco funguje na jednom PC, bude to fungovat i na jiném PC/joysticku/OS. A možná by neuškodilo mít nastavitelnou, ve článku zmíněnou, tzv. death zónu.