199 lines
7.1 KiB
Plaintext
199 lines
7.1 KiB
Plaintext
|
Logitech Controller Input SDK for PC
|
||
|
Copyright (C) 2009 Logitech Inc. All Rights Reserved
|
||
|
|
||
|
|
||
|
Introduction
|
||
|
--------------------------------------------------------------------------
|
||
|
|
||
|
This package enables developers to easily add support in their games
|
||
|
for hot plug/unplug of game controllers, and enables to gracefully
|
||
|
combine XInput and DirectInput devices.
|
||
|
Any controller simply gets a number upon plug in corresponding to the
|
||
|
lowest number available (from 0 to 3), and then the developer can get
|
||
|
both positional and descriptive information about the controller (such
|
||
|
as whether it is XInput or DirectInput, friendly name, VID/PID,
|
||
|
connection status including connection based on manufacturer type and
|
||
|
product name, and whether it supports force feedback/rumble or not).
|
||
|
Furthermore the developer can get the device handle for DirectInput
|
||
|
devices in order for example to do force feedback, or the XInput ID to
|
||
|
do rumble or other XInput operations.
|
||
|
|
||
|
NOTE: a game controller is any device that will appear in "Control
|
||
|
Panel/Game Controllers" in Windows.
|
||
|
|
||
|
|
||
|
Contents of the package
|
||
|
--------------------------------------------------------------------------
|
||
|
|
||
|
- Logitech Controller Input SDK Source Files
|
||
|
- Demo executable
|
||
|
- Documentation
|
||
|
- Sample in-game implementation program file
|
||
|
|
||
|
|
||
|
The environment for use of the package
|
||
|
--------------------------------------------------------------------------
|
||
|
|
||
|
1. Microsoft DirectX 9 SDK or higher
|
||
|
(http://msdn.microsoft.com/downloads)
|
||
|
|
||
|
2. DirectX Runtime 9.0c or higher (October 2006 update or higher).
|
||
|
|
||
|
3. Visual Studio 2005 to build and run the demo program
|
||
|
|
||
|
4. Drivers installed for particular wheels/joysticks/rumble pads. For
|
||
|
example if using Logitech wheels/joysticks/rumble pads make sure the
|
||
|
latest Gaming Software is installed
|
||
|
(http://www.logitech.com/index.cfm/support_downloads/&cl=us,en).
|
||
|
|
||
|
|
||
|
Testing setup
|
||
|
--------------------------------------------------------------------------
|
||
|
|
||
|
Devices used
|
||
|
|
||
|
Logitech gamepads
|
||
|
- Cordless Rumblepad 2
|
||
|
- Rumblepad 2 Vibration Feedback Gamepad
|
||
|
- Dual Action Gamepad
|
||
|
- Precision Gamepad 2
|
||
|
|
||
|
Logitech wheels
|
||
|
- G27
|
||
|
- G25
|
||
|
- Driving Force Pro
|
||
|
- MOMO Racing
|
||
|
- Formula Force GP
|
||
|
- NASCAR Racing Wheel
|
||
|
- Formula GP
|
||
|
|
||
|
Logitech joysticks
|
||
|
- G940
|
||
|
- Force 3D Pro
|
||
|
- Freedom 2.4 Cordless Joystick
|
||
|
- Force 3D
|
||
|
- Extreme 3D Pro
|
||
|
- Attack 3 Joystick
|
||
|
|
||
|
Microsoft
|
||
|
- Sidewinder Force Feedback 2 (Stick)
|
||
|
- Sidewinder Force (Wheel)
|
||
|
|
||
|
Other (Immersion drivers)
|
||
|
- Gravis gamepad (XTerminator Force)
|
||
|
|
||
|
Operating Systems
|
||
|
- Windows XP/Vista
|
||
|
|
||
|
DirectX versions
|
||
|
- 9.0c
|
||
|
|
||
|
|
||
|
Disclaimer
|
||
|
--------------------------------------------------------------------------
|
||
|
|
||
|
This is work in progress. If you find anything wrong with either
|
||
|
documentation or code, please let us know so we can improve on it.
|
||
|
|
||
|
|
||
|
Where to start
|
||
|
--------------------------------------------------------------------------
|
||
|
|
||
|
For a demo program to try plugging and unplugging controllers and
|
||
|
getting their X axis values and descriptive information:
|
||
|
|
||
|
Execute ControllerInputSDKDemo.exe.
|
||
|
|
||
|
Or:
|
||
|
|
||
|
1. Go to Samples/ControllerInputSDKDemo folder and open the project in
|
||
|
Visual Studio.
|
||
|
|
||
|
2. Set the DirectX SDK include and lib folders in Visual Studio.
|
||
|
|
||
|
3. Compile and run.
|
||
|
|
||
|
4. Plug in one or multiple PC wheel, joystick, gamepad or other game
|
||
|
controllers at any time.
|
||
|
|
||
|
|
||
|
To implement game controller support in your game:
|
||
|
|
||
|
1. Copy the following source files from the Src folder to your game:
|
||
|
|
||
|
- LogiControllerInput.h/cpp
|
||
|
- LogiGameController.h/cpp
|
||
|
- LogiGameControllerDI.h/cpp
|
||
|
- LogiGameControllerXInput.h/cpp
|
||
|
- LogiControllerInputGlobals.h
|
||
|
- LogiControllerInputUtils.h/cpp
|
||
|
|
||
|
2. Read and follow Doc/SampleInGameImplementation.cpp
|
||
|
|
||
|
3. Check method details in Doc/api.html
|
||
|
|
||
|
|
||
|
For questions/problems/suggestions email to:
|
||
|
cj@wingmanteam.com
|
||
|
roland@wingmanteam.com
|
||
|
|
||
|
|
||
|
End-User License Agreement for Logitech Controller Input SDK
|
||
|
Agreement
|
||
|
|
||
|
This End-User License Agreement for Logitech Controller Input SDK
|
||
|
Agreement ( "Agreement") is a legal agreement between you, either an
|
||
|
individual or legal entity ("You" or "you") and Logitech
|
||
|
Inc. ("Logitech") for the pre-release alpha test version of the
|
||
|
Logitech Controller Input software development kit, which includes
|
||
|
computer software and related media and documentation (hereinafter
|
||
|
"Controller Input SDK"). By installing, copying or otherwise using the
|
||
|
Controller Input SDK, you agree to be bound by the terms of this
|
||
|
Agreement. If you do not agree to the terms of this Agreement, do not
|
||
|
install or use the Controller Input SDK.
|
||
|
|
||
|
|
||
|
1 Grant of License and Restrictions. Logitech grants You a limited,
|
||
|
non-exclusive, nontransferable license to install and use an
|
||
|
unlimited number of copies of the Controller Input SDK on
|
||
|
computers for any purpose. All other rights are reserved to
|
||
|
Logitech.
|
||
|
|
||
|
2 Intellectual Property Rights. The Controller Input SDK is
|
||
|
licensed, not sold, to You for use only under the terms and
|
||
|
conditions of this Agreement. Logitech and its suppliers retain
|
||
|
title to the Controller Input SDK and all intellectual
|
||
|
property rights therein. The Controller Input SDK is
|
||
|
protected by intellectual property laws and international treaties,
|
||
|
including U.S. copyright law and international copyright treaties.
|
||
|
All rights not expressly granted by Logitech are reserved.
|
||
|
|
||
|
3 Disclaimer of Warranty. TO THE MAXIMUM EXTENT PERMITTED BY
|
||
|
APPLICABLE LAW, LOGITECH AND ITS SUPPLIERS PROVIDE THE CONTROLLER
|
||
|
INPUT SDK AND OTHER LOGITECH PRODUCTS AND SERVICES (IF ANY) AS IS
|
||
|
AND WITHOUT WARRANTY OF ANY KIND. LOGITECH AND ITS SUPPLIERS
|
||
|
EXPRESSLY DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING,
|
||
|
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD-PARTY
|
||
|
RIGHTS WITH RESPECT TO THE CONTROLLER INPUT SDK AND ANY WARRANTIES
|
||
|
OF NON-INTERFERENCE OR ACCURACY OF INFORMATIONAL CONTENT. NO
|
||
|
LOGITECH DEALER, AGENT, OR EMPLOYEE IS AUTHORIZED TO MAKE ANY
|
||
|
MODIFICATION, EXTENSION, OR ADDITION TO THIS WARRANTY. Some
|
||
|
jurisdictions do not allow limitations on how long an implied
|
||
|
warranty lasts, so the above limitation may not apply to you.
|
||
|
|
||
|
4 Limitation of Liability. IN NO EVENT WILL LOGITECH OR ITS SUPPLIERS
|
||
|
BE LIABLE FOR ANY COSTS OF PROCUREMENT OF SUBSTITUTE PRODUCTS OR
|
||
|
SERVICES, LOST PROFITS, LOSS OF INFORMATION OR DATA, OR ANY OTHER
|
||
|
SPECIAL, INDIRECT, CONSEQUENTIAL, OR INCIDENTAL DAMAGES ARISING IN
|
||
|
ANY WAY OUT OF THE SALE OF, USE OF, OR INABILITY TO USE THE
|
||
|
CONTROLLER INPUT SDK OR ANY LOGITECH PRODUCT OR SERVICE, EVEN IF
|
||
|
LOGITECH HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO
|
||
|
CASE SHALL LOGITECH'S AND ITS SUPPLIERS' TOTAL LIABILITY EXCEED THE
|
||
|
ACTUAL MONEY PAID FOR THE LOGITECH PRODUCT OR SERVICE GIVING RISE TO
|
||
|
THE LIABILITY. Some jurisdictions do not allow the exclusion or
|
||
|
limitation of incidental or consequential damages, so the above
|
||
|
limitation or exclusion may not apply to you. The above limitations
|
||
|
will not apply in case of personal injury where and to the extent
|
||
|
that applicable law requires such liability.
|