2009-07-28 21:32:10 +00:00
|
|
|
// Copyright (C) 2003 Dolphin Project.
|
2008-12-08 04:46:09 +00:00
|
|
|
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
|
|
// it under the terms of the GNU General Public License as published by
|
|
|
|
// the Free Software Foundation, version 2.0.
|
|
|
|
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// GNU General Public License 2.0 for more details.
|
|
|
|
|
|
|
|
// A copy of the GPL 2.0 should have been included with the program.
|
|
|
|
// If not, see http://www.gnu.org/licenses/
|
|
|
|
|
|
|
|
// Official SVN repository and contact information can be found at
|
|
|
|
// http://code.google.com/p/dolphin-emu/
|
|
|
|
|
2009-03-20 11:51:22 +00:00
|
|
|
#ifndef _PLUGIN_WIIMOTE_CONFIG_H
|
|
|
|
#define _PLUGIN_WIIMOTE_CONFIG_H
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2009-07-10 06:16:22 +00:00
|
|
|
#if defined(HAVE_X11) && HAVE_X11
|
|
|
|
#include <X11/keysym.h>
|
|
|
|
#endif
|
|
|
|
|
2009-07-10 05:30:19 +00:00
|
|
|
#define WM_CONTROLS 14
|
|
|
|
#define NC_CONTROLS 7
|
|
|
|
#define CC_CONTROLS 23
|
|
|
|
#define GH3_CONTROLS 14
|
|
|
|
|
2009-07-05 04:29:00 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
EXT_NONE = 0,
|
|
|
|
EXT_NUNCHUCK,
|
|
|
|
EXT_CLASSIC_CONTROLLER,
|
|
|
|
EXT_GUITARHERO3_CONTROLLER,
|
|
|
|
EXT_GUITARHEROWT_DRUMS,
|
|
|
|
};
|
2009-02-15 02:01:43 +00:00
|
|
|
|
2008-12-08 04:46:09 +00:00
|
|
|
struct Config
|
|
|
|
{
|
2009-07-05 04:29:00 +00:00
|
|
|
Config();
|
|
|
|
void Load(bool ChangePad = false);
|
|
|
|
void Save(int Slot = -1);
|
2009-02-10 17:25:08 +00:00
|
|
|
|
2009-02-12 08:46:48 +00:00
|
|
|
struct PadRange
|
2009-02-10 17:25:08 +00:00
|
|
|
{
|
2009-02-11 10:30:02 +00:00
|
|
|
int Roll;
|
|
|
|
int Pitch;
|
2009-02-10 17:25:08 +00:00
|
|
|
};
|
|
|
|
|
2009-02-12 08:46:48 +00:00
|
|
|
struct PadTrigger
|
|
|
|
{
|
2009-02-15 02:01:43 +00:00
|
|
|
enum ETriggerType
|
|
|
|
{
|
|
|
|
TRIGGER_OFF = 0,
|
|
|
|
KEYBOARD,
|
|
|
|
ANALOG1,
|
|
|
|
ANALOG2,
|
|
|
|
TRIGGER
|
|
|
|
};
|
2009-02-12 08:46:48 +00:00
|
|
|
int Type;
|
|
|
|
PadRange Range;
|
|
|
|
};
|
2009-02-15 02:01:43 +00:00
|
|
|
struct PadNunchuck
|
2009-02-10 17:25:08 +00:00
|
|
|
{
|
2009-02-15 02:01:43 +00:00
|
|
|
enum ENunchuckStick
|
|
|
|
{
|
|
|
|
KEYBOARD,
|
|
|
|
ANALOG1,
|
|
|
|
ANALOG2
|
|
|
|
};
|
|
|
|
int Type;
|
2009-02-10 17:25:08 +00:00
|
|
|
};
|
2009-02-24 02:40:17 +00:00
|
|
|
struct PadClassicController
|
|
|
|
{
|
|
|
|
enum ECcStick
|
|
|
|
{
|
|
|
|
KEYBOARD,
|
|
|
|
ANALOG1,
|
|
|
|
ANALOG2,
|
|
|
|
TRIGGER
|
|
|
|
};
|
|
|
|
int LType;
|
|
|
|
int RType;
|
|
|
|
int TType;
|
|
|
|
};
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2009-07-04 07:28:48 +00:00
|
|
|
struct PadGH3
|
|
|
|
{
|
|
|
|
enum EGH3Stick
|
|
|
|
{
|
2009-07-18 05:04:36 +00:00
|
|
|
// KEYBOARD,
|
2009-07-04 07:28:48 +00:00
|
|
|
ANALOG1,
|
|
|
|
ANALOG2
|
|
|
|
};
|
2009-07-18 05:04:36 +00:00
|
|
|
int AType; // Analog Stick
|
2009-07-04 07:28:48 +00:00
|
|
|
int TType; // Whammy bar
|
|
|
|
};
|
|
|
|
|
2009-07-05 04:29:00 +00:00
|
|
|
// Emulated Wiimote
|
2008-12-08 04:46:09 +00:00
|
|
|
bool bSidewaysDPad;
|
|
|
|
bool bWideScreen;
|
2009-07-05 04:29:00 +00:00
|
|
|
int iExtensionConnected;
|
2009-01-25 23:07:15 +00:00
|
|
|
|
|
|
|
// Real Wiimote
|
2009-01-28 16:09:08 +00:00
|
|
|
bool bConnectRealWiimote, bUseRealWiimote, bUpdateRealWiimote;
|
2009-02-20 03:13:22 +00:00
|
|
|
int iIRLeft, iIRTop, iIRWidth, iIRHeight;
|
2009-02-03 11:45:59 +00:00
|
|
|
int iAccNeutralX, iAccNeutralY, iAccNeutralZ;
|
|
|
|
int iAccNunNeutralX, iAccNunNeutralY, iAccNunNeutralZ;
|
2009-02-10 00:41:43 +00:00
|
|
|
|
|
|
|
// Gamepad
|
|
|
|
bool bNoTriggerFilter;
|
2009-02-10 17:25:08 +00:00
|
|
|
PadTrigger Trigger;
|
2009-02-15 02:01:43 +00:00
|
|
|
PadNunchuck Nunchuck;
|
2009-02-24 02:40:17 +00:00
|
|
|
PadClassicController ClassicController;
|
2009-07-04 07:28:48 +00:00
|
|
|
PadGH3 GH3Controller;
|
2009-02-26 00:11:51 +00:00
|
|
|
// Screen size settings
|
|
|
|
bool bKeepAR43, bKeepAR169, bCrop;
|
2008-12-08 04:46:09 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
extern Config g_Config;
|
2009-07-10 05:30:19 +00:00
|
|
|
#endif // _PLUGIN_WIIMOTE_CONFIG_H
|