#include <linux/fb.h>
#include <sys/mman.h>
#include <linux/soundcard.h>
+#include <linux/input.h>
#include "common/input.h"
#include "gp2x/in_gp2x.h"
+#include "linux/in_evdev.h"
#include "common/menu.h"
#include "warm/warm.h"
#include "plugin_lib.h"
static int fb_offset_x, fb_offset_y;
static void caanoo_init(void);
+static void wiz_init(void);
+
+static const struct in_default_bind in_evdev_defbinds[] = {
+ { KEY_UP, IN_BINDTYPE_PLAYER12, DKEY_UP },
+ { KEY_DOWN, IN_BINDTYPE_PLAYER12, DKEY_DOWN },
+ { KEY_LEFT, IN_BINDTYPE_PLAYER12, DKEY_LEFT },
+ { KEY_RIGHT, IN_BINDTYPE_PLAYER12, DKEY_RIGHT },
+ { BTN_TOP, IN_BINDTYPE_PLAYER12, DKEY_TRIANGLE },
+ { BTN_THUMB, IN_BINDTYPE_PLAYER12, DKEY_CROSS },
+ { BTN_THUMB2, IN_BINDTYPE_PLAYER12, DKEY_CIRCLE },
+ { BTN_TRIGGER, IN_BINDTYPE_PLAYER12, DKEY_SQUARE },
+ { BTN_BASE3, IN_BINDTYPE_PLAYER12, DKEY_START },
+ { BTN_BASE4, IN_BINDTYPE_PLAYER12, DKEY_SELECT },
+ { BTN_TOP2, IN_BINDTYPE_PLAYER12, DKEY_L1 },
+ { BTN_PINKIE, IN_BINDTYPE_PLAYER12, DKEY_R1 },
+ { BTN_BASE, IN_BINDTYPE_EMU, SACTION_ENTER_MENU },
+ { 0, 0, 0 },
+};
static void *fb_flip(void)
{
}
/* not really used, we do raw_flip */
-void plat_gvideo_open(void)
+void plat_gvideo_open(int is_pal)
{
}
g_menuscreen_h = 240;
g_menuscreen_ptr = fb_flip();
- g_menubg_ptr = calloc(320*240*2, 1);
- if (g_menubg_ptr == NULL) {
- fprintf(stderr, "OOM\n");
- exit(1);
- }
-
warm_ret = warm_init();
have_warm = warm_ret == 0;
warm_change_cb_upper(WCB_B_BIT, 1);
else {
printf("detected Wiz\n");
gp2x_dev_id = GP2X_DEV_WIZ;
- in_gp2x_init();
}
in_tsbutton_init();
- in_probe();
+ in_evdev_init(in_evdev_defbinds);
if (gp2x_dev_id == GP2X_DEV_CAANOO)
caanoo_init();
+ else
+ wiz_init();
mixerdev = open("/dev/mixer", O_RDWR);
if (mixerdev == -1)
}
/* Caanoo stuff, perhaps move later */
-#include <linux/input.h>
-
-struct in_default_bind in_evdev_defbinds[] = {
- { KEY_UP, IN_BINDTYPE_PLAYER12, DKEY_UP },
- { KEY_DOWN, IN_BINDTYPE_PLAYER12, DKEY_DOWN },
- { KEY_LEFT, IN_BINDTYPE_PLAYER12, DKEY_LEFT },
- { KEY_RIGHT, IN_BINDTYPE_PLAYER12, DKEY_RIGHT },
- { BTN_TOP, IN_BINDTYPE_PLAYER12, DKEY_TRIANGLE },
- { BTN_THUMB, IN_BINDTYPE_PLAYER12, DKEY_CROSS },
- { BTN_THUMB2, IN_BINDTYPE_PLAYER12, DKEY_CIRCLE },
- { BTN_TRIGGER, IN_BINDTYPE_PLAYER12, DKEY_SQUARE },
- { BTN_BASE3, IN_BINDTYPE_PLAYER12, DKEY_START },
- { BTN_BASE4, IN_BINDTYPE_PLAYER12, DKEY_SELECT },
- { BTN_TOP2, IN_BINDTYPE_PLAYER12, DKEY_L1 },
- { BTN_PINKIE, IN_BINDTYPE_PLAYER12, DKEY_R1 },
- { BTN_BASE, IN_BINDTYPE_EMU, SACTION_ENTER_MENU },
- { 0, 0, 0 },
-};
-
static const char * const caanoo_keys[KEY_MAX + 1] = {
[0 ... KEY_MAX] = NULL,
[KEY_UP] = "Up",
ioctl(hapticdev, HAPTIC_PLAY_PATTERN, &haptic_seq[!!is_strong]);
}
+static void caanoo_init(void)
+{
+ in_probe();
+ in_set_config(in_name_to_id("evdev:pollux-analog"), IN_CFG_KEY_NAMES,
+ caanoo_keys, sizeof(caanoo_keys));
+}
+
/* Wiz stuff */
-struct in_default_bind in_gp2x_defbinds[] =
+static const struct in_default_bind in_gp2x_defbinds[] =
{
/* MXYZ SACB RLDU */
{ GP2X_BTN_UP, IN_BINDTYPE_PLAYER12, DKEY_UP },
// unused dummy for in_gp2x
volatile unsigned short *gp2x_memregs;
-static void caanoo_init(void)
+static void wiz_init(void)
{
- in_set_config(in_name_to_id("evdev:pollux-analog"), IN_CFG_KEY_NAMES,
- caanoo_keys, sizeof(caanoo_keys));
+ in_gp2x_init(in_gp2x_defbinds);
+ in_probe();
}