/****************************************************************************
*
* 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");
}
syntax highlighted by Code2HTML, v. 0.9.1