函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |