Esempio n. 1
0
void main(void)
{
	console_getchar_init();

	while (1) {
		u8_t c = console_getchar();

		printk("char: [0x%x] %c\n", c, c);
	}
}
Esempio n. 2
0
static OSKIT_COMDECL
read(oskit_ttystream_t *si, void *buf, oskit_u32_t len, oskit_u32_t *out_actual)
{
	int	i = 0, c;
	char	*str = (char *) buf;

	/* implement simple line discipline */
	while (i < len) {
		c = console_getchar();
		if (c == EOF)
			break;

		if (my_termios.c_lflag & ICANON) {
			if (c == '\r')
				c = '\n';
			else if (c == '\b') {
				if (i > 0) {
					if (my_termios.c_lflag & ECHO) {
						console_putchar(c);
						console_putchar(' ');
						console_putchar(c);
					}
					i--;
				}
				continue;
			}
			else if (c == '\025') {		/* ^U -- kill line */
				while (i) {
					if (my_termios.c_lflag & ECHO) {
						console_putchar('\b');
						console_putchar(' ');
						console_putchar('\b');
					}
					i--;
				}
				str[0] = '\0';
				continue;
			}
		}
		if (my_termios.c_lflag & ECHO)
			console_putchar(c);
		str[i++] = c;
		if (c == '\n' && (my_termios.c_lflag & ICANON))
			break;
	}
	if (i < len && (my_termios.c_lflag & ICANON))
		str[i] = '\0';

	*out_actual = i;
	return 0;
}
Esempio n. 3
0
static int get(int x, int y) {
  return console_getchar(x, y) & CH_MASK;
} 
Esempio n. 4
0
int fgetc(FILE *f) {
//  return (getkey());
    return (console_getchar());
}