diff --git a/README.md b/README.md index ae7ba91..376414c 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,6 @@ RobotGo supports Mac, Windows, and Linux(X11); and robotgo supports arm64 and x86-amd64. -[Chinese Simplified](https://github.com/go-vgo/robotgo/blob/master/README_zh.md) - ## Contents - [Docs](#docs) - [Binding](#binding) @@ -37,9 +35,7 @@ RobotGo supports Mac, Windows, and Linux(X11); and robotgo supports arm64 and x8 ## Docs - [GoDoc](https://godoc.org/github.com/go-vgo/robotgo)
- - [API Docs](https://github.com/go-vgo/robotgo/blob/master/docs/doc.md) (Deprecated, no updated) - - [Chinese Docs](https://github.com/go-vgo/robotgo/blob/master/docs/doc_zh.md) (Deprecated, no updated) ## Binding: [ADB](https://github.com/vcaesar/adb), packaging android adb API. @@ -70,17 +66,15 @@ xcode-select --install [MinGW-w64](https://sourceforge.net/projects/mingw-w64/files) (Use recommended) ``` -Or the other GCC (But you should compile the "libpng" with yourself. -Or you can removed the bitmap.go. - -In the plans, the bitmap.go will moves to the bitmap dir, but break the API. ) +Or the other GCC (But you should compile the "libpng" with yourself when use the bitmap.) ``` #### For everything else: ``` -GCC, -libpng (bitmap) +GCC + +libpng (Just used by bitmap) X11 with the XTest extension (also known as the Xtst library) @@ -99,20 +93,31 @@ xsel xclip # gcc sudo apt install gcc libc6-dev -sudo apt install libx11-dev xorg-dev libxtst-dev libpng++-dev +# x11 +sudo apt install libx11-dev xorg-dev libxtst-dev +# Bitmap +sudo apt install libpng++-dev + +# Hook sudo apt install xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev libxkbcommon-dev +# Clipboard sudo apt install xsel xclip ``` ##### Fedora: ```yml -sudo dnf install libXtst-devel libxkbcommon-devel libxkbcommon-x11-devel xorg-x11-xkb-utils-devel +sudo dnf install libXtst-devel +# Bitmap sudo dnf install libpng-devel +# Hook +sudo dnf install libxkbcommon-devel libxkbcommon-x11-devel xorg-x11-xkb-utils-devel + +# Clipboard sudo dnf install xsel xclip ``` @@ -241,10 +246,21 @@ func main() { bit := robotgo.CaptureScreen(10, 10, 30, 30) defer robotgo.FreeBitmap(bit) - robotgo.SaveBitmap(bit, "test_1.png") img := robotgo.ToImage(bit) imgo.Save("test.png", img) + + num := robotgo.DisplaysNum() + for i := 0; i < num; i++ { + robotgo.DisplayID = i + img1 := robotgo.CaptureImg() + path1 := "save_" + strconv.Itoa(i) + robotgo.Save(img1, path1+".png") + robotgo.SaveJpeg(img1, path1+".jpeg", 50) + + img2 := robotgo.CaptureImg(10, 10, 20, 20) + robotgo.Save(img2, "test_"+strconv.Itoa(i)+".png") + } } ``` @@ -257,30 +273,31 @@ import ( "fmt" "github.com/go-vgo/robotgo" + "github.com/vcaesar/bitmap" ) func main() { - bitmap := robotgo.CaptureScreen(10, 20, 30, 40) + bit := robotgo.CaptureScreen(10, 20, 30, 40) // use `defer robotgo.FreeBitmap(bit)` to free the bitmap - defer robotgo.FreeBitmap(bitmap) + defer robotgo.FreeBitmap(bit) - fmt.Println("bitmap...", bitmap) - img := robotgo.ToImage(bitmap) - robotgo.SavePng(img, "test_1.png") + fmt.Println("bitmap...", bit) + img := robotgo.ToImage(bit) + // robotgo.SavePng(img, "test_1.png") + robotgo.Save(img, "test_1.png") bit2 := robotgo.ToCBitmap(robotgo.ImgToBitmap(img)) - fx, fy := robotgo.FindBitmap(bit2) + fx, fy := bitmap.Find(bit2) fmt.Println("FindBitmap------ ", fx, fy) robotgo.Move(fx, fy) - arr := robotgo.FindAllBitmap(bit2) + arr := bitmap.FindAll(bit2) fmt.Println("Find all bitmap: ", arr) - robotgo.SaveBitmap(bitmap, "test.png") - fx, fy = robotgo.FindBitmap(bitmap) + fx, fy = bitmap.Find(bit) fmt.Println("FindBitmap------ ", fx, fy) - robotgo.SaveBitmap(bitmap, "test.png") + bitmap.Save(bit, "test.png") } ``` @@ -354,7 +371,7 @@ package main import ( "fmt" - "github.com/go-vgo/robotgo" + // "github.com/go-vgo/robotgo" hook "github.com/robotn/gohook" ) @@ -366,18 +383,18 @@ func main() { func add() { fmt.Println("--- Please press ctrl + shift + q to stop hook ---") - robotgo.EventHook(hook.KeyDown, []string{"q", "ctrl", "shift"}, func(e hook.Event) { + hook.Register(hook.KeyDown, []string{"q", "ctrl", "shift"}, func(e hook.Event) { fmt.Println("ctrl-shift-q") - robotgo.EventEnd() + hook.End() }) fmt.Println("--- Please press w---") - robotgo.EventHook(hook.KeyDown, []string{"w"}, func(e hook.Event) { + hook.Register(hook.KeyDown, []string{"w"}, func(e hook.Event) { fmt.Println("w") }) - s := robotgo.EventStart() - <-robotgo.EventProcess(s) + s := hook.Start() + <-hook.Process(s) } func low() { @@ -390,17 +407,17 @@ func low() { } func event() { - ok := robotgo.AddEvents("q", "ctrl", "shift") + ok := hook.AddEvents("q", "ctrl", "shift") if ok { fmt.Println("add events...") } - keve := robotgo.AddEvent("k") + keve := hook.AddEvent("k") if keve { fmt.Println("you press... ", "k") } - mleft := robotgo.AddEvent("mleft") + mleft := hook.AddEvent("mleft") if mleft { fmt.Println("you press... ", "mouse left button") } @@ -439,7 +456,7 @@ func main() { robotgo.Kill(100) } - abool := robotgo.ShowAlert("test", "robotgo") + abool := robotgo.Alert("test", "robotgo") if abool { fmt.Println("ok@@@ ", "ok") } @@ -460,7 +477,7 @@ go build main.go #### Other to windows -Install Requirements (Ubuntu): +Install Requirements (Ubuntu, Just used by bitmap.): ```bash sudo apt install gcc-multilib sudo apt install gcc-mingw-w64 diff --git a/README_zh.md b/README_zh.md index 29aa363..7bac20c 100644 --- a/README_zh.md +++ b/README_zh.md @@ -15,7 +15,7 @@ RobotGo 支持 Mac, Windows, and Linux(X11).
-提 Issues 请到 [Github](https://github.com/go-vgo/robotgo), 便于统一管理和即时更新 +提 Issues 请到 [Github](https://github.com/go-vgo/robotgo), 便于统一管理和即时更新; `REDAME_zh.md 已废弃, 不再更新` ## Contents - [Docs](#docs) @@ -34,8 +34,8 @@ RobotGo 支持 Mac, Windows, and Linux(X11). ## Docs - [GoDoc](https://godoc.org/github.com/go-vgo/robotgo)
-- [中文文档](https://github.com/go-vgo/robotgo/blob/master/docs/doc_zh.md) (弃用) -- [English Docs](https://github.com/go-vgo/robotgo/blob/master/docs/doc.md) (弃用) + ## Binding: @@ -430,7 +430,7 @@ func main() { robotgo.Kill(100) } - abool := robotgo.ShowAlert("test", "robotgo") + abool := robotgo.Alert("test", "robotgo") if abool { fmt.Println("ok@@@ ", "ok") }