kbd_bios.c
来自「神龙卡开发原代码」· C语言 代码 · 共 82 行
C
82 行
/* * Copyright (c) 1999 Greg Haerr <greg@censoft.com> * * Keyboard Driver, PC bios version */#include "device.h"static int KBD_Open(KBDDEVICE *pkd);static void KBD_Close(void);static void KBD_GetModifierInfo(int *modifiers);static int KBD_Read(MWUCHAR *buf, int *modifiers);static int KBD_Poll(void);/* external routines in asmkbd.s*/extern int kbpoll(void);extern int kbread(void);extern int kbflags(void);KBDDEVICE kbddev = { KBD_Open, KBD_Close, KBD_GetModifierInfo, KBD_Read, KBD_Poll};/* * Open the keyboard. */static intKBD_Open(KBDDEVICE *pkd){ return 1;}/* * Close the keyboard. */static voidKBD_Close(void){}/* * Return the possible modifiers for the keyboard. */static voidKBD_GetModifierInfo(int *modifiers){ *modifiers = 0; /* no modifiers available */}/* * This reads one keystroke from the keyboard, and the current state of * the mode keys (ALT, SHIFT, CTRL). Returns -1 on error, 0 if no data * is ready, and 1 if data was read. This is a non-blocking call. */static intKBD_Read(MWUCHAR *buf, int *modifiers){ /* wait until a char is ready*/ if(!kbpoll()) return 0; /* read keyboard shift status*/ *modifiers = kbflags(); /* read keyboard character*/ *buf = kbread(); if(*buf == 0x1b) /* special case ESC*/ return -2; return 1;}static intKBD_Poll(void){ return kbpoll();}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?