+/*
+ * (C) GraÅžvydas "notaz" Ignotas, 2006-2012
+ *
+ * This work is licensed under the terms of any of these licenses
+ * (at your option):
+ * - GNU GPL, version 2 or later.
+ * - GNU LGPL, version 2.1 or later.
+ * - MAME license.
+ * See the COPYING file in the top-level directory.
+ */
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
-#include "../common/input.h"
+#include "../input.h"
+#include "soc.h"
+#include "plat_gp2x.h"
#include "in_gp2x.h"
#define IN_GP2X_PREFIX "gp2x:"
#define IN_GP2X_NBUTTONS 32
-/* note: in_gp2x hadles combos (if 2 btns have the same bind,
+/* note: in_gp2x handles combos (if 2 btns have the same bind,
* both must be pressed for action to happen) */
static int in_gp2x_combo_keys = 0;
static int in_gp2x_combo_acts = 0;
static int in_gp2x_get_mmsp2_bits(void)
{
- extern volatile unsigned short *gp2x_memregs;
int value;
- value = gp2x_memregs[0x1198>>1] & 0xff; // GPIO M
+ value = memregs[0x1198>>1] & 0xff; // GPIO M
if (value == 0xFD) value = 0xFA;
if (value == 0xF7) value = 0xEB;
if (value == 0xDF) value = 0xAF;
if (value == 0x7F) value = 0xBE;
- value |= gp2x_memregs[0x1184>>1] & 0xFF00; // GPIO C
- value |= gp2x_memregs[0x1186>>1] << 16; // GPIO D
+ value |= memregs[0x1184>>1] & 0xFF00; // GPIO C
+ value |= memregs[0x1186>>1] << 16; // GPIO D
value = ~value & 0x08c0ff55;
return value;
return value;
}
-#ifdef FAKE_IN_GP2X
-volatile unsigned short *gp2x_memregs;
-int gp2x_dev_id = -1;
-
-static int in_gp2x_get_fake_bits(void)
-{
- extern int current_keys;
- return current_keys;
-}
-#endif
-
static void in_gp2x_probe(void)
{
switch (gp2x_dev_id)
break;
// we'll use evdev for Caanoo
default:
-#ifdef FAKE_IN_GP2X
- in_gp2x_get_bits = in_gp2x_get_fake_bits;
- break;
-#endif
return;
}
#define KEY_PBTN_MAP_SIZE (sizeof(key_pbtn_map) / sizeof(key_pbtn_map[0]))
-static int in_gp2x_menu_translate(void *drv_data, int keycode)
+static int in_gp2x_menu_translate(void *drv_data, int keycode, char *charcode)
{
int i;
if (keycode < 0)