Add more examples code

This commit is contained in:
vcaesar 2022-02-09 09:26:46 -08:00
parent 833856fd33
commit c8fc1e36f4
5 changed files with 133 additions and 5 deletions

View File

@ -34,7 +34,7 @@ environment:
PATH: C:\msys64\mingw32\bin\;C:\Program Files (x86)\NSIS\;%PATH% PATH: C:\msys64\mingw32\bin\;C:\Program Files (x86)\NSIS\;%PATH%
# - COMPILER: MINGW_W64 # - COMPILER: MINGW_W64
# ARCHITECTURE: x64 # ARCHITECTURE: x64
GOVERSION: 1.17.5 GOVERSION: 1.17.6
# GOPATH: c:\gopath # GOPATH: c:\gopath
# scripts that run after cloning repository # scripts that run after cloning repository

View File

@ -5,8 +5,7 @@
/* Python versions under 2.5 don't support this macro, but it's not /* Python versions under 2.5 don't support this macro, but it's not
* terribly difficult to replicate: */ * terribly difficult to replicate: */
#ifndef PyModule_AddIntMacro #ifndef PyModule_AddIntMacro
#define PyModule_AddIntMacro(module, macro) \ #define PyModule_AddIntMacro(module, macro) PyModule_AddIntConstant(module, #macro, macro)
PyModule_AddIntConstant(module, #macro, macro)
#endif /* PyModule_AddIntMacro */ #endif /* PyModule_AddIntMacro */
#if !defined(IS_MACOSX) && defined(__APPLE__) && defined(__MACH__) #if !defined(IS_MACOSX) && defined(__APPLE__) && defined(__MACH__)

View File

@ -73,10 +73,8 @@ struct _MEvent {
typedef struct _MEvent MEvent; typedef struct _MEvent MEvent;
// typedef MMBitmap *MMBitmapRef; // typedef MMBitmap *MMBitmapRef;
MEvent mEvent; MEvent mEvent;
bool loggerProc(unsigned int level, const char *format, ...) { bool loggerProc(unsigned int level, const char *format, ...) {
bool status = false; bool status = false;

113
examples/event/main.go Normal file
View File

@ -0,0 +1,113 @@
// Copyright 2016 The go-vgo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// https://github.com/go-vgo/robotgo/blob/master/LICENSE
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
package main
import (
"fmt"
hook "github.com/robotn/gohook"
)
func addEvent() {
fmt.Println("--- Please press ctrl + shift + q ---")
ok := hook.AddEvents("q", "ctrl", "shift")
if ok {
fmt.Println("add events...")
}
fmt.Println("--- Please press w---")
ok = hook.AddEvents("w")
if ok {
fmt.Println("add events")
}
// start hook
s := hook.Start()
// end hook
defer hook.End()
for ev := range s {
fmt.Println("hook: ", ev)
}
}
func addMouse() {
fmt.Println("--- Please press left mouse button ---")
ok := hook.AddMouse("left")
if ok {
fmt.Println("add mouse...")
}
fmt.Println("--- Please press left mouse button and move mosue to 100,100 ---")
ok = hook.AddMouse("left", 100, 100)
if ok {
fmt.Println("add mouse and move to 100,100 ...")
}
fmt.Println("--- Please move mosue to 100,100 ---")
ok = hook.AddMousePos(100, 100)
if ok {
fmt.Println(" move mouse to 100,100 ...")
}
}
func add() {
fmt.Println("--- Please press v---")
eve := hook.AddEvent("v")
if eve {
fmt.Println("--- You press v---", "v")
}
fmt.Println("--- Please press k---")
keve := hook.AddEvent("k")
if keve {
fmt.Println("--- You press k---", "k")
}
fmt.Println("--- Please press f1---")
feve := hook.AddEvent("f1")
if feve {
fmt.Println("You press...", "f1")
}
}
func event() {
////////////////////////////////////////////////////////////////////////////////
// Global event listener
////////////////////////////////////////////////////////////////////////////////
add()
fmt.Println("--- Please press left mouse button---")
mleft := hook.AddEvent("mleft")
if mleft {
fmt.Println("--- You press left mouse button---", "mleft")
}
mright := hook.AddEvent("mright")
if mright {
fmt.Println("--- You press right mouse button---", "mright")
}
// stop AddEvent
// hook.StopEvent()
}
func main() {
fmt.Println("test begin...")
addEvent()
addMouse()
event()
}

View File

@ -22,6 +22,20 @@ func registerEvent() {
<-hook.Process(s) <-hook.Process(s)
} }
func addMouse() {
fmt.Println("--- Please press left mouse button to see it's position and the right mouse button to exit ---")
hook.Register(hook.MouseDown, []string{}, func(e hook.Event) {
if e.Button == hook.MouseMap["left"] {
fmt.Printf("mouse left @ %v - %v\n", e.X, e.Y)
} else if e.Button == hook.MouseMap["right"] {
hook.End()
}
})
s := hook.Start()
<-hook.Process(s)
}
// hook listen and return values using detailed examples // hook listen and return values using detailed examples
func add() { func add() {
fmt.Println("hook add...") fmt.Println("hook add...")
@ -50,6 +64,9 @@ func base() {
for ev := range evChan { for ev := range evChan {
fmt.Println("hook: ", ev) fmt.Println("hook: ", ev)
if ev.Keychar == 'q' {
break
}
} }
} }
@ -59,4 +76,5 @@ func main() {
base() base()
add() add()
addMouse()
} }