Virtuální joystick
|
Rumcajs |
Přidané 01-01-2013 19:36
|
Stařešina
Příspěvek: 6043
Založený: 12.05.12
|
Nemáte někdo zkušenosti s programováním USB zařízení? Mým cílem je vytvořit device driver, který by četl informace z jednoho nebo více fyzických zařízení a dával je dokupy jako výstup zařízení jednoho. V zásadě by tak šlo kupříkladu zkombinovat dvě osy do jedný a suplovat tak chybějící trim u skutečného letadla. Mám na mysli zejména trim výškovky v ROFu, jehož neexistence se u většiny letadel dohání křivkama a posunem rovnovážné polohy. Kombinace dvou os (páka a kolečko) by pak mohlo fungovat tak, že by to vystupovalo ven jako osa jedna trimovaná na úrovni toho driveru. Obdobně by se do výstupu dal zahrnout požadavek na S křivky kolem aktuální trimované rovnovážné polohy.
Našel jsem na netu LibUsbDotNet knihovnu, kterou už umím přesvědčit k připojení se na zvolené USB zařízení, přečtení různých statických informací a otevření readeru příslušného endpointu. Zatím neumím ten stream rozluštit na jednotlivé osy a čudlíky. Taky zatím neumím vyrobit vlastní driver. Nemá někdo příslušné know how? |
|
|
|
LesniHU |
Přidané 01-01-2013 20:05
|
Stařešina
Příspěvek: 5855
Založený: 30.09.05
|
Udelej analogove reseni, melo by stacit napajet jen jeden odpor navic a i ten je tam jen pro jistotu, aby to pri nekterych selhanich uplne nevyhorelo.
Jestli jsi masochista, tak to klidne napis do windows, asi bych zacal hledanim "HID minidriver". |
|
|
|
Rumcajs |
Přidané 01-01-2013 21:25
|
Stařešina
Příspěvek: 6043
Založený: 12.05.12
|
HW řešení je jistě možné, ale já jako programátor mám za to, že to SW cestou může být elegantnější. Jinak jistě je to o tom, napsat driver, který nebude mít svoje fyzické zařízení, ale bude maskovat jiná fyzická zařízení. Jde jen o to umět číst informace z toho fyzického zdroje a pak ten vlastní driver. K tomu čtení už se přibližuju. Implementaci vlastního driveru budu studovat až budu umět číst osy a čudlíky libovolného klacíku. |
|
|
|
LesniHU |
Přidané 01-01-2013 23:34
|
Stařešina
Příspěvek: 5855
Založený: 30.09.05
|
Rumcajs napsal:
HW řešení je jistě možné, ale já jako programátor mám za to, že to SW cestou může být elegantnější. Ano, to je bezna deformace.
Elegantni reseni je pripajet vecer ctyri dratky a druhy den s tim litat. Litat nezavisle na tom, kam to pripojis, co kdy v pocitaci preinstalujes a jaka nova verze windows vyjde.
Ta druha varianta ma taky svoje vyhody, clovek se postupne dost nauci. Ale muze se stat, ze po ctyrech mesicich usili zjistis, ze to z nejakeho duvodu vubec nemuze fungovat. Nebo taky nikdy nezjistis, proc to nefunguje. Drivery pise asi milionkrat mene lidi nez normalni programy a tomu odpovida mira dokumentace a narocnost ("stahnul jsem knihovnu", tak na to zapomen). Ja se o drivery trochu zajimal v dobe petadevadesatek, takze ted uz ti moc neporadim. Ale uz tenkrat to bylo dost husty. |
|
|
|
magot |
Přidané 02-01-2013 00:02
|
Fusioner
Příspěvek: 17611
Založený: 19.06.08
|
Existuje VJoy napsaný v SDKčku ... emuluje páky, daj se k tomo stáhnout i zdrojáky ...
http://sourceforg...vjoystick/ |
|
|
|
Rumcajs |
Přidané 02-01-2013 08:54
|
Stařešina
Příspěvek: 6043
Založený: 12.05.12
|
Díky Magote, zdá se, že to je přesně to, co potřebuju. Jsem v práci, tedy teď na to nemám čas, ale odpoledne k tomu sednu a prozkoumám to.
Jinak jistě připájet někam pár drátků je fajn. To bych ale přišel o záruku a není to univerzální řešení. Výhoda SW je v tom, že když to uchodím, bude to provozovatelné i na jiných počítačích a s jinými pákami. Samozřejmě není záruka, že se mi to povede. Třeba se to ukáže být moc práce.
Před časem někde potkal SW, který uměl sdružit víc fyzických zařízení jako jedno. To bylo kvůli starým Windows, kde byly problémy s víc jak jedním herním zařízením. No a drivery od CH Products umí dělat S křivky na driverové úrovni. Neumí ale posun středu. Zkrátka myšlenka není originální. Ale určitě to jde. |
|
|
|
nonder |
Přidané 02-01-2013 19:34
|
Nováček
Příspěvek: 20
Založený: 14.12.10
|
Ak by si hľadal ešte nejaký iný virtuálny joy tak môžeš skúsiť aj PPJoy. Je to hotový soft ktorý vytvorí virtuálny joy ktorý sa dá následne simulovať. Používa ho napr. FreeTrack pre prenos pohybu hlavy na joystick. |
|
|
|
Rumcajs |
Přidané 02-01-2013 20:58
|
Stařešina
Příspěvek: 6043
Založený: 12.05.12
|
Myslím, že ten VJoy vznikl jako pokračování PPJoy. Ten VJoy mi už chodí a ROF to detekuje. Ještě furt ale neumím číst ten fyzický joystick. No zítra je taky den. |
|
|
|
Rumcajs |
Přidané 03-01-2013 14:54
|
Stařešina
Příspěvek: 6043
Založený: 12.05.12
|
Tak mám první použitelný prototyp. Zkombinoval jsem vJoy a SlimDX, připsal tu tranformaci dvou os do jedný a je to na světě. Samotná záležitost je tak na dvě obrazovky programování a dva dny vrtání se v různých nesmyslech, protože internet je plnej slepých uliček. Nakonec není potřeba se přímo vrtat v HID minidriverech, protože to řeší vJoy a není nutné číst přímo USB, protože to řeší SlimDX. Cesta vpřed není úplně bez nesnází, protože ten vJoy se z nějakýho důvodu dodává s knihovnama v nějak nakopnutém stavu a je třeba je znovu přeložit.
Výsledek je ale hřejivý, páčto si můžu i albatrosy za letu trimovat na stoupání, či let přímo.
Teď ještě dopíšu nějaký to GUI, konfiguraci rozsahu toho trimu, profily pro různá letadla, S křivky. Jo a dodělám do toho nějakou univerzálnost, protože mi to teď chodí s mým joystickem, ten je tam detekovanej natvrdo podle jména. No práce na tom bude ještě dost. |
|
|
|
Ucho |
Přidané 03-01-2013 15:29
|
Diskutující
Příspěvek: 2952
Založený: 29.09.05
|
Rumcajs napsal:
...Výsledek je ale hřejivý, páčto si můžu i albatrosy za letu trimovat na stoupání, či let přímo.
Teď ještě dopíšu nějaký to GUI, konfiguraci rozsahu toho trimu, profily pro různá letadla, S křivky...
A není to nakonec nějakej tenhleten.... ? |
|
|
|
1stCL_Novotny |
Přidané 03-01-2013 15:40
|
Moderátor
Příspěvek: 3174
Založený: 01.10.05
|
Se taky zeptám. Hele Ucho a jak to je přesně stím čítováním v nastavení os? Nemyslím to na ten Rumcajsovo tentononc, ale na nastavování os v menu hry. Prostě není nakonec to samé už ve hře? Jen se to nedá kloudně štelovat v letu? Jeden to nastaví pro všechny letadla zvlášť a druhý to neumí a tak ne? Není to vlastně taky čít?? |
|
|
|
Rumcajs |
Přidané 03-01-2013 16:17
|
Stařešina
Příspěvek: 6043
Založený: 12.05.12
|
Chlapci je to tendlencten vylepšovák. Ale není to hack. Tedy hru to nemodifikuje. Na proces tý hry ani její nastavení to nesahá. Jen to jako vstupní zařízení používá virtuální joystick. Některé ovladače joysticků umí na driverové úrovni dělat S křivky. Některé joysticky mají HW trimy. Mno a když už jsme u toho, je to podobný "cheat" jako je třeba FFB. Zkrátka dá se to chápat a funguje to jako inteligentní driver joysticku. Nic nového pod sluncem. A ta úleva, že při stoupání nebolí ruka, ta je úžasná. Mám ten trim namapovaný na plynové kolečko joysticku (na plyn mám páku), tedy se to případně dá v boji rychle přetrimovat, aby byla výškovka v rovině. A na druhé straně při dajvu se to dá hnedle přehodit na druhou stranu. |
|
|
|
LEON |
Přidané 03-01-2013 16:29
|
Diskutující
Příspěvek: 2076
Založený: 28.10.10
|
To máš Rumcajsi jedno že to neupravuje samotnou hru, kolik tu bylo vloni dohadů jen kvůli relativně nevinné aplikaci GAPA (gamma panel), která taky do kódu hry nezasahuje a jakej byl kvůli tomu řev, že je to hnusnej čít (dokonce i anketa se kvůli tomu tady dělala). Ale že lepší čitelnost dotů jde udělat i s pomocí Sweet FX, to už nikoho nepohoršuje, protože Sweet FX je pouze vylepšení, ne čít |
|
|
|
Rumcajs |
Přidané 03-01-2013 17:05
|
Stařešina
Příspěvek: 6043
Založený: 12.05.12
|
Já tomu rozumím. V rámci fair play by bylo nejlepší, aby všichni měli úplně identické podmínky. To tak ale není a nebude. Kde kdo má 3 monitory, nebo dlouhou páku, či FFB joystick. Někdo má TIR či Free Track. Někdo má jen 19 palcovej CRT monitor a nepřítele vidí až na posledních 200m a rozhlíží se myší. Jak se dívat na ty kokpity s dlouhou pákou? Přeci je jasné, že s tou dlouhou pákou se dá lítat mnohem přesněji. Ten trim u letadla co ho nemá, je v tomhle úhledu malá výpomoc. Řeší to jen pohodlí. Páčto každej má k dispozici křivky ve hře a na to kde to potřebuje nejvíc, si to nastaví. Jinak co se týká viditelnosti, je to stále boj. Všechny ty metody mají svoje úskalí. V reálu prostě není problém vidět letadlo na n kilometrů a dokonce poznat typ. Ale při pixelovém zobrazení to je potíž. Zkrátka je to jen přiblížení realitě. |
|
|
|
Ucho |
Přidané 03-01-2013 19:27
|
Diskutující
Příspěvek: 2952
Založený: 29.09.05
|
X Novotny napsal:
Se taky zeptám. Hele Ucho a jak to je přesně stím čítováním v nastavení os? Nemyslím to na ten Rumcajsovo tentononc, ale na nastavování os v menu hry. Prostě není nakonec to samé už ve hře? Jen se to nedá kloudně štelovat v letu? Jeden to nastaví pro všechny letadla zvlášť a druhý to neumí a tak ne? Není to vlastně taky čít??
že se ve hře dají posunout středy os jsem nevěděl, a už je taky posunuju. I když mám slabý odpor, tak neustálý tlak na joy po 20min letu je opravdu pakárna na ruku.
Jinak jasně, v pohodě. Já to vůbec nechápu jako výhodu ovládání éra, ale jako výbornou zdravotní pomůcku proti syndromu karpálního tunelu a to je dobrej čít :-) |
|
|
|
Rumcajs |
Přidané 03-01-2013 20:54
|
Stařešina
Příspěvek: 6043
Založený: 12.05.12
|
Ano není to výhoda ovládání letadla. Je to otázka pohodlí. Při míření to nepomůže. |
|
|
|
clone9cz |
Přidané 03-01-2013 22:02
|
Hlavní administrátor
Příspěvek: 5062
Založený: 09.10.05
|
Při míření to pomůže, když ti nepude čumák nahoru.
|
|
|
|
Rumcajs |
Přidané 03-01-2013 23:54
|
Stařešina
Příspěvek: 6043
Založený: 12.05.12
|
Pomůže to jen když střílíš na cíl přímo před sebou. V zatáčkovém boji to nepomůže. Tedy to kde to pomůže je řešitelné i statickou křivkou. Jinak si všimni, jak moc vadí při střelbě na dálku vítr a turbulence. Moc moc moc. |
|
|
|
Rumcajs |
Přidané 04-01-2013 00:11
|
Stařešina
Příspěvek: 6043
Založený: 12.05.12
|
Přidám pár postřehů z dnešního poletu na Syndikátech. Zkoušeno s Albíkem 5 a Pfalzem III.
Start je super, trim nechám na skutečné středové poloze a letadlo odstartuje skoro samo. Téměř netřeba přitahovat. Přistání je podobné, trim shodím na středovou polohu a přistávám s mírným potlačením. Před pádovkou se to srovná a lehce přitahuji. Trimem se dá nastavit stoupání. Nejsnáze měřeno rychlostí. Optimum stoupavosti je u jednotlivých typů zjistitelné. Bývá kolem 110 kmh. Něco nad 3000m se středová poloha blíží poloze rovnovážné. Nemám to změřený, ale časem to zjistím. Bude to chtít profily pro každý typ letadla, ten trim zejména u země to chce každý jinak. A tomu odpovídá i maximální trim při plné výchylce toho trimovacího kolečka. V soubojích se mi to úplně nepovedlo odzkoušet. Byl jsem dvakrát taranován, jednou sestřelen pro vlastní blbost a ty dva sestřely byly nanicovaté. Pokud budou profily pro jednotlivá letadla, může být, že v zatáčkovém boji si to jeden shodí na skutečnou středovou polohu a pro pronásledování dajvující SE5a se to rychle přehodí na maximální trim. Až to bude k reálnému použití, dám to k dispozici. Zatím to obsahuje příliš mnoho konstant. |
|
|
|
LEON |
Přidané 04-01-2013 14:15
|
Diskutující
Příspěvek: 2076
Založený: 28.10.10
|
Rumcajs napsal:
Pomůže to jen když střílíš na cíl přímo před sebou. V zatáčkovém boji to nepomůže. Tedy to kde to pomůže je řešitelné i statickou křivkou. Jinak si všimni, jak moc vadí při střelbě na dálku vítr a turbulence. Moc moc moc.
A konec konců, střelba na dálku v ROF je naprosto k ničemu, protože rozptyl těch laufů tam je obrovský, i těch nepřehřátých. |
|
|