⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyboard.h

📁 Jazmyn is a 32-bit, protected mode, multitasking OS which runs on i386 & above CPU`s. Its complete
💻 H
字号:
#ifndef _KEYBOARD_H
#define _KEYBOARD_H

#include "driver.h"
#include "drvreq.h"

#define PRESSED		1
#define RELEASED	0
#define ON      	1
#define OFF     	0

#define C(c)            ((c) & 0x1F)
#define A(c)            ((c) & 0x80)  
#define CTRL_ALT(c)     ((alt ? (A( ctrl ? C(c):c)) : (ctrl ? C(c):c)))
     
#define	MAX_KB_REQ	20

typedef struct
{
	process *proc;
	char	term;
	char	*buf;
	int	ind;
	int 	*finished;
}kb_req;

class keyboard: public driver
{
public:
	byte		shift;
	byte		alt;
	byte		caps_lock;
	byte		num_lock;
	byte		scroll_lock;
	byte		ctrl;
	byte		keyhit;
        kb_req          kbr_arr[MAX_KB_REQ];
public:
	keyboard	(char* name);
	~keyboard	();
	char		get_ascii(int scan);
	char		get_num_lock_keys(int scan);
        int             service(char term,void *buf,int *fin);
        int      insert(char term,char *buf,int *fin);
};

void	keyboard_handler();
int     keyboard_main(void *arg);
extern "C" void getch();

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -