MCPcopy Create free account
hub / github.com/ChiyukiGana/Quickinput / State

Method State

source/src/tools/input.h:23–45  ·  view source on GitHub ↗

flags: 1 = down, 0 = up

Source from the content-addressed store, hash-verified

21 static void LoopU(BYTE vk, UINT delay = 10) { while (!state(vk)) Sleep(delay); }
22 // flags: 1 = down, 0 = up
23 static void State(BYTE vk, bool press = true, ULONG_PTR info = 0) {
24 if (vk)
25 {
26 INPUT input = {};
27 if (vk < 0x07 || vk == VK_WHEELUP || vk == VK_WHEELDOWN)
28 {
29 input.type = INPUT_MOUSE;
30 if (vk == VK_LBUTTON) input.mi = press ? MOUSEINPUT({ 0, 0, 0, MOUSEEVENTF_LEFTDOWN, 0, info }) : MOUSEINPUT({ 0, 0, 0, MOUSEEVENTF_LEFTUP, 0, info });
31 else if (vk == VK_RBUTTON) input.mi = press ? MOUSEINPUT({ 0, 0, 0, MOUSEEVENTF_RIGHTDOWN, 0, info }) : input.mi = MOUSEINPUT({ 0, 0, 0, MOUSEEVENTF_RIGHTUP, 0, info });
32 else if (vk == VK_MBUTTON) input.mi = press ? MOUSEINPUT({ 0, 0, 0, MOUSEEVENTF_MIDDLEDOWN, 0, info }) : input.mi = MOUSEINPUT({ 0, 0, 0, MOUSEEVENTF_MIDDLEUP, 0, info });
33 else if (vk == VK_XBUTTON1) input.mi = press ? MOUSEINPUT({ 0, 0, XBUTTON1, MOUSEEVENTF_XDOWN, 0, info }) : input.mi = MOUSEINPUT({ 0, 0, XBUTTON1, MOUSEEVENTF_XUP, 0, info });
34 else if (vk == VK_XBUTTON2) input.mi = press ? MOUSEINPUT({ 0, 0, XBUTTON2, MOUSEEVENTF_XDOWN, 0, info }) : input.mi = MOUSEINPUT({ 0, 0, XBUTTON2, MOUSEEVENTF_XUP, 0, info });
35 else if (vk == VK_WHEELUP) input.mi = { 0, 0, (DWORD)(WHEEL_DELTA), MOUSEEVENTF_WHEEL, 0, info };
36 else if (vk == VK_WHEELDOWN) input.mi = { 0, 0, (DWORD)(-WHEEL_DELTA), MOUSEEVENTF_WHEEL, 0, info };
37 }
38 else
39 {
40 input.type = INPUT_KEYBOARD;
41 input.ki = press ? KEYBDINPUT({ static_cast<WORD>(vk), static_cast<USHORT>(MapVirtualKeyW(vk, MAPVK_VK_TO_VSC)), 0, 0, info }) : KEYBDINPUT({ static_cast<WORD>(vk), static_cast<USHORT>(MapVirtualKeyW(vk, MAPVK_VK_TO_VSC)), KEYEVENTF_KEYUP, 0, info });
42 }
43 SendInput(1, &input, sizeof(input));
44 }
45 }
46 static void State(HWND wnd, BYTE vk, POINT pos = { 0 }, bool press = true)
47 {
48 if (isMouse(vk))

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected