dolphin/Source/Plugins/Plugin_PadSimple/Src/PadSimple.h

118 lines
2.6 KiB
C
Raw Normal View History

// Copyright (C) 2003 Dolphin Project.
// 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/
#ifndef __PADSIMPLE_H__
#define __PADSIMPLE_H__
#include "Setup.h" // Common
// Constants for full-press sticks and triggers
const int BUTTON_FULL = 255;
const int STICK_FULL = 100;
const int STICK_HALF_DEFAULT = 50;
const int TRIGGER_FULL = 255;
const int TRIGGER_HALF_DEFAULT = 128;
const int TRIGGER_THRESHOLD = 230;
// Controls
enum
{
CTL_A = 0,
CTL_B,
CTL_X,
CTL_Y,
CTL_Z,
CTL_START,
CTL_L,
CTL_R,
CTL_L_SEMI,
CTL_R_SEMI,
CTL_MAINUP,
CTL_MAINDOWN,
CTL_MAINLEFT,
CTL_MAINRIGHT,
CTL_MAIN_SEMI,
CTL_SUBUP,
CTL_SUBDOWN,
CTL_SUBLEFT,
CTL_SUBRIGHT,
CTL_SUB_SEMI,
CTL_DPADUP,
CTL_DPADDOWN,
CTL_DPADLEFT,
CTL_DPADRIGHT,
CTL_MIC,
NUMCONTROLS,
};
// Control names
static const char* controlNames[] =
{
"A_button",
"B_button",
"X_button",
"Y_button",
"Z_trigger",
"Start",
"L_button",
"R_button",
"L_button_semi",
"R_button_semi",
"Main_stick_up",
"Main_stick_down",
"Main_stick_left",
"Main_stick_right",
"Main_stick_semi",
"Sub_stick_up",
"Sub_stick_down",
"Sub_stick_left",
"Sub_stick_right",
"Sub_stick_semi",
"D-Pad_up",
"D-Pad_down",
"D-Pad_left",
"D-Pad_right",
"Mic-button",
};
struct SPads
{
bool bEnableXPad; // Use an XPad in addition to the keyboard?
bool bDisable; // Disabled when dolphin isn't in focus
bool bRumble; // Rumble for xpad
u32 RumbleStrength; // Rumble strength
bool bRecording; // Record input?
bool bPlayback; // Playback input?
s32 XPadPlayer; // Player# of the xpad
u32 keyForControl[NUMCONTROLS]; // Keyboard mapping
u32 Trigger_semivalue; // Semi-press value for triggers
u32 Main_stick_semivalue; // Semi-press value for main stick
u32 Sub_stick_semivalue; // Semi-press value for sub-stick
};
extern SPads pad[];
extern bool g_EmulatorRunning;
void LoadConfig();
void SaveConfig();
bool IsFocus();
// Input Recording
void SaveRecord();
#endif