📄 keyboard.h
字号:
// Icer Game Engine v1.0
// Http://www.ngame2000.com
//
//Author:杨冰(源代码之光)
// E-mail: iceryeah2000@163.com
// QQ : 7746642
//
//Module:键盘控制类
//
//Create:2003-1-27
//Updata:2003-2-6
//
//Remark: Release v1.0 at 2003-1-28: The function of keyboard are complete
// Release v1.1 at 2003-2-6: Add SINGLETON pattern
// Release v1.2 at 2003-2-15: Modifying some functions' name
#pragma once
#include <dinput.h>
#define KEY_BUFFER_SIZE 8
class CKeyboard
{
public:
~CKeyboard(void);
static CKeyboard* Instance();
bool Create(HINSTANCE hInst,HWND hWnd); //创建键盘控制
void GetKeyboardState(void); //获取键盘状态
//所有扫描值为DIK_XXXXX
bool KeyDown(long value); //当按键按下(缓冲模式)
bool KeyUp(long value); //当按键抬起(缓冲模式)
bool KeyPress(long value); //按键是否正处于按下状态(立即模式)
private:
CKeyboard(void);
private:
static CKeyboard* m_Instance;
LPDIRECTINPUT8 m_pDI;
LPDIRECTINPUTDEVICE8 m_pKeyboard;
DIDEVICEOBJECTDATA m_didod[KEY_BUFFER_SIZE]; //DInput扩展缓冲
DWORD m_dwElements;
BYTE m_diks[256]; //键盘状态缓冲
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -