aboutsummaryrefslogtreecommitdiff
path: root/os/shell/shell.c
blob: 933b19cdfbd83467b8259b60c830ac8fe8da99e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "../../os/main.h"
#include "../../kernel/gpu/text_mode/display.h"

void keypress_handler(unsigned char key) {
  switch(key)
    {
      case '\b':
        scrn_backspace();
        break;
      case '\n':
        scrn_newline();
        break;
      default:
        scrn_putchar(key);
    }
}

Program_t shell_run() {
  Program_t this;
  this.keypress_handler = keypress_handler;
  this.name = "shell";
  return this;
}