aboutsummaryrefslogtreecommitdiff
path: root/moustest.c
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2026-10-11 01:46:14 +0200
committerJavier <dev.git@javispedro.com>2026-10-11 01:46:14 +0200
commit3442aaf25895591a27056769cf296159542a8dfa (patch)
treed4fc47bc91f8f1bd345b9a1184885422aec894a1 /moustest.c
parent041bd26ca840f5efd477b6d80dc264c6cd09a7e0 (diff)
downloadvbados-3442aaf25895591a27056769cf296159542a8dfa.tar.gz
vbados-3442aaf25895591a27056769cf296159542a8dfa.zip
moustest: backspace key support in prompts
Diffstat (limited to 'moustest.c')
-rw-r--r--moustest.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/moustest.c b/moustest.c
index 0d71921..c53dcfd 100644
--- a/moustest.c
+++ b/moustest.c
@@ -280,6 +280,19 @@ void console_leave()
_wrapon(_GWRAPOFF);
}
+void console_backspace()
+{
+ _disable();
+ console_enter();
+ if (ctextpos.col > 0) {
+ _settextposition(ctextpos.row, ctextpos.col - 1);
+ _outtext(" ");
+ _settextposition(ctextpos.row, ctextpos.col - 1);
+ }
+ console_leave();
+ _enable();
+}
+
void console_print(char __far *str)
{
_disable();
@@ -313,6 +326,12 @@ int console_getline(char *buffer, int maxlen)
case 0: // Extended: consume and ignore
c = getch();
break;
+ case 8: // Backspace
+ if (bufpos > 0) {
+ bufpos--;
+ console_backspace();
+ }
+ break;
case 27: // ESC
console_print("\n");
return -1;