1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
/****************************************************************************
*
* Purpose: Reset the keyboard from line mode to character mode and
* suppress the echo when a key is entered. This allow the
* program to get a character without the user pressing ENTER.
*
* This is for UNIX systems. DOS users have getch and getche.
* Unix programers can also use curses.
*
* Author: M.J. Leslie.
* Date: 30-Mar-97
*
****************************************************************************/
void SetKeyboard (void);
void ResetKeyboard(void);
main()
{
char Characters[1024];
int Inc=0;
memset(Characters, 0, 1024);
printf("Press a load of characters (q=exit)\n");
SetKeyboard();
for(Inc = 0; (Characters[Inc] = getchar()) != 'q'; Inc++);
ResetKeyboard();
printf("You Pressed %s\n", Characters);
}
/* Set the keyboard. */
void SetKeyboard(void)
{
system("stty raw -echo");
}
/* Return the keyboard to its original state. If this is not called
* before the program ends, the keyboard will remain in its reconfigured
* state.
*/
void ResetKeyboard(void)
{
system("stty -raw echo");
}
|