Game Control Plus  1.2.2
 All Classes Namespaces Functions Variables Pages
net.java.games.input.IDirectInputDevice Class Reference

Public Member Functions

 IDirectInputDevice (DummyWindow window, long address, byte[] instance_guid, byte[] product_guid, int dev_type, int dev_subtype, String instance_name, String product_name) throws IOException
 
final boolean areAxesRelative ()
 
final Rumbler[] getRumblers ()
 
final int getPollData (DIDeviceObject object)
 
final DIDeviceObject mapEvent (DIDeviceObjectData event)
 
final DIComponent mapObject (DIDeviceObject object)
 
final void registerComponent (DIDeviceObject object, DIComponent component)
 
final synchronized void pollAll () throws IOException
 
synchronized final boolean getNextEvent (DIDeviceObjectData data)
 
final String getProductName ()
 
final int getType ()
 
final List getObjects ()
 
final synchronized long[] getRangeProperty (int object_identifier) throws IOException
 
final synchronized int getDeadzoneProperty (int object_identifier) throws IOException
 
final synchronized void setBufferSize (int size) throws IOException
 
final synchronized void setCooperativeLevel (int flags) throws IOException
 
synchronized final void release ()
 

Static Public Attributes

static final int GUID_XAxis = 1
 
static final int GUID_YAxis = 2
 
static final int GUID_ZAxis = 3
 
static final int GUID_RxAxis = 4
 
static final int GUID_RyAxis = 5
 
static final int GUID_RzAxis = 6
 
static final int GUID_Slider = 7
 
static final int GUID_Button = 8
 
static final int GUID_Key = 9
 
static final int GUID_POV = 10
 
static final int GUID_Unknown = 11
 
static final int GUID_ConstantForce = 12
 
static final int GUID_RampForce = 13
 
static final int GUID_Square = 14
 
static final int GUID_Sine = 15
 
static final int GUID_Triangle = 16
 
static final int GUID_SawtoothUp = 17
 
static final int GUID_SawtoothDown = 18
 
static final int GUID_Spring = 19
 
static final int GUID_Damper = 20
 
static final int GUID_Inertia = 21
 
static final int GUID_Friction = 22
 
static final int GUID_CustomForce = 23
 
static final int DI8DEVTYPE_DEVICE = 0x11
 
static final int DI8DEVTYPE_MOUSE = 0x12
 
static final int DI8DEVTYPE_KEYBOARD = 0x13
 
static final int DI8DEVTYPE_JOYSTICK = 0x14
 
static final int DI8DEVTYPE_GAMEPAD = 0x15
 
static final int DI8DEVTYPE_DRIVING = 0x16
 
static final int DI8DEVTYPE_FLIGHT = 0x17
 
static final int DI8DEVTYPE_1STPERSON = 0x18
 
static final int DI8DEVTYPE_DEVICECTRL = 0x19
 
static final int DI8DEVTYPE_SCREENPOINTER = 0x1A
 
static final int DI8DEVTYPE_REMOTE = 0x1B
 
static final int DI8DEVTYPE_SUPPLEMENTAL = 0x1C
 
static final int DISCL_EXCLUSIVE = 0x00000001
 
static final int DISCL_NONEXCLUSIVE = 0x00000002
 
static final int DISCL_FOREGROUND = 0x00000004
 
static final int DISCL_BACKGROUND = 0x00000008
 
static final int DISCL_NOWINKEY = 0x00000010
 
static final int DIDFT_ALL = 0x00000000
 
static final int DIDFT_RELAXIS = 0x00000001
 
static final int DIDFT_ABSAXIS = 0x00000002
 
static final int DIDFT_AXIS = 0x00000003
 
static final int DIDFT_PSHBUTTON = 0x00000004
 
static final int DIDFT_TGLBUTTON = 0x00000008
 
static final int DIDFT_BUTTON = 0x0000000C
 
static final int DIDFT_POV = 0x00000010
 
static final int DIDFT_COLLECTION = 0x00000040
 
static final int DIDFT_NODATA = 0x00000080
 
static final int DIDFT_FFACTUATOR = 0x01000000
 
static final int DIDFT_FFEFFECTTRIGGER = 0x02000000
 
static final int DIDFT_OUTPUT = 0x10000000
 
static final int DIDFT_VENDORDEFINED = 0x04000000
 
static final int DIDFT_ALIAS = 0x08000000
 
static final int DIDFT_OPTIONAL = 0x80000000
 
static final int DIDFT_NOCOLLECTION = 0x00FFFF00
 
static final int DIDF_ABSAXIS = 0x00000001
 
static final int DIDF_RELAXIS = 0x00000002
 
static final int DI_OK = 0x00000000
 
static final int DI_NOEFFECT = 0x00000001
 
static final int DI_PROPNOEFFECT = 0x00000001
 
static final int DI_POLLEDDEVICE = 0x00000002
 
static final int DI_DOWNLOADSKIPPED = 0x00000003
 
static final int DI_EFFECTRESTARTED = 0x00000004
 
static final int DI_TRUNCATED = 0x00000008
 
static final int DI_SETTINGSNOTSAVED = 0x0000000B
 
static final int DI_TRUNCATEDANDRESTARTED = 0x0000000C
 
static final int DI_BUFFEROVERFLOW = 0x00000001
 
static final int DIERR_INPUTLOST = 0x8007001E
 
static final int DIERR_NOTACQUIRED = 0x8007001C
 
static final int DIERR_OTHERAPPHASPRIO = 0x80070005
 
static final int DIDOI_FFACTUATOR = 0x00000001
 
static final int DIDOI_FFEFFECTTRIGGER = 0x00000002
 
static final int DIDOI_POLLED = 0x00008000
 
static final int DIDOI_ASPECTPOSITION = 0x00000100
 
static final int DIDOI_ASPECTVELOCITY = 0x00000200
 
static final int DIDOI_ASPECTACCEL = 0x00000300
 
static final int DIDOI_ASPECTFORCE = 0x00000400
 
static final int DIDOI_ASPECTMASK = 0x00000F00
 
static final int DIDOI_GUIDISUSAGE = 0x00010000
 
static final int DIEFT_ALL = 0x00000000
 
static final int DIEFT_CONSTANTFORCE = 0x00000001
 
static final int DIEFT_RAMPFORCE = 0x00000002
 
static final int DIEFT_PERIODIC = 0x00000003
 
static final int DIEFT_CONDITION = 0x00000004
 
static final int DIEFT_CUSTOMFORCE = 0x00000005
 
static final int DIEFT_HARDWARE = 0x000000FF
 
static final int DIEFT_FFATTACK = 0x00000200
 
static final int DIEFT_FFFADE = 0x00000400
 
static final int DIEFT_SATURATION = 0x00000800
 
static final int DIEFT_POSNEGCOEFFICIENTS = 0x00001000
 
static final int DIEFT_POSNEGSATURATION = 0x00002000
 
static final int DIEFT_DEADBAND = 0x00004000
 
static final int DIEFT_STARTDELAY = 0x00008000
 
static final int DIEFF_OBJECTIDS = 0x00000001
 
static final int DIEFF_OBJECTOFFSETS = 0x00000002
 
static final int DIEFF_CARTESIAN = 0x00000010
 
static final int DIEFF_POLAR = 0x00000020
 
static final int DIEFF_SPHERICAL = 0x00000040
 
static final int DIEP_DURATION = 0x00000001
 
static final int DIEP_SAMPLEPERIOD = 0x00000002
 
static final int DIEP_GAIN = 0x00000004
 
static final int DIEP_TRIGGERBUTTON = 0x00000008
 
static final int DIEP_TRIGGERREPEATINTERVAL = 0x00000010
 
static final int DIEP_AXES = 0x00000020
 
static final int DIEP_DIRECTION = 0x00000040
 
static final int DIEP_ENVELOPE = 0x00000080
 
static final int DIEP_TYPESPECIFICPARAMS = 0x00000100
 
static final int DIEP_STARTDELAY = 0x00000200
 
static final int DIEP_ALLPARAMS_DX5 = 0x000001FF
 
static final int DIEP_ALLPARAMS = 0x000003FF
 
static final int DIEP_START = 0x20000000
 
static final int DIEP_NORESTART = 0x40000000
 
static final int DIEP_NODOWNLOAD = 0x80000000
 
static final int DIEB_NOTRIGGER = 0xFFFFFFFF
 
static final int INFINITE = 0xFFFFFFFF
 
static final int DI_DEGREES = 100
 
static final int DI_FFNOMINALMAX = 10000
 
static final int DI_SECONDS = 1000000
 
static final int DIPROPRANGE_NOMIN = 0x80000000
 
static final int DIPROPRANGE_NOMAX = 0x7FFFFFFF
 

Protected Member Functions

void finalize ()
 

Private Member Functions

final List createRumblers () throws IOException
 
final Rumbler createPeriodicRumbler (DIDeviceObject[] axes, long[] directions, DIEffectInfo info) throws IOException
 
final DIDeviceObject lookupObjectByGUID (int guid_id)
 
final void poll () throws IOException
 
final void acquire () throws IOException
 
final void unacquire () throws IOException
 
final boolean getDeviceData (DataQueue queue) throws IOException
 
final void getDeviceState (int[] device_state) throws IOException
 
final void setDataFormat (int flags) throws IOException
 
final void enumEffects () throws IOException
 
final native int nEnumEffects (long address, int flags)
 
final void addEffect (byte[] guid, int guid_id, int effect_type, int static_params, int dynamic_params, String name)
 
final void enumObjects () throws IOException
 
final native int nEnumObjects (long address, int flags)
 
final void addObject (byte[] guid, int guid_type, int identifier, int type, int instance, int flags, String name) throws IOException
 
final Component.Identifier.Button getNextButtonIdentifier ()
 
final Component.Identifier getIdentifier (int guid_type, int type, int instance)
 
final void checkReleased () throws IOException
 

Static Private Member Functions

static final native long nCreatePeriodicEffect (long address, byte[] effect_guid, int flags, int duration, int sample_period, int gain, int trigger_button, int trigger_repeat_interval, int[] axis_ids, long[] directions, int envelope_attack_level, int envelope_attack_time, int envelope_fade_level, int envelope_fade_time, int periodic_magnitude, int periodic_offset, int periodic_phase, int periodic_period, int start_delay) throws IOException
 
static final native int nPoll (long address) throws IOException
 
static final native int nAcquire (long address)
 
static final native int nUnacquire (long address)
 
static final native int nGetDeviceData (long address, int flags, DataQueue queue, Object[] queue_elements, int position, int remaining)
 
static final native int nGetDeviceState (long address, int[] device_state)
 
static final native int nSetDataFormat (long address, int flags, DIDeviceObject[] device_objects)
 
static final native int nGetRangeProperty (long address, int object_id, long[] range)
 
static final native int nGetDeadzoneProperty (long address, int object_id) throws IOException
 
static final
Component.Identifier.Key 
getKeyIdentifier (int key_instance)
 
static final native int nSetBufferSize (long address, int size)
 
static final native int nSetCooperativeLevel (long address, long hwnd_address, int flags)
 
static final native void nRelease (long address)
 

Private Attributes

final DummyWindow window
 
final long address
 
final int dev_type
 
final int dev_subtype
 
final String instance_name
 
final String product_name
 
final List objects = new ArrayList()
 
final List effects = new ArrayList()
 
final List rumblers = new ArrayList()
 
final int[] device_state
 
final Map object_to_component = new HashMap()
 
final boolean axes_in_relative_mode
 
boolean released
 
DataQueue queue
 
int button_counter
 
int current_format_offset
 

Detailed Description

Java wrapper for IDirectInputDevice

Author
martak
elias
Version
1.0