Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Windows XUSB illesztőprogramja implementálja az XINPUT DLL kernel módú felületét. Annak érdekében, hogy az DirectInput API-t a közös vezérlőeszközzel használó régi címekhez jó élményt nyújtson, az illesztőprogram exportál egy Human Interface Device (HID) osztályfelületet is, amelyet a DirectInput fog átvenni. Az XUSB hidra való leképezését választottuk az eredeti XINPUT-verzióhoz tartozó játékalkalmazások tipikus viselkedése alapján, és frissítettük az újabb altípusok leképezését. Ez a témakör a leképezést ismerteti.
Emberi interfész eszköz (HID)
A HID szabvány a Universal Serial Bus (USB) bizottság szabványa, amelyet eredetileg a Microsoft javasolt a bemeneti eszközök protokolljának általánosítására. Ez egy bájtkódos leírási nyelvből áll, és képes a játékpadok, egerek, joystickok, a szabályozás és a kormányvezérlők, valamint a többtengelyes vezérlők kifejezésére. Mivel ez a szabvány annyira általánosított, előfordulhat, hogy nehézségekbe ütközik olyan szoftverek írása, amelyek tetszőleges eszközökről származó bemeneteket használnak fel. Ezért a játékközpontú DirectInput API-hoz kifejlesztettünk egy speciális alleképezést a típusokhoz, hogy ösztönözzük a hardvergyártókat, hogy az illesztőprogramjaikon keresztül támogassák őket.
Fontos
A HID bemeneti eszközöket RawInput API- és a bemeneti jelentések alacsony szintű HID API- keresztül is elérheti, de a rezgési visszajelzések nem működnek úgy, mint DirectInput.
Hozzárendelések
A XUSB-illesztő XUSB osztályillesztőt és HID osztályillesztőt is implementál az eszközökhöz, hogy támogassa az XINPUT és DirectInput használatát. Ez a leképezés az XUSB altípus adatain alapul. Az illesztőprogram négy különböző leképezési csoportot valósít meg.
| XUSB-altípus | Térképezés |
|---|---|
| XINPUT_DEVSUBTYPE_GAMEPAD (1. altípus) | Játékpad |
| XINPUT_DEVSUBTYPE_WHEEL (2. altípus) | Kerék |
| XINPUT_DEVSUBTYPE_ARCADE_STICK (3. altípus) | Árkád bot/Árkád pad |
| XINPUT_DEVSUBTYPE_FLIGHT_STICK (4. altípus) | Flight Stick |
| XINPUT_DEVSUBTYPE_DANCE_PAD (5. altípus) | Minden új altípus alapértelmezett értéke |
| XINPUT_DEVSUBTYPE_GUITAR (6. altípus) | Gitár |
| XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE (7. altípus) | |
| XINPUT_DEVSUBTYPE_DRUM_KIT (8. altípus) | |
| XINPUT_DEVSUBTYPE_GUITAR_BASS (11. altípus) | |
| XINPUT_DEVSUBTYPE_ARCADE_PAD (19. altípus) |
Jegyzet
A következő HID-leképezések statikusak. Ez azt jelenti, hogy még akkor is, ha az eszköz képességeinek jelentése azt jelzi, hogy egy adott gomb vagy tengely nem támogatott, a leképezés továbbra is tartalmazza azt, de mindig ki van kapcsolva állapot vagy középérték.
Játékpad
Ez az alapértelmezett leképezés, és egy szabványos játékpad köré van tervezve, és Gamepad HID-használati típusként van közzétéve.
| Vezérlő | HID-használat neve | Használati oldal | Használati azonosító |
|---|---|---|---|
| Bal oldali bot | X, Y | 0x01 | 0x30, 0x31 |
| Jobb oldali bot | Rx, Ry | 0x01 | 0x33, 0x34 |
| Bal oldali eseményindító + jobb oldali trigger | Z* | 0x01 | 0x32 |
| D-Pad Fel, Le, Balra, Jobbra | Hat kapcsoló | 0x01 | 0x39 |
| Egy | Gomb 1 | 0x09 | 0x01 |
| B | Gomb 2 | 0x09 | 0x02 |
| X | Gomb 3 | 0x09 | 0x03 |
| Y | Gomb 4 | 0x09 | 0x04 |
| LB (bal lökhárító) | 5. gomb | 0x09 | 0x05 |
| RB (jobb lökhárító) | Gomb 6 | 0x09 | 0x06 |
| HÁT | Gomb 7 | 0x09 | 0x07 |
| ELKEZD | Gomb 8 | 0x09 | 0x08 |
| LSB (bal oldali bot gomb) | Gomb 9 | 0x09 | 0x09 |
| RSB (jobb oldali bot gomb) | Gomb 10 | 0x09 | 0x0A |
Jegyzet
(*): Ez úgy van kombinálva, hogy a Z a legtöbb forgási cím által várt központozási viselkedést mutatja; Ez azt jelenti, hogy nem lehet az összes lehetséges triggerkombináció értékét látni DirectInput és HID segítségével.
Árkád bot/Árkád pad
Ez az Arcade Stick vezérlő köré tervezett leképezés, és Gamepad HID-használati típusként van közzétéve. Az Árkád pad nagyon hasonlít egy Arcade Stick, de egy kisebb formában- tényező. Ezek a kialakítások az analóg bal oldali eseményindítót és a jobb oldali triggert olyan digitális gombokra cserélik, amelyek a tengely minimális és maximális értékét jelentik.
| Vezérlő | HID-használat neve | Használati oldal | Használati azonosító |
|---|---|---|---|
| D-Pad Fel, Le, Balra, Jobbra | Hat kapcsoló | 0x01 | 0x39 |
| Egy | Gomb 1 | 0x09 | 0x01 |
| B | Gomb 2 | 0x09 | 0x02 |
| X | Gomb 3 | 0x09 | 0x03 |
| Y | Gomb 4 | 0x09 | 0x04 |
| LB (bal lökhárító) | 5. gomb | 0x09 | 0x05 |
| RB (jobb lökhárító) | Gomb 6 | 0x09 | 0x06 |
| HÁT | Gomb 7 | 0x09 | 0x07 |
| ELKEZD | Gomb 8 | 0x09 | 0x08 |
| Bal oldali eseményindító | Gomb 9 | 0x09 | 0x09 |
| Jobb oldali eseményindító | Gomb 10 | 0x09 | 0x0A |
Ezek az eszközök támogathatják vagy nem támogatják a további vezérlőket, de ezeket a HID-leképezés nem teszi elérhetővé: Left Stick, Right Stick, LSB (left stick button) és RSB (jobb oldali bot gomb).
Kerék
Ez a leképezés egy versenykerék köré van tervezve, és Gamepad HID-használati típusként érhető el.
| Vezérlő | HID-használat neve | Használati oldal | Használati azonosító |
|---|---|---|---|
| Kerék (bal oldali stick X) | X | 0x01 | 0x30 |
| Gázpedál (jobb oldali trigger) + fékpedál (bal oldali trigger) | Z* | 0x01 | 0x32 |
| D-Pad Fel, Le, Balra, Jobbra | Hat kapcsoló | 0x01 | 0x39 |
| Egy | Gomb 1 | 0x09 | 0x01 |
| B | Gomb 2 | 0x09 | 0x02 |
| X | Gomb 3 | 0x09 | 0x03 |
| Y | Gomb 4 | 0x09 | 0x04 |
| LB (bal lökhárító) | 5. gomb | 0x09 | 0x05 |
| RB (jobb lökhárító) | Gomb 6 | 0x09 | 0x06 |
| LSB (bal oldali bot gomb) | Gomb 7 | 0x09 | 0x07 |
| RSB (jobb oldali bot gomb) | Gomb 8 | 0x09 | 0x08 |
| HÁT | Gomb 9 | 0x09 | 0x09 |
| ELKEZD | Gomb 10 | 0x09 | 0x0A |
Jegyzet
(*): Ez úgy van kombinálva, hogy A Z a fék- és gázpedálvezérlők legtöbb címe által várt központosító viselkedést mutatja; ez azt jelenti, hogy nem lehet látni az összes lehetséges pedál kombinációs értéket DirectInput.
Flight Stick
Ez a leképezés egy repülési bot körül van kialakítva, és Joystick HID-használati típusként érhető el.
| Vezérlő | Használat neve | Használati oldal | Használati azonosító |
|---|---|---|---|
| Flight Stick (Left Stick) | X, Y | 0x01 | 0x30, 0x31 |
| POV hat (jobb bot) | Rx, Ry | 0x01 | 0x33, 0x34 |
| Szabályozás (jobb oldali trigger) | Z | 0x01 | 0x32 |
| Kormány (bal oldali trigger) | Rz | 0x01 | 0x35 |
| D-Pad Fel, Le, Balra, Jobbra | Hat kapcsoló | 0x01 | 0x39 |
| Elsődleges fegyver (A) | Gomb 1 | 0x09 | 0x01 |
| Másodlagos fegyver (B) | Gomb 2 | 0x09 | 0x02 |
| X | Gomb 3 | 0x09 | 0x03 |
| Y | Gomb 4 | 0x09 | 0x04 |
| LB (bal lökhárító) | 5. gomb | 0x09 | 0x05 |
| RB (jobb lökhárító) | Gomb 6 | 0x09 | 0x06 |
| HÁT | Gomb 7 | 0x09 | 0x07 |
| ELKEZD | Gomb 8 | 0x09 | 0x08 |
| LSB (bal oldali bot gomb) | Gomb 9 | 0x09 | 0x09 |
| RSB (jobb oldali bot gomb) | Gomb 10 | 0x09 | 0x0A |
Jegyzet
Ez a Flight Stick végleges kialakításán alapul. Mivel ez eltér a Flight Stick korai definícióitól, számos eszköz rendelkezik olyan üzemmódkapcsolóval, amely támogatja a régi és az új modellt. Ez a leképezés feltételezi az új modellt.