Please enable JavaScript.
Coggle requires JavaScript to display documents.
键盘中断设置, i8259.c, 键盘中断发生, 进程队列 - Coggle Diagram
键盘中断设置
main.c
init_keyboard()
put_irq_handler(中断请求号,入口地址)
入口keyboard_handler
inbyte(KB_DATA)读出编码
s_kb(键盘缓冲区)
读取单位为u8,则说明只读取了前8位的make code
中断请求号
irq_table[]
i8259.c
键盘中断发生
hwint_master 中断请求号
进程队列
task_tty()
keyboard_read()
解析取出编码
keymap(编码-字符对应数组)
根据按键类型做出不同处理
字符
打印
特殊按键
有设置
执行设置
无设置
不打印任何
shift
等待下一编码
为字符
变大写打印
其它
shift无作用