Added button release events

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1885 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Björn Stenberg 2002-08-21 14:13:53 +00:00
parent 76d41457b0
commit 9af59727b3

View file

@ -67,71 +67,96 @@ extern int screenhack_handle_events (void);
static int get_raw_button (void) static int get_raw_button (void)
{ {
int k = screenhack_handle_events(); int k;
switch(k) static int next = 0;
if ( next ) {
k = next;
next = 0;
return k;
}
switch(screenhack_handle_events())
{ {
case XK_KP_Left: case XK_KP_Left:
case XK_Left: case XK_Left:
case XK_KP_4: case XK_KP_4:
return BUTTON_LEFT; k = BUTTON_LEFT;
break;
case XK_KP_Right: case XK_KP_Right:
case XK_Right: case XK_Right:
case XK_KP_6: case XK_KP_6:
return BUTTON_RIGHT; k = BUTTON_RIGHT;
break;
case XK_KP_Up: case XK_KP_Up:
case XK_Up: case XK_Up:
case XK_KP_8: case XK_KP_8:
return BUTTON_UP; k = BUTTON_UP;
break;
case XK_KP_Down: case XK_KP_Down:
case XK_Down: case XK_Down:
case XK_KP_2: case XK_KP_2:
return BUTTON_DOWN; k = BUTTON_DOWN;
break;
#ifdef HAVE_RECORDER_KEYPAD #ifdef HAVE_RECORDER_KEYPAD
case XK_KP_Space: case XK_KP_Space:
case XK_KP_5: case XK_KP_5:
case XK_KP_Begin: case XK_KP_Begin:
case XK_space: case XK_space:
return BUTTON_PLAY; k = BUTTON_PLAY;
break;
case XK_KP_Enter: case XK_KP_Enter:
case XK_A: case XK_A:
case XK_a: case XK_a:
return BUTTON_OFF; k = BUTTON_OFF;
break;
case XK_KP_Add: case XK_KP_Add:
case XK_Q: case XK_Q:
case XK_q: case XK_q:
return BUTTON_ON; k = BUTTON_ON;
break;
case XK_KP_Divide: case XK_KP_Divide:
case XK_1: case XK_1:
return BUTTON_F1; k = BUTTON_F1;
break;
case XK_KP_Multiply: case XK_KP_Multiply:
case XK_2: case XK_2:
return BUTTON_F2; k = BUTTON_F2;
break;
case XK_KP_Subtract: case XK_KP_Subtract:
case XK_3: case XK_3:
return BUTTON_F3; k = BUTTON_F3;
break;
#else #else
case XK_KP_Add: case XK_KP_Add:
case XK_Q: case XK_Q:
case XK_q: case XK_q:
return BUTTON_ON; k = BUTTON_ON;
break;
case XK_KP_Enter: case XK_KP_Enter:
case XK_Return: case XK_Return:
return BUTTON_MENU; k = BUTTON_MENU;
break;
#endif #endif
default: default:
return 0; k = 0;
break;
} }
if ( k )
next = k | BUTTON_REL;
return k;
} }
/* /*
@ -148,7 +173,7 @@ int button_get_w_tmo(int ticks)
x11_sleep(1); x11_sleep(1);
else else
break; break;
}; }
return bits; return bits;
} }