From d433e1cc13def15b279d567636adc45e594f27fc Mon Sep 17 00:00:00 2001 From: Kbz-8 Date: Mon, 22 Jul 2024 10:33:21 +0000 Subject: [PATCH] adding essential commands to the shell --- build.zig | 1 + sources/drivers/keyboard/keyboard.zig | 1 - sources/kernel/shell/dumb_shell.zig | 6 ++++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/build.zig b/build.zig index 7422363..2b67ed0 100644 --- a/build.zig +++ b/build.zig @@ -49,6 +49,7 @@ pub fn build(b: *std.Build) void "/bin/bash", "-c", std.mem.concat(b.allocator, u8, &[_][]const u8 { + "sleep 1 && ", "mkdir -p ", iso_dir, "/boot/grub && ", "mv ", kernel_path, " ", iso_dir, "/boot/ && ", "cp sources/grub/grub.cfg ", iso_dir, "/boot/grub/ && ", diff --git a/sources/drivers/keyboard/keyboard.zig b/sources/drivers/keyboard/keyboard.zig index 51888b2..75afdb6 100644 --- a/sources/drivers/keyboard/keyboard.zig +++ b/sources/drivers/keyboard/keyboard.zig @@ -137,4 +137,3 @@ pub fn init() void kernel.arch.idt.irqInstallHandler(1, &keyboardHandler); kernel.logs.klogln("[PS/2 Keyboard Driver] loaded"); } - diff --git a/sources/kernel/shell/dumb_shell.zig b/sources/kernel/shell/dumb_shell.zig index 25b8369..f69aab3 100644 --- a/sources/kernel/shell/dumb_shell.zig +++ b/sources/kernel/shell/dumb_shell.zig @@ -18,6 +18,10 @@ pub const DumbShell = struct const key: u32 = drivers.kb.getCurrentKeyPressed(); if(self.halt) { + if(key == drivers.kb.PGUP) + drivers.vga.reverseScroll() + else if(key == drivers.kb.PGDOWN) + drivers.vga.scroll(); if(key == drivers.kb.LEFT) drivers.vga.moveCursor(.Left) else if(key == drivers.kb.RIGHT) @@ -118,6 +122,8 @@ pub const DumbShell = struct stk.stackTrace(8) else if(libk.str.streqlnt(&self.buffer, "panic")) kpanic("shell request") + else if(libk.str.streqlnt(&self.buffer, "ratio")) + kpanic("ratio") else if(libk.str.streqlnt(&self.buffer, "stfu")) drivers.kb.disableKeyboard() else if(libk.str.streqlnt(&self.buffer, "whoami"))