-#define BTN_UP GP2X_UP
-#define BTN_DOWN GP2X_DOWN
-#define BTN_LEFT GP2X_LEFT
-#define BTN_RIGHT GP2X_RIGHT
-
-#define BTN_NORTH GP2X_Y
-#define BTN_SOUTH GP2X_X
-#define BTN_WEST GP2X_A
-#define BTN_EAST GP2X_B
-#define BTN_L GP2X_L
-#define BTN_R GP2X_R
-
-unsigned long wait_for_input(unsigned long interesting);
+// TODO merge
+#define PBTN_UP (1 << 0)
+#define PBTN_DOWN (1 << 1)
+#define PBTN_LEFT (1 << 2)
+#define PBTN_RIGHT (1 << 3)
+
+#define PBTN_NORTH (1 << 4)
+#define PBTN_SOUTH (1 << 5)
+#define PBTN_WEST (1 << 6)
+#define PBTN_EAST (1 << 7)
+#define PBTN_L (1 << 8)
+#define PBTN_R (1 << 9)
+
+/* menu nav */
+#define PBTN_MOK PBTN_EAST
+#define PBTN_MBACK PBTN_SOUTH
+#define PBTN_MENU (1 << 10)
+
+#if 0
+#define PBTN_UP GP2X_UP
+#define PBTN_DOWN GP2X_DOWN
+#define PBTN_LEFT GP2X_LEFT
+#define PBTN_RIGHT GP2X_RIGHT
+
+#define PBTN_NORTH GP2X_Y
+#define PBTN_SOUTH GP2X_X
+#define PBTN_WEST GP2X_A
+#define PBTN_EAST GP2X_B
+#define PBTN_L GP2X_L
+#define PBTN_R GP2X_R
+
+/* menu nav */
+#define PBTN_MOK GP2X_B
+#define PBTN_MBACK GP2X_X
+#define PBTN_MENU GP2X_SELECT
+#endif
+#define GP2X_Y 0 /* FIXME */
+