Fix: backspace, shift (kb driver) + Add: doc + ascii art

This commit is contained in:
xamidev
2024-07-24 12:47:12 +02:00
parent d83299cb48
commit b352d3f4e2
9 changed files with 146 additions and 19 deletions

View File

@@ -101,6 +101,17 @@ void putc(char c)
VGA_Y++;
}
break;
case '\b':
if (VGA_X > 0)
{
VGA_X--;
}
else if (VGA_Y > 0) {
VGA_Y--;
VGA_X = VGA_WIDTH-1;
}
putchar(VGA_X, VGA_Y, ' ');
break;
default:
putchar(VGA_X, VGA_Y, c);
VGA_X++;
@@ -366,10 +377,19 @@ void get_input(char *buffer, int size) {
while (index < size-1)
{
c = getch();
if (c == '\n') break;
buffer[index++] = c;
putc(c);
if (c == '\n') {
break;
} else if (c == '\b') {
if (index > 0) {
index--;
putc('\b');
putc(' ');
putc('\b');
}
} else {
buffer[index++] = c;
putc(c);
}
}
buffer[index] = '\0';
}