Advertisement
djhonga2001

Untitled

May 20th, 2016
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. bool IsKeyDown(std::string keyName, DWORD delay = 0UL);
  2.  
  3. bool IsKeyDown(std::string keyName, DWORD delay)
  4. {
  5. KeyConfig* key = get_config()->get_key_config()->get_key(keyName);
  6. if (key == NULL || key->keyCode == 0)
  7. {
  8. return false;
  9. }
  10. bool result = IsKeyDown(key->keyCode);
  11. if (result && key->modLCtrl){ GetKeyState(162) & 0x8000 ? result = true : result = false; }
  12. if (result && key->modRCtrl){ GetKeyState(163) & 0x8000 ? result = true : result = false; }
  13. if (result && key->modLAlt){ GetKeyState(164) & 0x8000 ? result = true : result = false; }
  14. if (result && key->modRAlt){ GetKeyState(165) & 0x8000 ? result = true : result = false; }
  15. if (result && key->modLShift){ GetKeyState(160) & 0x8000 ? result = true : result = false; }
  16. if (result && key->modRShift){ GetKeyState(161) & 0x8000 ? result = true : result = false; }
  17.  
  18. //avoid repeat of key press
  19. DWORD maxTickCount = GetTickCount() + delay;
  20. do
  21. {
  22. make_periodic_feature_call();
  23. WAIT(0);
  24. } while (GetTickCount() < maxTickCount);
  25.  
  26. return result;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement