diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index abacf82..234af40 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -100,12 +100,22 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) // Main loop while ((rc = bgetc(BStdIn, &ch)) == EOK) { switch (ch) { + + case 7: // BEL + if (rand() % 32 == 0) { + IoDoStarWars(); + } + else IoDoBeep(); + break; + case 17: // DC1 IoScrollUp(); break; + case 18: // DC2 IoScrollDown(); break; + case 27: // ESC BFlushBuf(BStdOut); PoShutdownQemu(); diff --git a/kaleid/kernel/io/keyb.c b/kaleid/kernel/io/keyb.c index fd5721a..b3eb126 100644 --- a/kaleid/kernel/io/keyb.c +++ b/kaleid/kernel/io/keyb.c @@ -96,6 +96,8 @@ void ScanCodesInit(void) ScanCodes[0x1C] = '\n'; ScanCodes[0x39] = ' '; + ScanCodes[0x40] = 7; // BEL + // Numpad ScanCodes[0x48] = 17; // DC1, will serve as Arrow Up ScanCodes[0x50] = 18; // DC2, will serve as Arrow Down