raSystem  1.0 bata
raRawKeyboard.cpp
Go to the documentation of this file.
1 #include "..\include\raMain.h"
2 
3 namespace System
4 {
6  {
7  }
8 
10  {
11  }
12  void raRawKeyboard::OnInput(RAWINPUT buffer)
13  {
14  if (buffer.header.dwType == RIM_TYPEKEYBOARD)
15  {
16  m_keydata = buffer.data.keyboard;
17  }
18  }
19  RAWINPUTDEVICE raRawKeyboard::Create(HWND wnd, bool Legacy)
20  {
21  RAWINPUTDEVICE m_rid;
22 
23  m_rid.usUsagePage = 0x01;
24  m_rid.usUsage = 0x06;
25  m_rid.dwFlags = Legacy ? RIDEV_NOLEGACY : 0; // adds HID keyboard
26  m_rid.hwndTarget = 0;
27 
28  return m_rid;
29  }
30 
31  bool raRawKeyboard::KeyDown(unsigned short vkKey)
32  {
33  return m_keydata.VKey == vkKey && !(m_keydata.Flags & RI_KEY_MAKE);
34  }
35  bool raRawKeyboard::KeyUp(unsigned short vkKey)
36  {
37  return m_keydata.VKey == vkKey && m_keydata.Flags & RI_KEY_BREAK;
38  }
39  bool raRawKeyboard::KeyPress(unsigned short vkKey)
40  {
41  return m_keydata.VKey == vkKey;
42  }
43 }
virtual bool KeyDown(unsigned short vkKey)
virtual bool KeyUp(unsigned short vkKey)
virtual RAWINPUTDEVICE Create(HWND wnd, bool Legacy=true)
~raRawKeyboard(void)
virtual void OnInput(RAWINPUT buffer)
virtual bool KeyPress(unsigned short vkKey)