summaryrefslogtreecommitdiffstats
path: root/src/hci/mucurses
diff options
context:
space:
mode:
authorDan Lynch2006-06-27 15:27:28 +0200
committerDan Lynch2006-06-27 15:27:28 +0200
commit05c0b3ce0958c77c6067dcb2f74f31cfa0a33045 (patch)
treedb246584a660aa09d4ef35a77653364494b4c8f7 /src/hci/mucurses
parentenabled build entry for mucurses libraries (diff)
downloadipxe-05c0b3ce0958c77c6067dcb2f74f31cfa0a33045.tar.gz
ipxe-05c0b3ce0958c77c6067dcb2f74f31cfa0a33045.tar.xz
ipxe-05c0b3ce0958c77c6067dcb2f74f31cfa0a33045.zip
included contents of input.{c,h} in kb.c
Diffstat (limited to 'src/hci/mucurses')
-rw-r--r--src/hci/mucurses/kb.c31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/hci/mucurses/kb.c b/src/hci/mucurses/kb.c
index 87482f92..5f113d9c 100644
--- a/src/hci/mucurses/kb.c
+++ b/src/hci/mucurses/kb.c
@@ -2,13 +2,23 @@
#include <stddef.h>
#include <timer.h>
#include "core.h"
-#include "input.h"
/** @file
*
* MuCurses keyboard input handling functions
*/
+#define INPUT_DELAY 200 // half-blocking delay timer resolution (ms)
+#define INPUT_DELAY_TIMEOUT 1000 // half-blocking delay timeout
+
+int m_delay; /*
+ < 0 : blocking read
+ 0 : non-blocking read
+ > 0 : timed blocking read
+ */
+bool m_echo;
+bool m_cbreak;
+
/**
* Check KEY_ code supported status
*
@@ -84,7 +94,7 @@ int wgetnstr ( WINDOW *win, char *str, int n ) {
_str = str;
- while ( ( ( c = wgetch( win ) ) != KEY_ENTER ) && !( n == 0 ) ) {
+ while ( ( ( c = wgetch( win ) ) != '\n' ) && !( n == 0 ) ) {
if ( c >= 0401 && c <= 0633 ) {
switch(c) {
case KEY_LEFT :
@@ -105,3 +115,20 @@ int wgetnstr ( WINDOW *win, char *str, int n ) {
return OK;
}
+
+
+/**
+ *
+ */
+int echo ( void ) {
+ m_echo = TRUE;
+ return OK;
+}
+
+/**
+ *
+ */
+int noecho ( void ) {
+ m_echo = FALSE;
+ return OK;
+}