INNER CODE UNIT · C++
IbSendKeybdDownUp
Chaoses-Ib/IbInputSimulator · Simulator/source/API 3.cpp:113
DLLAPI bool __stdcall IbSendKeybdDownUp(uint16_t vk, Send::KeyboardModifiers modifiers) {
constexpr INPUT blank_input = INPUT{ .type = INPUT_KEYBOARD, .ki { 0, 0, 0, 0, 0 }};
INPUT inputs[18]; //720 bytes
uint32_t i = 0;
#define CODE_GENERATE(vk, member) \
if (modifiers.member) { \
inputs[i] = blank_input; \
inputs[i].ki.wVk = vk; \
i++; \
}
CODE_GENERATE(VK_LCONTROL, LCtrl)
CODE_GENERATE(VK_RCONTROL, RCtrl)
CODE_GENERATE(VK_LSHIFT, LShift)
CODE_GENERATE(VK_RSHIFT, RShift)
CODE_GENERATE(VK_LMENU, LAlt)