//-------------------------------------------------------------------------- public void KeyDown(int code) { if (!MyKeyDown[code]) { //System.Console.Out.WriteLine("keydown"); MyKeyDown[code] = true; int scancode = ScanCodeMap[code]; // convert the keycode for SendInput var input = new MouseKeyIO.INPUT[1]; input[0].type = MouseKeyIO.INPUT_KEYBOARD; if (ExtendedKeyMap[code]) { input[0].ki = KeyInput((ushort)scancode, MouseKeyIO.KEYEVENTF_EXTENDEDKEY); } else { input[0].ki = KeyInput((ushort)scancode, 0); } MouseKeyIO.SendInput(1, input, Marshal.SizeOf(input[0].GetType())); } }
public void SetButtonPressed(int index, bool pressed) { uint btn_flag = 0; if (index == 0) { if (pressed) { if (!leftPressed) { btn_flag = MouseKeyIO.MOUSEEVENTF_LEFTDOWN; } } else { if (leftPressed) { btn_flag = MouseKeyIO.MOUSEEVENTF_LEFTUP; } } leftPressed = pressed; } else if (index == 1) { if (pressed) { if (!rightPressed) { btn_flag = MouseKeyIO.MOUSEEVENTF_RIGHTDOWN; } } else { if (rightPressed) { btn_flag = MouseKeyIO.MOUSEEVENTF_RIGHTUP; } } rightPressed = pressed; } else { if (pressed) { if (!middlePressed) { btn_flag = MouseKeyIO.MOUSEEVENTF_MIDDLEDOWN; } } else { if (middlePressed) { btn_flag = MouseKeyIO.MOUSEEVENTF_MIDDLEUP; } } middlePressed = pressed; } if (btn_flag != 0) { var input = new MouseKeyIO.INPUT[1]; input[0].type = MouseKeyIO.INPUT_MOUSE; input[0].mi = MouseInput(0, 0, 0, 0, btn_flag); MouseKeyIO.SendInput(1, input, Marshal.SizeOf(input[0].GetType())); } }