📄 kbd.c
字号:
#include <errno.h>#include <event.h>#include <stdlib.h>#include <dev/kbd.h>#include <sys/intr.h>#include <sys/types.h>#include <sys/config.h>#define SCAN_CODES 0x60#define SCAN_CODE_LSHFT 0x2a#define SCAN_CODE_RSHFT 0x36#define SCAN_CODE_LSREL 0xaa#define SCAN_CODE_RSREL 0xb6#define SCAN_CODE_MFII 0xe0#define SCAN_CODE_ACK 0xfa#define SCAN_CODE_RESEND 0xfe#define KBDQ_LENGTH 32#define KBD_SHIFT 0x01static int flags = 0;static int q[KBDQ_LENGTH];static int h = 0, t = 0;static int asciishift[SCAN_CODES] = { '\0', ESC, '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '\b', '\t', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '{', '}', '\n', '\0', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ':', '"', '~', '\0', '|', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '<', '>', '?', '\0', '*', '\0', ' ', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '7', '8', '9', '-', '4', '5', '6', '+', '1', '2', '3', '0', '.', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'};static int asciinormal[SCAN_CODES] = { '\0', ESC, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '\b', '\t', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', '\n', '\0', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', '\'', '`', '\0', '\\', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', '\0', '*', '\0', ' ', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '7', '8', '9', '-', '4', '5', '6', '+', '1', '2', '3', '0', '.', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'};static int mfii[SCAN_CODES] = { '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', NUM_LCK, SCR_LCK, HOME, UP, PG_UP, '-', LEFT, '\0', RIGHT, '+', END, DOWN, PG_DOWN, INS, DEL, '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'};static u_charkbd_read_status(){ }static u_charkbd_read_data(){}static voidkbd_wait(){}static voidkbd_write_cmd(u_char val){}static voidkbd_isr(void *params){}intkbd_init(){ return 0;}intkbd_shut(){ return 0;}voidkbd_flush(){}intget(){}intkbd_ioctl(int cmd, void *args){ return ENOTTY;}intkbd_get(int *c){ return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -