remove move scaled and drop some API keep one, add toggle micro sleep

This commit is contained in:
vcaesar 2021-11-17 17:29:31 -04:00
parent a6f18bc2b3
commit b25cecf984
4 changed files with 23 additions and 11 deletions

View File

@ -20,8 +20,7 @@
* *
* Pauses execution for the given amount of milliseconds. * Pauses execution for the given amount of milliseconds.
*/ */
H_INLINE void microsleep(double milliseconds) H_INLINE void microsleep(double milliseconds) {
{
#if defined(IS_WINDOWS) #if defined(IS_WINDOWS)
Sleep((DWORD)milliseconds); /* (Unfortunately truncated to a 32-bit integer.) */ Sleep((DWORD)milliseconds); /* (Unfortunately truncated to a 32-bit integer.) */
#else #else

View File

@ -173,6 +173,7 @@ void toggleKeyCode(MMKeyCode code, const bool down, MMKeyFlags flags){
void tapKeyCode(MMKeyCode code, MMKeyFlags flags){ void tapKeyCode(MMKeyCode code, MMKeyFlags flags){
toggleKeyCode(code, true, flags); toggleKeyCode(code, true, flags);
microsleep(5.0);
toggleKeyCode(code, false, flags); toggleKeyCode(code, false, flags);
} }
@ -224,6 +225,7 @@ void toggleKey(char c, const bool down, MMKeyFlags flags){
void tapKey(char c, MMKeyFlags flags){ void tapKey(char c, MMKeyFlags flags){
toggleKey(c, true, flags); toggleKey(c, true, flags);
microsleep(5.0);
toggleKey(c, false, flags); toggleKey(c, false, flags);
} }
@ -289,6 +291,7 @@ void unicodeType(const unsigned value){
UniChar ch = (UniChar)value; // Convert to unsigned char UniChar ch = (UniChar)value; // Convert to unsigned char
toggleUnicode(ch, true); toggleUnicode(ch, true);
microsleep(5.0);
toggleUnicode(ch, false); toggleUnicode(ch, false);
#elif defined(IS_WINDOWS) #elif defined(IS_WINDOWS)
INPUT input[2]; INPUT input[2];
@ -307,10 +310,12 @@ void unicodeType(const unsigned value){
SendInput(2, input, sizeof(INPUT)); SendInput(2, input, sizeof(INPUT));
#elif defined(USE_X11) #elif defined(USE_X11)
toggleUniKey(value, true); toggleUniKey(value, true);
microsleep(5.0);
toggleUniKey(value, false); toggleUniKey(value, false);
#endif #endif
} }
// todo: removed
void typeStringDelayed(const char *str, const unsigned cpm){ void typeStringDelayed(const char *str, const unsigned cpm){
/* Characters per second */ /* Characters per second */

View File

@ -206,6 +206,7 @@ void toggleMouse(bool down, MMMouseButton button){
void clickMouse(MMMouseButton button){ void clickMouse(MMMouseButton button){
toggleMouse(true, button); toggleMouse(true, button);
microsleep(5.0);
toggleMouse(false, button); toggleMouse(false, button);
} }
@ -309,7 +310,7 @@ void scrollMouse(int scrollMagnitude, MMMouseWheelDirection scrollDirection){
#endif #endif
} }
void scrollMouseXY(int x, int y){ void scrollMouseXY(int x, int y) {
#if defined(IS_WINDOWS) #if defined(IS_WINDOWS)
// Fix for #97, // Fix for #97,
// C89 needs variables declared on top of functions (mouseScrollInput) // C89 needs variables declared on top of functions (mouseScrollInput)

View File

@ -441,6 +441,7 @@ func CheckMouse(btn string) C.MMMouseButton {
return C.LEFT_BUTTON return C.LEFT_BUTTON
} }
// Deprecated:
// MoveMouse move the mouse // MoveMouse move the mouse
func MoveMouse(x, y int) { func MoveMouse(x, y int) {
Move(x, y) Move(x, y)
@ -452,10 +453,10 @@ func MoveMouse(x, y int) {
// robotgo.MouseSleep = 100 // 100 millisecond // robotgo.MouseSleep = 100 // 100 millisecond
// robotgo.Move(10, 10) // robotgo.Move(10, 10)
func Move(x, y int) { func Move(x, y int) {
if runtime.GOOS == "windows" { // if runtime.GOOS == "windows" {
f := ScaleF() // f := ScaleF()
x, y = Scaled0(x, f), Scaled0(y, f) // x, y = Scaled0(x, f), Scaled0(y, f)
} // }
cx := C.int32_t(x) cx := C.int32_t(x)
cy := C.int32_t(y) cy := C.int32_t(y)
@ -464,6 +465,7 @@ func Move(x, y int) {
MilliSleep(MouseSleep) MilliSleep(MouseSleep)
} }
// Deprecated:
// DragMouse drag the mouse to (x, y), // DragMouse drag the mouse to (x, y),
// It's same with the DragSmooth() now // It's same with the DragSmooth() now
func DragMouse(x, y int, args ...interface{}) { func DragMouse(x, y int, args ...interface{}) {
@ -474,6 +476,7 @@ func DragMouse(x, y int, args ...interface{}) {
Toggle("left", "up") Toggle("left", "up")
} }
// Deprecated:
// Drag drag the mouse to (x, y), // Drag drag the mouse to (x, y),
// It's not valid now, use the DragSmooth() // It's not valid now, use the DragSmooth()
func Drag(x, y int, args ...string) { func Drag(x, y int, args ...string) {
@ -500,6 +503,7 @@ func DragSmooth(x, y int, args ...interface{}) {
Toggle("left", "up") Toggle("left", "up")
} }
// Deprecated:
// MoveMouseSmooth move the mouse smooth, // MoveMouseSmooth move the mouse smooth,
// moves mouse to x, y human like, with the mouse button up. // moves mouse to x, y human like, with the mouse button up.
func MoveMouseSmooth(x, y int, args ...interface{}) bool { func MoveMouseSmooth(x, y int, args ...interface{}) bool {
@ -515,10 +519,10 @@ func MoveMouseSmooth(x, y int, args ...interface{}) bool {
// robotgo.MoveSmooth(10, 10) // robotgo.MoveSmooth(10, 10)
// robotgo.MoveSmooth(10, 10, 1.0, 2.0) // robotgo.MoveSmooth(10, 10, 1.0, 2.0)
func MoveSmooth(x, y int, args ...interface{}) bool { func MoveSmooth(x, y int, args ...interface{}) bool {
if runtime.GOOS == "windows" { // if runtime.GOOS == "windows" {
f := ScaleF() // f := ScaleF()
x, y = Scaled0(x, f), Scaled0(y, f) // x, y = Scaled0(x, f), Scaled0(y, f)
} // }
cx := C.int32_t(x) cx := C.int32_t(x)
cy := C.int32_t(y) cy := C.int32_t(y)
@ -577,6 +581,7 @@ func GetMousePos() (int, int) {
return x, y return x, y
} }
// Deprecated:
// MouseClick click the mouse // MouseClick click the mouse
// //
// robotgo.MouseClick(button string, double bool) // robotgo.MouseClick(button string, double bool)
@ -646,6 +651,7 @@ func Toggle(key ...string) int {
return int(i) return int(i)
} }
// Deprecated:
// MouseToggle toggle the mouse // MouseToggle toggle the mouse
// //
// Examples: // Examples:
@ -666,6 +672,7 @@ func MouseToggle(togKey string, args ...interface{}) int {
return int(i) return int(i)
} }
// Deprecated:
// ScrollMouse scroll the mouse to (x, "up") // ScrollMouse scroll the mouse to (x, "up")
// //
// Examples: // Examples: