Files
Deshab-OS/CODE/mouse
xyou efa626ed17 feat: Phase 1 网络端到端打通 + FirstInit/Login/DevMode 完善
- 用户态共享网络协议栈 CODE/tools/net_stack.h(eth/ARP/IPv4/ICMP/UDP-DNS/TCP static inline,轮询模型)
- shell 内建 ping/curl/run 命令;ping.elf/curl.elf 对齐 net_stack.h 真实协议栈
- shell dev_mode 串口镜像(g_serial_mirror)便于自动化验证
- DSK 启动流程:firstInit.txt 双行格式(firstInit + dev_mode),dev_mode=1 触发 shell 自动回归测试
- FirstInit 完成→持久化 USER.CONF + 翻转 firstInit 0->1(保留 dev_mode)
- firstInit=1 时 DSK 加载 login.elf 进行用户选择 + 密码校验后再进 desktop
- 新增 CODE/login/ 登录应用、CODE/DKM/dkm_shared.h、Logo.png
- ahci/e1000/virtio_net/fat32/console_fb 驱动更新;utsm serial/block/dsk_loader 调整
- build.ps1 打包 ping.elf/curl.elf 进 SATA FAT32 根目录
- 移除 CODE/tools/bash(与 shell.elf 重复)
2026-07-26 21:07:36 +08:00
..

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# mouseInit 鼠标初始化器



`CODE/mouse` 生成早期鼠标初始化 ELF:



```text

CODE/mouse -> SYSTEM/system/deshab64/mouse/mouseInit.elf

```



## 目标



`mouseInit.elf` 是 DSK 直接调度的系统输入初始化器,不属于 FirstInit 用户向导。DSK 在检测到首次启动后先加载并调用它,初始化完成后返回 DSK,再由 DSK 启动 FirstInit 用户设置向导。



第一版职责:



1. 初始化 PS/2 Controller 的辅助设备通道(mouse / AUX)。

2. 开启 IRQ12 配置位。

3. 向鼠标发送默认配置 `0xF6`。

4. 启用数据报告 `0xF4`。

5. 输出串口日志并返回 DSK。



## 当前限制



- 当前只做 PS/2 鼠标初始化,不消费鼠标包。

- 鼠标 IRQ12 的实际数据读取应由后续 DKM 输入驱动或 DSK 输入子系统接管。

- USB 鼠标需要 xHCI/HID 支持,暂不在第一版范围。



## 构建



```powershell

cd CODE\mouse

make -f MAKEFILE CC=clang LD=ld.lld

```



## 启动链路



```text

DSK 检测 firstInit=0

  -> 加载并调用 mouseInit.elf

  -> mouseInit 初始化 PS/2 鼠标后返回

  -> DSK 继续加载 FirstInit.elf

```