Patch from the.emeralddragonfly which adds functionality to PadSimple:

- Adjustable partial press for the main stick, C-stick, and triggers
(separate keys + adjustable values for semi-L, semi-R, semi-main, semi-C)
- Escape key to clear a keybinding (especially useful now)
- A whole bunch of cleanuppy/consistency stuff.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4572 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
bztdlinux
2009-11-14 20:19:06 +00:00
parent b531c3a04d
commit 2814438e79
4 changed files with 569 additions and 404 deletions

View File

@ -20,6 +20,14 @@
#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
{
@ -31,21 +39,24 @@ enum
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_HALFPRESS,
CTL_MIC,
NUMCONTROLS
NUMCONTROLS,
};
// Control names
@ -59,32 +70,38 @@ static const char* controlNames[] =
"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",
"half_press_toggle",
"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
unsigned int RumbleStrength; // Rumble strength
bool bRecording; // Record input?
bool bPlayback; // Playback input?
int XPadPlayer; // Player# of the xpad
unsigned int keyForControl[NUMCONTROLS]; // Keyboard mapping
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[];