+
+char *kgets()
+{
+ for (int i=0; i<100; i++) {
+ kgets_buffer[i] = '\0';
+ }
+
+ int i=0;
+ while (i<100) {
+ char temp = ps2_get_keystroke();
+ if (temp == '\n') break;
+ if (temp == 0x7f) {
+ if (i>0) {
+ i-=1;
+ kgets_buffer[i] = '\0';
+ kprintc(temp, 0);
+ }
+ continue;
+ }
+ kgets_buffer[i] = temp;
+ kprintc(temp, 0);
+ i++;
+ }
+
+ return kgets_buffer;
+}