From b2369796b1d8a372c65863b6e22b51b9d8c473a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thorsten=20Wi=C3=9Fmann?= <uni@thorsten-wissmann.de>
Date: Sun, 27 Jul 2014 19:51:28 +0200
Subject: [PATCH] Add binding for curses getch()

---
 src/ncurses/Curses.ml     | 1 +
 src/ncurses/Curses.mli    | 3 +++
 src/ncurses/Curses_stub.c | 5 +++++
 src/ncurses/NCUI.mli      | 2 ++
 4 files changed, 11 insertions(+)

diff --git a/src/ncurses/Curses.ml b/src/ncurses/Curses.ml
index e29f596..59ff56f 100644
--- a/src/ncurses/Curses.ml
+++ b/src/ncurses/Curses.ml
@@ -14,4 +14,5 @@ external mvwaddch: window -> int -> int -> char -> unit = "curses_mvwaddch"
 external addstr: string -> unit = "curses_addstr"
 external mvwaddstr: window -> int -> int -> string -> unit = "curses_mvwaddstr"
 external getmaxyx: window -> int * int = "curses_getmaxyx"
+external getch : unit -> int = "curses_getch"
 
diff --git a/src/ncurses/Curses.mli b/src/ncurses/Curses.mli
index ac9b369..fa72d68 100644
--- a/src/ncurses/Curses.mli
+++ b/src/ncurses/Curses.mli
@@ -13,3 +13,6 @@ val mvwaddch: window -> int -> int -> char -> unit
 val addstr: string -> unit
 val mvwaddstr: window -> int -> int -> string -> unit
 val getmaxyx: window -> int * int
+
+val getch : unit -> int
+
diff --git a/src/ncurses/Curses_stub.c b/src/ncurses/Curses_stub.c
index 39ee0c0..1178a0a 100644
--- a/src/ncurses/Curses_stub.c
+++ b/src/ncurses/Curses_stub.c
@@ -112,4 +112,9 @@ value curses_getmaxyx(value win)
   CAMLreturn ( hw );
 }
 
+value curses_getch(value unit) {
+    CAMLparam1( unit );
+    CAMLreturn (Val_int(getch()));
+}
+
 }
diff --git a/src/ncurses/NCUI.mli b/src/ncurses/NCUI.mli
index a67d16c..99984c4 100644
--- a/src/ncurses/NCUI.mli
+++ b/src/ncurses/NCUI.mli
@@ -26,3 +26,5 @@ val set_root_widget : widget -> unit
 val screen_open  : unit -> unit
 val screen_close : unit -> unit
 
+
+
-- 
GitLab