205 lines
7.2 KiB
Plaintext
205 lines
7.2 KiB
Plaintext
|
Logitech Controls Assignment SDK for PC
|
|||
|
Copyright (C) 2009 Logitech Inc. All Rights Reserved
|
|||
|
|
|||
|
|
|||
|
Introduction
|
|||
|
--------------------------------------------------------------------------
|
|||
|
|
|||
|
This package enables developers to easily and quickly create a
|
|||
|
bulletproof solution for assigning any controls of any game controller
|
|||
|
to any functionality in their PC game.
|
|||
|
|
|||
|
The SDK also enables to easily calculate combined values for pairs of
|
|||
|
game actions so the developer can directly feed the values into his
|
|||
|
game.
|
|||
|
|
|||
|
NOTE: a game controller is any device that will appear in "Control
|
|||
|
Panel/Game Controllers" in Windows.
|
|||
|
|
|||
|
|
|||
|
Contents of the package
|
|||
|
--------------------------------------------------------------------------
|
|||
|
|
|||
|
- Logitech Controls Assignment SDK Source Files
|
|||
|
- Documentation
|
|||
|
- Demo program
|
|||
|
- Sample in-game implementation program file
|
|||
|
|
|||
|
|
|||
|
Requisites
|
|||
|
--------------------------------------------------------------------------
|
|||
|
|
|||
|
The SDK expects both DIJOYSTATE2 and XINPUT_STATE structures as
|
|||
|
input. To obtain them easily and get full hot plug/unplug support, be
|
|||
|
sure to use the Controller Input SDK.
|
|||
|
|
|||
|
The game also needs to have an options menu where the player can
|
|||
|
assign controls to various game actions. That options menu should
|
|||
|
offer a way to invert the controls if necessary (using checkboxes for
|
|||
|
example, like the sample program).
|
|||
|
|
|||
|
If the concerned game is a driving title, you may use the Steering
|
|||
|
Wheel SDK that will make it very easy to enumerate and read the
|
|||
|
wheels, as well as doing force feedback.
|
|||
|
|
|||
|
|
|||
|
The environment for use of the package
|
|||
|
--------------------------------------------------------------------------
|
|||
|
|
|||
|
1. Microsoft DirectX 9.0c SDK or newer
|
|||
|
(http://msdn.microsoft.com/downloads)
|
|||
|
|
|||
|
2. Visual Studio 2005 or newer to build and run the demo program
|
|||
|
|
|||
|
3. 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<61> 2
|
|||
|
- Rumblepad<61> 2 Vibration Feedback Gamepad
|
|||
|
- Dual Action<6F> Gamepad
|
|||
|
- Precision<6F> Gamepad 2
|
|||
|
|
|||
|
Logitech wheels
|
|||
|
- MOMO<4D> Racing
|
|||
|
- Formula<6C> Force GP
|
|||
|
- NASCAR<41> Racing Wheel
|
|||
|
- Formula<6C> GP
|
|||
|
- Driving Force Pro
|
|||
|
- G25
|
|||
|
- G27
|
|||
|
|
|||
|
Logitech joysticks
|
|||
|
- Force<63> 3D Pro
|
|||
|
- Freedom 2.4<EFBFBD> Cordless Joystick
|
|||
|
- Force<63> 3D
|
|||
|
- Extreme<6D> 3D Pro
|
|||
|
- Attack<63> 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 see how controls get assigned (you may plug in
|
|||
|
multiple controllers):
|
|||
|
|
|||
|
Launch ControlsAssignmentSDKDemo.exe.
|
|||
|
|
|||
|
Or:
|
|||
|
|
|||
|
1. Open up project in ControlsAssignment/Samples/ControlsAssignmentSDKDemo.
|
|||
|
|
|||
|
2. Compile and run
|
|||
|
|
|||
|
3. Plug in one or multiple PC wheel, joystick, gamepad or other game
|
|||
|
controllers at any time
|
|||
|
|
|||
|
4. Read instructions at top of program's window
|
|||
|
|
|||
|
|
|||
|
To implement game controller support in your game:
|
|||
|
|
|||
|
1. Copy all the source files in the ControlsAssignment/Src folder to
|
|||
|
your game.
|
|||
|
|
|||
|
2. To use the Controller Input SDK, copy all the source files in the
|
|||
|
ControllerInput/Src folder to your game.
|
|||
|
|
|||
|
3. Read and follow ControlsAssignment/Doc/SampleInGameImplementation.cpp
|
|||
|
|
|||
|
4. Check method details in ControlsAssignment/Doc/api.html and
|
|||
|
ControllerInput/Doc/api.html
|
|||
|
|
|||
|
|
|||
|
For questions/problems/suggestions send email to:
|
|||
|
cj@wingmanteam.com
|
|||
|
roland@wingmanteam.com
|
|||
|
|
|||
|
|
|||
|
End-User License Agreement for Logitech Controls Assignment SDK
|
|||
|
Agreement
|
|||
|
|
|||
|
This End-User License Agreement for Logitech Controls Assignment 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 Controls Assignment software development kit, which includes
|
|||
|
computer software and related media and documentation (hereinafter
|
|||
|
"Controls Assignment SDK"). By installing, copying or otherwise using the
|
|||
|
Controls Assignment 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 Controls Assignment 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 Controls Assignment SDK on
|
|||
|
computers for any purpose. All other rights are reserved to
|
|||
|
Logitech.
|
|||
|
|
|||
|
2 Intellectual Property Rights. The Controls Assignment 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 Controls Assignment SDK and all intellectual property
|
|||
|
rights therein. The Controls Assignment 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 CONTROLS ASSIGNMENT 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 CONTROLS
|
|||
|
ASSIGNMENT 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.
|