robotgo

package module
v0.0.0-...-8948a60 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 16, 2017 License: MIT Imports: 3 Imported by: 0

README

#Robotgo

CircleCI Status Go Report Card GoDoc Release

Golang Desktop Automation. Control the mouse, keyboard, bitmap,read the screen,Window Handle and global event listener.

RobotGo supports Mac, Windows, and Linux(X11).

This is a work in progress.

##API Document    中文文档 Please click API Document;This is a work in progress.

##Installation:

go get github.com/go-vgo/robotgo

It's that easy!

##Update:

go get -u github.com/go-vgo/robotgo  

###Requirements:

####ALL:

Golang
//Gcc
zlib & libpng (bitmap)

####For Mac OS X: Xcode Command Line Tools

brew install libpng
brew install homebrew/dupes/zlib

####For Windows:

MinGW or other GCC

#####zlib&libpng Windows32 GCC's Course

#####Download include zlib&libpng Windows64 GCC

####For everything else:

GCC
    
X11 with the XTest extension (also known as the Xtst library)

Event:
    
xcb,xkb,libxkbcommon

#####Ubuntu:


sudo apt-get install libx11-dev
#sudo apt-get install libgtkglextmm-x11-dev
#sudo apt-get install libghc6-x11-dev
#sudo apt-get install libgl1-mesa-swx11-dev
sudo apt-get install xorg-dev

sudo apt-get install libxtst-dev libpng++-dev   

#Event:

sudo apt-get install xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev
sudo apt-get install libxkbcommon-dev

##Examples:

###Mouse

package main

import (
	"github.com/go-vgo/robotgo"
)

func main() {
  robotgo.ScrollMouse(10, "up")
  robotgo.MouseClick("left", true)
  robotgo.MoveMouseSmooth(100, 200, 1.0, 100.0)
} 

###Keyboard

package main

import (
	"github.com/go-vgo/robotgo"
)

func main() {
  robotgo.TypeString("Hello World")
  robotgo.KeyTap("enter")
  robotgo.TypeString("en")
  robotgo.KeyTap("i", "alt", "command")
  arr := []string{"alt", "command"}
  robotgo.KeyTap("i", arr)
} 

###Screen

package main

import (
	. "fmt"

	"github.com/go-vgo/robotgo"
)

func main() {
  x, y := robotgo.GetMousePos()
  Println("pos:", x, y)
  color := robotgo.GetPixelColor(100, 200)
  Println("color----", color)
} 

###Bitmap

package main

import (
	. "fmt"

	"github.com/go-vgo/robotgo"
)

func main() {
  bit_map := robotgo.CaptureScreen(10, 20, 30, 40)
  Println("...", bit_map)

  fx, fy := robotgo.FindBitmap(bit_map)
  Println("FindBitmap------", fx, fy)

  robotgo.SaveBitmap(bit_map, "test.png")
} 

###Event

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")
  }
} 

###Window

package main

import (
	. "fmt"

	"github.com/go-vgo/robotgo"
)

func main() {
  abool := robotgo.ShowAlert("test", "robotgo")
  if abool == 0 {
 	  Println("ok@@@", "ok")
  }

  title := robotgo.GetTitle()
  Println("title@@@", title)
} 

##Future

  • Update Find an image on screen, read pixels from an image
  • Update Window Handle
  • Try support Android,maybe support IOS.

##Contributors

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddEvent

func AddEvent(aeve string) int

AddEvent Add Event

func CaptureScreen

func CaptureScreen(args ...int) C.MMBitmapRef

CaptureScreen Capture the Screen

func Click

func Click(args ...interface{})

Click Click the Mouse

func CloseWindow

func CloseWindow()

CloseWindow Close the Window

func Convert

func Convert(args ...interface{})

Convert Convert bitmap

func Drag

func Drag(x, y int)

Drag Drag the Mouse

func DragMouse

func DragMouse(x, y int)

DragMouse Drag the Mouse

func FindBitmap

func FindBitmap(args ...interface{}) (int, int)

FindBitmap Find the Bitmap

func GetActive

func GetActive() C.MData

GetActive Get the Active Window

func GetHandle

func GetHandle() int

GetHandle Get the Window Handle

func GetMousePos

func GetMousePos() (int, int)

GetMousePos Get Mouse Portion

func GetPixelColor

func GetPixelColor(x, y int) string

GetPixelColor Get Pixel Color

func GetPortion

func GetPortion(bit C.MMBitmapRef, x, y, w, h C.size_t) C.MMBitmapRef

GetPortion Get Portion

func GetScreenSize

func GetScreenSize() (int, int)

GetScreenSize Get Screen Size

func GetTitle

func GetTitle() string

GetTitle Get the Window Title

func GetVersion

func GetVersion() string

GetVersion get version

func GetXDisplayName

func GetXDisplayName() string

GetXDisplayName Get XDisplay Name

func IsValid

func IsValid() bool

IsValid Valid the Window

func KeyTap

func KeyTap(args ...interface{})

KeyTap Tap the Keyboard

func KeyToggle

func KeyToggle(args ...string) string

KeyToggle Toggle the Keyboard

func LEvent

func LEvent(aeve string) int

LEvent Add Event

func MouseClick

func MouseClick(args ...interface{})

MouseClick Click the Mouse

func MouseToggle

func MouseToggle(args ...interface{})

MouseToggle Toggle the Mouse

func Move

func Move(x, y int)

Move Move the Mouse

func MoveClick

func MoveClick(x, y int, args ...interface{})

MoveClick move and click the Mouse

func MoveMouse

func MoveMouse(x, y int)

MoveMouse Move the Mouse C.size_t int

func MoveMouseSmooth

func MoveMouseSmooth(x, y int, args ...float64)

MoveMouseSmooth Move the Mouse Smooth

func MoveSmooth

func MoveSmooth(x, y int, args ...float64)

MoveSmooth Move the Mouse Smooth

func OpenBitmap

func OpenBitmap(args ...interface{}) C.MMBitmapRef

OpenBitmap Open the Bitmap

func SaveBitmap

func SaveBitmap(args ...interface{}) string

SaveBitmap Save the Bitmap

func ScrollMouse

func ScrollMouse(x int, y string)

ScrollMouse Scroll the Mouse

func SetActive

func SetActive(win C.MData)

SetActive Set the Window Active

func SetHandle

func SetHandle(hwnd int)

SetHandle Set the Window Handle

func SetKeyDelay

func SetKeyDelay(x int)

SetKeyDelay Set Keyboard Delay

func SetKeyboardDelay

func SetKeyboardDelay(x int)

SetKeyboardDelay Set Keyboard Delay

func SetMouseDelay

func SetMouseDelay(x int)

SetMouseDelay Set Mouse Delay

func SetXDisplayName

func SetXDisplayName(name string) string

SetXDisplayName Set XDisplay Name

func ShowAlert

func ShowAlert(title, msg string, args ...string) int

ShowAlert Show a Alert Window

func StopEvent

func StopEvent()

StopEvent Stop Event

func TostringBitmap

func TostringBitmap(bit C.MMBitmapRef) *C.char

TostringBitmap Tostring Bitmap

func Try

func Try(fun func(), handler func(interface{}))

Try handler(err)

func TypeStrDelay

func TypeStrDelay(x string, y int)

TypeStrDelay Type String Delayed

func TypeString

func TypeString(x string)

TypeString Type String

func TypeStringDelayed

func TypeStringDelayed(x string, y int)

TypeStringDelayed Type String Delayed

Types

type Bitmap

type Bitmap struct {
	ImageBuffer   *uint8
	Width         int
	Height        int
	Bytewidth     int
	BitsPerPixel  uint8
	BytesPerPixel uint8
}

Bitmap is Bitmap struct type Bit_map struct {

func BCaptureScreen

func BCaptureScreen(args ...int) Bitmap

BCaptureScreen Capture the Screen func Capture_Screen(args ...int) Bitmap {

type MPoint

type MPoint struct {
	// contains filtered or unexported fields
}

MPoint is MPoint struct

type Map

type Map map[string]interface{}

Map a map

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL