Navigation Menu

Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Fixed a conflict between the touch and joystick drivers. They now sho…
Browse files Browse the repository at this point in the history
…uld both behave as expected.
  • Loading branch information
Darren Alton committed Jul 1, 2008
1 parent 61877bc commit 8222488
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 6 deletions.
4 changes: 3 additions & 1 deletion src/file/SDL_rwops.c
Expand Up @@ -466,9 +466,11 @@ SDL_RWops *
SDL_RWFromFP(FILE * fp, SDL_bool autoclose)
{
SDL_RWops *rwops = NULL;
#ifdef __NDS__
#if 0
ifdef __NDS__
/* set it up so we can use stdio file function */
fatInitDefault();
printf("called fatInitDefault()");
#endif /* __NDS__ */
rwops = SDL_AllocRW();
if (rwops != NULL) {
Expand Down
2 changes: 1 addition & 1 deletion src/joystick/nds/SDL_sysjoystick.c
Expand Up @@ -91,7 +91,7 @@ SDL_SYS_JoystickUpdate(SDL_Joystick * joystick)
{
u32 keysd, keysu;
int magnitude = 16384;
scanKeys();
/*scanKeys();*/
keysd = keysDown();
keysu = keysUp();

Expand Down
11 changes: 8 additions & 3 deletions src/touchscreen/nds/SDL_systouchscreen.c
Expand Up @@ -85,7 +85,7 @@ SDL_SYS_TouchscreenUpdate(SDL_Touchscreen * touchscreen)
Uint16 xpos=0, ypos=0, pressure = 32767;
touchPosition touch;

scanKeys();
/*scanKeys();*/
keysd = keysDown();
keysh = keysHeld();
keysu = keysUp();
Expand All @@ -94,13 +94,18 @@ SDL_SYS_TouchscreenUpdate(SDL_Touchscreen * touchscreen)
ypos = (touch.py << 16) / 192 + 1;
/* TODO uses touch.x and touch.y for something.
we discussed in the mailing list having both "hardware x/y" and
"screen x/y" coordinates. */
"screen x/y" coordinates. maybe modify structs for that too
also, find out how Colors! gets pressure and see if it's practical here
*/

if ((keysd & KEY_TOUCH)) {
SDL_PrivateTouchPress(touchscreen, 0, xpos, ypos, pressure);
}
if ((keysh & KEY_TOUCH)) {
SDL_PrivateTouchMove(touchscreen, 0, xpos, ypos, pressure);
/* sometimes the touch jumps to y=1 before it reports as keysUp */
if(ypos > 1) {
SDL_PrivateTouchMove(touchscreen, 0, xpos, ypos, pressure);
}
}
if ((keysu & KEY_TOUCH)) {
SDL_PrivateTouchRelease(touchscreen, 0);
Expand Down
2 changes: 1 addition & 1 deletion src/video/nds/SDL_ndsevents.c
Expand Up @@ -38,7 +38,7 @@
void
NDS_PumpEvents(_THIS)
{
/* do nothing. */
scanKeys();
}

/* vi: set ts=4 sw=4 expandtab: */

0 comments on commit 8222488

Please sign in to comment.