函数逻辑报告 |
Source Code:kernel\debug\kdb\kdb_keyboard.c |
Create Date:2022-07-27 12:49:12 |
Last Modify:2020-03-17 19:12:05 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Check if the keyboard controller has a keypress for us.* Some parts (Enter Release, LED change) are still blocking polled here,* but hopefully they are all short.
函数原型:int kdb_get_kbd_char(void)
返回类型:int
参数:无
45 | kbd_exists等于0 |
46 | 返回:负1 |
48 | kbd_exists等于1 |
50 | 如果从端口输入字节按位与Keyboard output buffer full 的值恒等于0则返回:负1 |
57 | scanstatus等于从端口输入字节 |
62 | 如果scanstatus按位与Mouse output buffer full 则返回:负1 |
83 | 如果scancode按位与0x7f的值恒等于0x1d则 |
94 | 如果scancode按位与0x80的值不等于0则 |
95 | 如果scancode恒等于0x9c则kbd_last_ret等于0 |
97 | 返回:负1 |
100 | scancode与等于0x7f |
106 | 如果scancode恒等于0x3a则 |
110 | shift_lock异或等于1 |
115 | 返回:负1 |
118 | 如果scancode恒等于0x0e则 |
122 | 返回:8 |
128 | 返回:9 |
130 | 返回:4 |
132 | 返回:1 |
134 | 返回:5 |
136 | 返回:2 |
138 | 返回:16 |
140 | 返回:14 |
142 | 返回:6 |
145 | 如果scancode恒等于0xe0则返回:负1 |
158 | 如果非shift_lock且非shift_key且非ctrl_key则 |
160 | 否则如果shift_lock或shift_key的值且key_maps[1]则 |
164 | 否则 |
165 | keychar等于0x0020 |
166 | kdb_printf("Unknown state/scancode (%d)\n", scancode) |
168 | keychar与等于0x0fff |
173 | 当:KTYP(keychar)恒等于we depend on this being zero |
181 | 默认 |
182 | 返回:负1 |
185 | 如果scancode恒等于0x1c则 |
186 | kbd_last_ret等于1 |
187 | 返回:13 |
190 | 返回:keychar按位与0xff |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |