[feat] 简易鼠标驱动

This commit is contained in:
2026-06-06 11:32:08 +08:00
Unverified
parent 866c3e4d03
commit 3bece9e75e
7 changed files with 326 additions and 24 deletions
+9
View File
@@ -15,6 +15,8 @@
#include <interrupt/idt.h>
#include <interrupt/pic.h>
#include <interrupt/pit.h>
#include <devices/mouse.h>
#include <devices/cursor.h>
extern EFI_SYSTEM_TABLE *ST;
@@ -146,6 +148,10 @@ extern "C" void kernel_main() {
// 注册 IRQ 处理函数(向量 0x20 = PIC_IRQ_BASE + 0
idt_set_handler(PIC_IRQ_BASE + 0, irq_handler);
// 初始化 PS/2 鼠标驱动
serial_write("Sylva: init mouse...\n");
mouse_init();
serial_write("Sylva: init PIT...\n");
pit_init();
pit_set_tick_handler(scheduler_tick);
@@ -160,6 +166,9 @@ extern "C" void kernel_main() {
// 初始化合成器(分配后台缓冲区,注册键盘处理)
layer_init();
// 初始化鼠标光标
cursor_init();
// 创建桌面图层(全屏,z=0
layer_t* desktop = layer_create("desktop", LAYER_TYPE_DESKTOP, g_gfx.hr, g_gfx.vr);
if (desktop) {