78 lines
3.3 KiB
C
78 lines
3.3 KiB
C
/***************************************************************************
|
|
*
|
|
* Copyright (C) 1997 Microsoft Corporation. All Rights Reserved.
|
|
*
|
|
* File: dijoyhid.h
|
|
* Content: DirectInput internal include file JoyHid mapping
|
|
*
|
|
***************************************************************************/
|
|
|
|
#ifndef DIJOYHID_H
|
|
#define DIJOYHID_H
|
|
|
|
#define MIN_PERIOD 10 /* minimum polling period */
|
|
#define MAX_PERIOD 1000 /* maximum polling period */
|
|
|
|
typedef struct tag_USAGES {
|
|
DWORD dwUsage;
|
|
DWORD dwFlags;
|
|
DWORD dwCaps;
|
|
DWORD dwAxisPos;
|
|
} USAGES;
|
|
|
|
#define USAGE_SENTINAL { 0x0, 0x0, 0x0 }
|
|
|
|
enum eControls { // Index list for supported joystick axes
|
|
ecX=0x0, ecY, ecZ, ecRz, ecRy, ecRx, ecEnd
|
|
};
|
|
|
|
|
|
#ifndef HID_USAGE_SIMULATION
|
|
#define HID_USAGE_SIMULATION_STEERING ((USAGE) 0xC8)
|
|
#endif
|
|
|
|
#ifndef HID_USAGE_SIMULATION_ACCELERATOR
|
|
#define HID_USAGE_SIMULATION_ACCELERATOR ((USAGE) 0xC4)
|
|
#endif
|
|
|
|
#ifndef HID_USAGE_SIMULATION_BRAKE
|
|
#define HID_USAGE_SIMULATION_BRAKE ((USAGE) 0xC5)
|
|
#endif
|
|
|
|
/*
|
|
* keep the following dwAxisPos as ascending.
|
|
*/
|
|
USAGES AxesUsages[] = {
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_GENERIC, HID_USAGE_GENERIC_X), 0x0, 0x0 , 0 }, // X
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_SIMULATION, HID_USAGE_SIMULATION_STEERING), 0x0, 0x0 , 0 },
|
|
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_GENERIC, HID_USAGE_GENERIC_Y), 0x0, 0x0 , 1 }, // Y
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_SIMULATION, HID_USAGE_SIMULATION_ACCELERATOR), 0x0, 0x0 , 1 },
|
|
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_GENERIC, HID_USAGE_GENERIC_Z), JOY_HWS_HASZ, JOYCAPS_HASZ, 2 }, // Z
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_GENERIC, HID_USAGE_GENERIC_SLIDER), JOY_HWS_HASZ, JOYCAPS_HASZ, 2 },
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_SIMULATION, HID_USAGE_SIMULATION_THROTTLE), JOY_HWS_HASZ, JOYCAPS_HASZ, 2 },
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_SIMULATION, HID_USAGE_GENERIC_DIAL), JOY_HWS_HASZ, JOYCAPS_HASZ, 2 },
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_GENERIC, HID_USAGE_GENERIC_WHEEL), JOY_HWS_HASZ, JOYCAPS_HASZ, 2 },
|
|
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_SIMULATION, HID_USAGE_SIMULATION_RUDDER), JOY_HWS_HASR, JOYCAPS_HASR, 3 },
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_GENERIC, HID_USAGE_GENERIC_RZ), JOY_HWS_HASR, JOYCAPS_HASR, 3 }, // R
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_SIMULATION, HID_USAGE_SIMULATION_BRAKE), JOY_HWS_HASR, JOYCAPS_HASR, 3 },
|
|
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_GENERIC, HID_USAGE_GENERIC_RY), JOY_HWS_HASU, JOYCAPS_HASU, 4 }, // U
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_SIMULATION, HID_USAGE_SIMULATION_THROTTLE), JOY_HWS_HASU, JOYCAPS_HASU, 4 },
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_GENERIC, HID_USAGE_GENERIC_SLIDER), JOY_HWS_HASU, JOYCAPS_HASU, 4 },
|
|
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_GENERIC, HID_USAGE_GENERIC_RX), JOY_HWS_HASV, JOYCAPS_HASV, 5 }, // V
|
|
|
|
USAGE_SENTINAL
|
|
};
|
|
|
|
|
|
USAGES CheckHatswitch[] = {
|
|
{ DIMAKEUSAGEDWORD(HID_USAGE_PAGE_GENERIC, HID_USAGE_GENERIC_HATSWITCH) , JOY_HWS_HASPOV, JOYCAPS_HASPOV }, // ecHatswitch
|
|
USAGE_SENTINAL
|
|
};
|
|
|
|
#endif // DIJOYHID_H
|