Use iskey() and getchar() to interact with console, rather than object
authorMichael Brown <mcb30@etherboot.org>
Mon, 18 Dec 2006 16:46:25 +0000 (16:46 +0000)
committerMichael Brown <mcb30@etherboot.org>
Mon, 18 Dec 2006 16:46:25 +0000 (16:46 +0000)
abstraction.

src/hci/mucurses/kb.c
src/include/curses.h
src/tests/curses_scr.c

index 6394846..1d02a0c 100644 (file)
@@ -1,6 +1,7 @@
 #include <curses.h>
 #include <stddef.h>
 #include <timer.h>
+#include <console.h>
 #include "core.h"
 
 /** @file
@@ -37,7 +38,7 @@ int _wgetc ( WINDOW *win ) {
                return ERR;
 
        timer = INPUT_DELAY_TIMEOUT;
-       while ( ! win->scr->peek( win->scr ) ) {
+       while ( ! iskey() ) {
                if ( m_delay == 0 ) // non-blocking read
                        return ERR;
                if ( timer > 0 ) {  // time-limited blocking read
@@ -47,7 +48,7 @@ int _wgetc ( WINDOW *win ) {
                } else { return ERR; } // non-blocking read
        }
 
-       c = win->scr->getc( win->scr );
+       c = getchar();
 
        if ( m_echo && ( c >= 32 && c <= 126 ) ) // printable ASCII characters
                _wputch( win, (chtype) ( c | win->attrs ), WRAP );
index 27edb37..86825be 100644 (file)
@@ -46,21 +46,6 @@ typedef struct _curses_screen {
         * @v c         character to be written
         */
        void ( * putc ) ( struct _curses_screen *scr, chtype c );
-       /**
-        * Pop a character from the keyboard input stream
-        *
-        * @v scr       screen on which to operate
-        * @ret c       popped character
-        */
-       int ( * getc ) ( struct _curses_screen *scr );
-       /**
-        * Checks to see whether a character is waiting in the input stream
-        *
-        * @v scr       screen on which to operate
-        * @ret TRUE    character waiting in stream
-        * @ret FALSE   no character waiting in stream
-        */
-       bool ( *peek ) ( struct _curses_screen *scr );
 } SCREEN;
 
 /** Curses Window struct */
index 398b9cf..63e114a 100644 (file)
@@ -83,6 +83,6 @@ SCREEN _curscr = {
        .exit = _exit_screen,
        .movetoyx = _movetoyx,
        .putc = _putc,
-       .getc = _getc,
-       .peek = _peek,
+       //      .getc = _getc,
+       //      .peek = _peek,
 };