/* ============================================================================== WordUp Graphics Toolkit Version 5.0 Demonstration Program 50 Proper joystick detection and initialization is demostrated within this file. The commands wcalibratejoystick, wcheckjoystick, winitjoystick, and wreadjoystick are used. *** PROJECT *** This program requires the WGT5_WC.LIB and WJOY_WC.LIB files to be linked. *** DATA FILES *** None. WATCOM C++ VERSION ============================================================================== */ #include #include #include #include void main (void) { joystick joya; /* Structure for joystick A */ joystick joyb; /* Structure for joystick B */ int display_row; /* Row for status display */ int result; /* Result of joystick detection */ int joya_found = 0; /* 1 if joystick is found */ int joyb_found = 0; /* 1 if joystick is found */ if ( !vgadetected () ) { printf ("Error - VGA card required for any WGT program.\n"); exit (0); } printf ("WGT Example #50\n\n"); printf ("Joystick routines are demonstrated. Make sure at least one joystick is\n"); printf ("connected in order to run the program.\n"); printf ("\n\nPress any key to continue.\n"); getch(); if (!( result = wcheckjoystick () )) { printf ("Joysticks not found. Program aborted.\n"); exit (0); } if (result & 1) { joya_found = 1; /* It's there */ printf ("Joystick A detected.\n\n"); winitjoystick (&joya, 0); /* Initialize it */ printf ("Calibrate joystick A by swirling it and then pressing ENTER.\n"); wcalibratejoystick (&joya); printf ("Joystick A calibrated.\n\n\n"); } if (result & 2) { joyb_found = 1; /* It's there */ printf ("Joystick B detected.\n\n"); winitjoystick (&joyb, 1); /* Initialize it */ printf ("Calibrate joystick B by swirling it and then pressing ENTER.\n"); wcalibratejoystick (&joyb); printf ("Joystick B calibrated.\n\n\n"); } printf ("Now reading joystick values. Press any key to end program.\n\n"); joya.scale = 2000; joyb.scale = 2000; while (!kbhit ()) { if (joya_found) { wreadjoystick (&joya); /* Read values into structures */ printf ("Joystick A x: %5d y: %5d Buttons: %5d\n", joya.x, joya.y, joya.buttons); } if (joyb_found) { wreadjoystick (&joyb); printf ("Joystick B x: %5d y: %5d Buttons: %5d\n", joyb.x, joyb.y, joyb.buttons); } } getch (); }