From 717a7c11eafc5d8c90bf6ca163817ca8e3bbee08 Mon Sep 17 00:00:00 2001 From: plane000 Date: Tue, 15 May 2018 22:20:09 +0100 Subject: [PATCH] Added better clicking --- .../Joystick Controler/Program.cs | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/C++/Arduino/Joystick_Mouse/Joystick Controler/Joystick Controler/Program.cs b/C++/Arduino/Joystick_Mouse/Joystick Controler/Joystick Controler/Program.cs index 944972d..d6eeaee 100644 --- a/C++/Arduino/Joystick_Mouse/Joystick Controler/Joystick Controler/Program.cs +++ b/C++/Arduino/Joystick_Mouse/Joystick Controler/Joystick Controler/Program.cs @@ -76,25 +76,39 @@ namespace Joystick_Controler { } class MouseTranslator { + + private bool lastB; + private bool mouseDown; + private int joyX; private int joyY; public MouseTranslator(int x, int y, bool b) { joyX = x; joyY = y; - if (b) { - click(); + + if (b != lastB && mouseDown) { + clickUp(); + } else if (b == lastB && mouseDown) { + } else if (b != lastB && !mouseDown) { + clickDown(); } + moveMouse(); + lastB = b; } private void moveMouse() { - Cursor.Position = new Point(Cursor.Position.X - joyX, Cursor.Position.Y - joyY); + Cursor.Position = new Point(Cursor.Position.X - joyX, Cursor.Position.Y); } - private void click() { + private void clickDown() { mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); + mouseDown = true; + } + private void clickUp() { mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); + mouseDown = false; } private const UInt32 MOUSEEVENTF_LEFTDOWN = 0x0002;