summaryrefslogtreecommitdiff
path: root/macosx/plugins/DFInput/macsrc/cfg.c
diff options
context:
space:
mode:
authorSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2014-04-08 02:33:19 +0000
committerSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2014-04-08 02:33:19 +0000
commitc875a3566e340e366553beb2dcd6b2bcf4d5ab18 (patch)
tree97dcfbe538af5f282135a27cf889ed32b1d9d54d /macosx/plugins/DFInput/macsrc/cfg.c
parent0d4ea9238b154a30e8713c7d00d7b6d1b0050d5c (diff)
downloadpcsxr-c875a3566e340e366553beb2dcd6b2bcf4d5ab18.tar.gz
DFInput: Implement SDL2 GameController support.
This change allows the user to use SDL2’s GameController API instead of the Joystick API. The Game Controller API maps the buttons similar to an Xbox 360 controller, so some tricky mapping needed to be done. Note that it currently only supports OS X. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@89828 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'macosx/plugins/DFInput/macsrc/cfg.c')
-rwxr-xr-xmacosx/plugins/DFInput/macsrc/cfg.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/macosx/plugins/DFInput/macsrc/cfg.c b/macosx/plugins/DFInput/macsrc/cfg.c
index 703a001a..3e4cfa06 100755
--- a/macosx/plugins/DFInput/macsrc/cfg.c
+++ b/macosx/plugins/DFInput/macsrc/cfg.c
@@ -25,7 +25,8 @@ long DoConfiguration();
void DoAbout();
long PADconfigure(void) {
- if (SDL_WasInit(SDL_INIT_JOYSTICK)) return PSE_ERR_FATAL; // cannot change settings on the fly
+ if (SDL_WasInit(SDL_INIT_JOYSTICK))
+ return PSE_ERR_FATAL; // cannot change settings on the fly
DoConfiguration();
//LoadPADConfig();
@@ -152,7 +153,7 @@ static const char *XKeysymToString(uint16_t key) {
i++;
}
- sprintf(buf, "0x%.2X", key);
+ snprintf(buf, sizeof(buf), "0x%.2X", key);
return buf;
}
@@ -194,6 +195,24 @@ void GetKeyDescription(char *buf, int joynum, int key)
}
}
+void GetKeyboardKeyDescription(char *buf, int joynum, int key)
+{
+ if (g.cfg.PadDef[joynum].KeyDef[key].Key != 0) {
+ sprintf(buf, _("Keyboard: %s"), XKeysymToString(g.cfg.PadDef[joynum].KeyDef[key].Key));
+ } else {
+ buf[0] = '\0';
+ }
+}
+
+void GetKeyboardAnalogDescription(char *buf, int joynum, int analognum, int dir)
+{
+ if (g.cfg.PadDef[joynum].AnalogDef[analognum][dir].Key != 0) {
+ sprintf(buf, _("Keyboard: %s"), XKeysymToString(g.cfg.PadDef[joynum].AnalogDef[analognum][dir].Key));
+ } else {
+ buf[0] = '\0';
+ }
+}
+
void GetAnalogDescription(char *buf, int joynum, int analognum, int dir)
{
switch (g.cfg.PadDef[joynum].AnalogDef[analognum][dir].JoyEvType) {