successful input

This commit is contained in:
IoI_xD 2026-03-10 20:23:35 -07:00
commit e152d3064a

104
main.c
View file

@ -25,6 +25,7 @@ static struct gb_s gb;
static struct priv_t priv;
static void key_pressed(MwWidget handle, void *client, void *user);
static void key_released(MwWidget handle, void *client, void *user);
int mfb_open(const char *title, int width, int height) {
int depth, i, formatCount, convDepth = -1;
@ -38,6 +39,7 @@ int mfb_open(const char *title, int width, int height) {
MwCreateWidget(MwImageClass, "fb", priv.win, 0, 0, width, height);
MwAddUserHandler(priv.win, MwNkeyHandler, key_pressed, NULL);
MwAddUserHandler(priv.win, MwNkeyReleaseHandler, key_released, NULL);
priv.px = NULL;
@ -45,9 +47,8 @@ int mfb_open(const char *title, int width, int height) {
}
int mfb_update(void *buffer) {
if (MwPending(priv.win)) {
MwStep(priv.win);
}
MwPending(priv.win);
MwStep(priv.win);
if (priv.px == NULL) {
priv.px = MwLoadRaw(priv.win, buffer, LCD_WIDTH, LCD_HEIGHT);
@ -66,45 +67,82 @@ static void key_pressed(MwWidget handle, void *user, void *client) {
(void)handle;
(void)user;
// int k = *(int *)client;
int k = *(int *)client;
printf("%p\n", client);
switch (k) {
case MwLLKeyEnter:
gb.direct.joypad &= ~JOYPAD_START;
break;
return;
/*
switch (k) {
case MwLLKeyEnter:
gb.direct.joypad &= ~JOYPAD_START;
break;
case MwLLKeyBackSpace:
gb.direct.joypad &= ~JOYPAD_SELECT;
break;
case MwLLKeyBackSpace:
gb.direct.joypad &= ~JOYPAD_SELECT;
break;
case 'z':
gb.direct.joypad &= ~JOYPAD_A;
break;
case 'z':
gb.direct.joypad &= ~JOYPAD_A;
break;
case 'x':
gb.direct.joypad &= ~JOYPAD_B;
break;
case 'x':
gb.direct.joypad &= ~JOYPAD_B;
break;
case MwLLKeyUp:
gb.direct.joypad &= ~JOYPAD_UP;
break;
case MwLLKeyUp:
gb.direct.joypad &= ~JOYPAD_UP;
break;
case MwLLKeyRight:
gb.direct.joypad &= ~JOYPAD_RIGHT;
break;
case MwLLKeyRight:
gb.direct.joypad &= ~JOYPAD_RIGHT;
break;
case MwLLKeyDown:
gb.direct.joypad &= ~JOYPAD_DOWN;
break;
case MwLLKeyDown:
gb.direct.joypad &= ~JOYPAD_DOWN;
break;
case MwLLKeyLeft:
gb.direct.joypad &= ~JOYPAD_LEFT;
break;
}
}
case MwLLKeyLeft:
gb.direct.joypad &= ~JOYPAD_LEFT;
break;
}*/
static void key_released(MwWidget handle, void *user, void *client) {
(void)handle;
(void)user;
int k = *(int *)client;
switch (k) {
case MwLLKeyEnter:
gb.direct.joypad |= JOYPAD_START;
break;
case MwLLKeyBackSpace:
gb.direct.joypad |= JOYPAD_SELECT;
break;
case 'z':
gb.direct.joypad |= JOYPAD_A;
break;
case 'x':
gb.direct.joypad |= JOYPAD_B;
break;
case MwLLKeyUp:
gb.direct.joypad |= JOYPAD_UP;
break;
case MwLLKeyRight:
gb.direct.joypad |= JOYPAD_RIGHT;
break;
case MwLLKeyDown:
gb.direct.joypad |= JOYPAD_DOWN;
break;
case MwLLKeyLeft:
gb.direct.joypad |= JOYPAD_LEFT;
break;
}
}
/**