mirror of https://github.com/PCSX2/pcsx2.git
99 lines
2.4 KiB
C
99 lines
2.4 KiB
C
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <stdio.h>
|
|
#include "PAD.h"
|
|
|
|
|
|
|
|
#include <sys/stat.h>
|
|
#include <sys/types.h>
|
|
#include <fcntl.h>
|
|
#ifndef __WIN32__
|
|
#include <unistd.h>
|
|
#endif
|
|
|
|
void SaveConfig() {
|
|
FILE *f;
|
|
char cfg[255];
|
|
int i, j;
|
|
#ifdef __WIN32__
|
|
CreateDirectory("inis",NULL);
|
|
sprintf(cfg,"inis/padwinkeyb.ini");
|
|
#else
|
|
sprintf(cfg,"%s/.PS2E", getenv("HOME"));
|
|
mkdir(cfg, 0755);
|
|
sprintf (cfg,"%s/.PS2E/PADwin.cfg",getenv("HOME"));
|
|
#endif
|
|
f = fopen(cfg,"w");
|
|
if (f == NULL) {
|
|
printf("PADwin: Error writing to '%s'\n", cfg);
|
|
return;
|
|
}
|
|
for (j=0; j<2; j++) {
|
|
for (i=0; i<16; i++) {
|
|
fprintf(f, "[%d][%d] = 0x%lx\n", j, i, conf.keys[j][i]);
|
|
}
|
|
}
|
|
fprintf(f, "logging = %d\n", conf.log);
|
|
fclose(f);
|
|
}
|
|
|
|
void LoadConfig() {
|
|
FILE *f;
|
|
char str[256];
|
|
char cfg[255];
|
|
int i, j;
|
|
|
|
memset(&conf, 0, sizeof(conf));
|
|
#ifdef __WIN32__
|
|
conf.keys[0][0] = '1'; // L2
|
|
conf.keys[0][1] = '3'; // R2
|
|
conf.keys[0][2] = 'Q'; // L1
|
|
conf.keys[0][3] = 'E'; // R1
|
|
conf.keys[0][4] = 'W'; // TRIANGLE
|
|
conf.keys[0][5] = 'D'; // CIRCLE
|
|
conf.keys[0][6] = 'X'; // CROSS
|
|
conf.keys[0][7] = 'A'; // SQUARE
|
|
conf.keys[0][8] = VK_DECIMAL; // SELECT
|
|
conf.keys[0][11] = VK_NUMPAD0; // START
|
|
conf.keys[0][12] = VK_NUMPAD8; // UP
|
|
conf.keys[0][13] = VK_NUMPAD6; // RIGHT
|
|
conf.keys[0][14] = VK_NUMPAD2; // DOWN
|
|
conf.keys[0][15] = VK_NUMPAD4; // LEFT
|
|
#else
|
|
conf.keys[0][0] = XK_1; // L2
|
|
conf.keys[0][1] = XK_3; // R2
|
|
conf.keys[0][2] = XK_q; // L1
|
|
conf.keys[0][3] = XK_e; // R1
|
|
conf.keys[0][4] = XK_w; // TRIANGLE
|
|
conf.keys[0][5] = XK_d; // CIRCLE
|
|
conf.keys[0][6] = XK_x; // CROSS
|
|
conf.keys[0][7] = XK_a; // SQUARE
|
|
conf.keys[0][8] = XK_KP_Delete; // SELECT
|
|
conf.keys[0][11] = XK_KP_Insert;// START
|
|
conf.keys[0][12] = XK_KP_Up; // UP
|
|
conf.keys[0][13] = XK_KP_Right; // RIGHT
|
|
conf.keys[0][14] = XK_KP_Down; // DOWN
|
|
conf.keys[0][15] = XK_KP_Left; // LEFT
|
|
#endif
|
|
conf.log = 0;
|
|
#ifdef __WIN32__
|
|
sprintf(cfg,"inis/padwinkeyb.ini");
|
|
#else
|
|
sprintf (cfg,"%s/.PS2E/PADwin.cfg", getenv("HOME"));
|
|
#endif
|
|
f = fopen(cfg,"r");
|
|
if (f == NULL) return;
|
|
|
|
for (j=0; j<2; j++) {
|
|
for (i=0; i<16; i++) {
|
|
sprintf(str, "[%d][%d] = 0x%%x\n", j, i);
|
|
fscanf(f, str, &conf.keys[j][i]);
|
|
}
|
|
}
|
|
fscanf(f, "logging = %d\n", &conf.log);
|
|
fclose(f);
|
|
}
|
|
|
|
|