robotgo库支持条件编译

This commit is contained in:
lwch
2021-11-02 18:47:19 +08:00
parent 1feae3fcba
commit 49d2d9d9b7
4 changed files with 78 additions and 44 deletions
+3 -40
View File
@@ -1,48 +1,11 @@
// +build !vnc
package worker
import (
"natpass/code/client/tunnel/vnc/vncnetwork"
"github.com/go-vgo/robotgo"
"github.com/lwch/logging"
)
import "natpass/code/client/tunnel/vnc/vncnetwork"
func runMouse(data *vncnetwork.MouseData) {
detach, err := attachDesktop()
if err != nil {
logging.Error("attach desktop: %v", err)
return
}
defer detach()
robotgo.MoveMouse(int(data.GetX()), int(data.GetY()))
var key string
switch data.GetBtn() {
case vncnetwork.MouseData_left:
key = "left"
case vncnetwork.MouseData_right:
key = "right"
case vncnetwork.MouseData_middle:
key = "center"
}
switch data.GetType() {
case vncnetwork.Status_down:
robotgo.MouseToggle("down", key)
case vncnetwork.Status_up:
robotgo.MouseToggle("up", key)
}
}
func runKeyboard(data *vncnetwork.KeyboardData) {
detach, err := attachDesktop()
if err != nil {
logging.Error("attach desktop: %v", err)
return
}
defer detach()
switch data.Type {
case vncnetwork.Status_down:
robotgo.KeyToggle(data.Key, "down")
case vncnetwork.Status_up:
robotgo.KeyToggle(data.Key, "up")
}
}
@@ -0,0 +1,50 @@
// +build vnc
package worker
import (
"natpass/code/client/tunnel/vnc/vncnetwork"
"github.com/go-vgo/robotgo"
"github.com/lwch/logging"
)
func runMouse(data *vncnetwork.MouseData) {
detach, err := attachDesktop()
if err != nil {
logging.Error("attach desktop: %v", err)
return
}
defer detach()
robotgo.MoveMouse(int(data.GetX()), int(data.GetY()))
var key string
switch data.GetBtn() {
case vncnetwork.MouseData_left:
key = "left"
case vncnetwork.MouseData_right:
key = "right"
case vncnetwork.MouseData_middle:
key = "center"
}
switch data.GetType() {
case vncnetwork.Status_down:
robotgo.MouseToggle("down", key)
case vncnetwork.Status_up:
robotgo.MouseToggle("up", key)
}
}
func runKeyboard(data *vncnetwork.KeyboardData) {
detach, err := attachDesktop()
if err != nil {
logging.Error("attach desktop: %v", err)
return
}
defer detach()
switch data.Type {
case vncnetwork.Status_down:
robotgo.KeyToggle(data.Key, "down")
case vncnetwork.Status_up:
robotgo.KeyToggle(data.Key, "up")
}
}