#Methods: #####[GetVersion](#GetVersion) ##[Keyboard](#Keyboard) #####[Keys](#keys) #####[SetKeyboardDelay](#SetKeyDelay)(Equivalent to SetKeyDelay,Wno-deprecated) #####[SetKeyDelay](#SetKeyDelay) #####[KeyTap](#KeyTap) #####[KeyToggle](#KeyToggle) #####[TypeString](#TypeString) #####[TypeStringDelayed](#TypeStrDelay)(Equivalent to TypeStrDelay,Wno-deprecated) #####[TypeStrDelay](#TypeStrDelay) ##[Mouse](#Mouse) #####[SetMouseDelay](#SetMouseDelay) #####[MoveMouse](#MoveMouse) #####[Move](#MoveMouse)(Equivalent to MoveMouse) #####[MoveMouseSmooth](#MoveMouseSmooth) #####[MoveSmooth](#MoveMouseSmooth)(Equivalent to MoveMouseSmooth) #####[MouseClick](#MouseClick) #####[Click](#MouseClick)(Equivalent to MouseClick) #####[MoveClick](#MoveClick) #####[MouseToggle](#MouseToggle) #####[DragMouse](#DragMouse) #####[Drag](#DragMouse)(Equivalent to DragMouse) #####[GetMousePos](#GetMousePos) #####[ScrollMouse](#ScrollMouse) ##[Screen](#Screen) #####[GetPixelColor](#GetPixelColor) #####[GetScreenSize](#GetScreenSize) #####[CaptureScreen](#CaptureScreen) #####[GetXDisplayName(Linux)](#GetXDisplayName) #####[SetXDisplayName(Linux)](#SetXDisplayName) ##[Bitmap](#Bitmap) This is a work in progress. #####[FindBitmap](#FindBitmap) #####[OpenBitmap](#OpenBitmap) #####[SaveBitmap](#SaveBitmap) #####[TostringBitmap](#TostringBitmap) #####[GetPortion](#GetPortion) #####[Convert](#Convert) ##[Event](#Event) #####[LEvent](#LEvent)(Equivalent to AddEvent,Wno-deprecated) #####[AddEvent](#AddEvent) #####[StopEvent](#StopEvent) ##[Window](#Window) This is a work in progress. #####[ShowAlert](#ShowAlert) #####[CloseWindow](#CloseWindow) #####[IsValid](#IsValid) #####[SetActive](#SetActive) #####[GetActive](#GetActive) #####[SetHandle](#SetHandle) #####[GetHandle](#GetHandle) #####[GetTitle](#GetTitle) #####[GetPID](#GetPID) ###

.GetVersion()

get robotgo version ##

Keyboard

###

.SetKeyDelay(ms)

Sets the delay in milliseconds to sleep after a keyboard event. This is 10ms by default. ####Arguments: ms - Time to sleep in milliseconds. ###

.KeyTap(key, modifier)

Press a single key. ####Arguments: key - See keys. modifier (optional, string or array) - Accepts alt, command (win), control, and shift. ####Examples: ```Go robotgo.KeyTap("h", "command") robotgo.KeyTap("i", "alt", "command") arr := []string{"alt", "command"} robotgo.KeyTap("i", arr) ``` ###

.KeyToggle(key, down, modifier)

Hold down or release a key. ####Arguments: key - See keys. down - Accepts 'down' or 'up'. modifier (optional, string or array) - Accepts alt, command (mac), control, and shift. ####Return: return KeyToggle status ###

.TypeString(string)

####Arguments: string - The string to send. ###

.TypeStrDelay(string, cpm)

####Arguments: string - The string to send. cpm - Characters per minute. ##

Mouse

###

.SetMouseDelay(ms)

Sets the delay in milliseconds to sleep after a mouse event. This is 10ms by default. ####Arguments: ms - Time to sleep in milliseconds. ###

.MoveMouse(x, y)

Moves mouse to x, y instantly, with the mouse button up. ####Arguments: x,y ####Examples: ```Go //Move the mouse to 100, 100 on the screen. robotgo.MoveMouse(100, 100) ``` ###

.MoveMouseSmooth(x, y)

Moves mouse to x, y human like, with the mouse button up. ####Arguments: x,y lowspeed,highspeed ####Examples: ```Go robotgo.MoveMouseSmooth(100, 200) robotgo.MoveMouseSmooth(100, 200, 1.0, 100.0) ``` ###

.MouseClick(button, double)

Clicks the mouse. ####Arguments: button (optional) - Accepts "left", "right", or "center". Defaults to left. double (optional) - Set to true to perform a double click. Defaults to false. ####Examples: ```Go robogo.MouseClick() robogo.MouseClick("left", true) ``` ###

.MoveClick(x, y, button, double)

Move and click the mouse. ####Arguments: x, y, button (optional) - Accepts "left", "right", or "center". Defaults to left. double (optional) - Set to true to perform a double click. Defaults to false. ####Examples: ```Go robogo.MoveClick(10, 20) robogo.MoveClick(10, 20, "left", true) ``` ###

.MouseToggle(down, button)

Toggles mouse button. ####Arguments: down (optional) - Accepts down or up. Defaults to down. button (optional) - Accepts "left", "right", or "center". Defaults to left. ####Examples: ```Go robotgo.MouseToggle("down") robotgo.MouseToggle("down", "right") ``` ###

.DragMouse(x, y)

Moves mouse to x, y instantly, with the mouse button held down. ####Arguments: x,y ####Examples: ```Go //Mouse down at 0, 0 and then drag to 100, 100 and release. robotgo.MoveMouse(0, 0) robotgo.MouseToggle("down") robotgo.DragMouse(100, 100) robotgo.MouseToggle("up") ``` ###

.GetMousePos()

Gets the mouse coordinates. ####Return: Returns an object with keys x and y. ####Examples: ```Go x,y := robotgo.GetMousePos() fmt.Println("pos:", x, y) ``` ###

.ScrollMouse(magnitude, direction)

Scrolls the mouse either up or down. ####Arguments: magnitude - The amount to scroll. direction - Accepts down or up. ####Examples: ```Go robotgo.ScrollMouse(50, "up") robotgo.ScrollMouse(50, "down") ``` ##

Screen

###

.GetPixelColor(x, y) Gets the pixel color at x, y. This function is perfect for getting a pixel or two, but if you'll be reading large portions of the screen use screen.capture. ####Arguments: x,y ####Return: Returns the hex color code of the pixel at x, y. ###

.GetScreenSize()

Gets the screen width and height. ####Return: Returns an object with .width and .height. ###

.CaptureScreen

//ScreenCapture Gets part or all of the screen. BCaptureScreen Returns a go struct Capture_Screen(Drop support) ####Arguments: x (optional) y (optional) height (optional) width (optional) If no arguments are provided, screencapture will get the full screen. ####Return: Returns a bitmap object. ##

Bitmap

This is a work in progress. ###

.FindBitmap

find bitmap. ####Arguments: bitmap; rect(optional): x, y, w, h ####Return: Returns a position x and y ###

.OpenBitmap

open bitmap . ####Arguments: bitmap image path, MMImageType(optional) ####Return: Returns a bitmap ###

.SaveBitmap

save a image with bitmap. ####Arguments: bitmap, path, imagetype(int) ####Return: return save image status ###

.TostringBitmap

bitmap to string ####Arguments: bitmap ####Return: Return a sting bitmap ###

.GetPortion

bitmap from a portion ####Arguments: bitmap, rect: x, y, w, h ####Return: Returns new bitmap object created from a portion of another ###

.Convert(openpath, savepath,MMImageType)

Convert the image format ####Arguments: openpath, savepath, MMImageType(optional) ####Examples: ```Go robotgo.Convert("test.png", "test.tif") ``` ##

Event

###

.AddEvent(string)

Listening global event ####Arguments: string (mosue arguments:mleft mright wheelDown wheelUp wheelLeft wheelRight) ####Return: if listened return 0 ####Examples: ```Go package main import ( . "fmt" "github.com/go-vgo/robotgo" ) func main() { keve := robotgo.AddEvent("k") if keve == 0 { Println("you press...", "k") } mleft := robotgo.AddEvent("mleft") if mleft == 0 { Println("you press...", "mouse left button") } } ``` ###

.StopEvent()

stop listen global event ##

Window

###

.ShowAlert(title, msg,defaultButton,cancelButton string)

Displays alert with the given attributes. If cancelButton is not given, only the defaultButton is displayed ####Arguments: title(string), msg(string), defaultButton(optional string), cancelButton(optional string) ####Return: Returns 0(True) if the default button was pressed, or 1(False) if cancelled. ###

.CloseWindow()

Close the Window ####Arguments: ####Return: ###

.IsValid()

Valid the Window ####Arguments: ####Return: Returns true if a window has been selected ###

.SetActive()

Set the Active Window ####Arguments: hwnd ####Return: void ###

.GetActive()

Get the Active Window ####Arguments: ####Return: Returns hwnd ###

.SetHandle()

Set the Window Handle ####Arguments: int ####Return: bool ###

.GetHandle()

Get the Window Handle ####Arguments: ####Return: Returns hwnd ###

.GetTitle()

Get the Window Title ####Arguments: ####Return: Returns Window Title ###

.GetPID()

Get the process id ####Arguments: ####Return: Returns the process id