successful input
This commit is contained in:
parent
0a64fcb500
commit
e152d3064a
1 changed files with 71 additions and 33 deletions
104
main.c
104
main.c
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue