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

📄 mckeyboard.h

📁 keyboard driver example
💻 H
字号:
#ifndef MCKEYBOARD_H#define MCKEYBOARD_Hextern "C" {#include "console.h"}#include <unistd.h>#include <termios.h>#include <unistd.h>#include <sys/ioctl.h>#define EXT 0xe0//The key status for shift,alt,ctrl#define ISDOWN 0x00#define ISUP 0x80#define NONE 0x00#define SHIFT 0x01#define ALT 0x02#define CTRL 0x04#define Fn 0x08#define L_CTRL_DOWN 0x1d#define L_ALT_DOWN 0x38#define L_SHIFT_DOWN 0x2a#define R_CTRL_DOWN 0xe01d#define R_ALT_DOWN 0xe038#define R_SHIFT_DOWN 0x36#define L_CTRL_UP 0x9d#define L_ALT_UP 0xb8#define L_SHIFT_UP 0xaa#define R_CTRL_UP 0xe09d#define R_ALT_UP 0xe0b8#define R_SHIFT_UP 0xb6#define EXT_SHIFT_UP 0xe0aa#define EXT_SHIFT_DOWN 0xe02a#define A 0x1e#define B 0x30#define C 0x2e#define D 0x20#define E 0x12#define F 0x21#define G 0x22#define H 0x23#define I 0x17#define J 0x24#define K 0x25#define L 0x26#define M 0x32#define N 0x31#define O 0x18#define P 0x19#define Q 0x10#define R 0x13#define S 0x1f#define T 0x14#define U 0x16#define V 0x2f#define W 0x11#define X 0x2d#define Y 0x15#define Z 0x2c#define N0 0x0b#define N1 0x02#define N2 0x03#define N3 0x04#define N4 0x05#define N5 0x06#define N6 0x07#define N7 0x08#define N8 0x09#define N9 0x0a#define FW 0x34#define BW 0x33#define ENTER 0x1c#define KP_ENTER 0xe01c#define F1 0x3b#define F2 0x3c#define F3 0x3d#define F4 0x3e#define F5 0x3f#define F6 0x40#define F7 0x41#define F8 0x42#define F9 0x43#define F10 0x44#define F11 0x57#define F12 0x58#define FnF3 0xe008#define FnF4 0xe009#define ADD 0x0d#define SUB 0x0c#define KP_ADD 0x4e#define KP_SUB 0x4a#define END 0xe04f#define KP_END 0x4f#define SPACE 0x39#define BACK_SPACE 0x0e#define UP 0xe048#define RIGHT 0xe04d#define LEFT 0xe04b#define DOWN 0xe050#define PAGEUP 0xe049#define PAGEDOWN 0xe051//remote#define RM_STANDBY 0xe007#define RM_SPC 0xe005#define RM_AUDIO 0xe001#define RM_FM 0xe004#define RM_TV 0xe003#define RM_DVD 0xe002class MCKeyboard {	public:		MCKeyboard();		~MCKeyboard();		bool Open(int mode,int time);		unsigned short GetKey();		unsigned short GetKeyDown(unsigned char *Status);		unsigned char GetFKeyStatus();		int GetHandle();		void SetShiftDown();		void SetShiftUp();		void SetAltDown();		void SetAltUp();		void SetCtrlDown();		void SetCtrlUp();		void SetFnDown();		void SetFnUp();		char *GetVersion();	private:		int fd;		int OldKBMode;		char Version[100];		struct termios OldTermios;		unsigned char FunctionKeyStatus;				bool GetKBMode(int *mode);		bool SetKBMode(int mode);		bool IsDown(unsigned short scancode);		bool IsUp(unsigned short scancode);		ssize_t Read(char *buf,size_t size);};#endif

⌨️ 快捷键说明

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