From 650ceda05ea53d5cf2867a5b9ce26609c2c0c447 Mon Sep 17 00:00:00 2001 From: lwch Date: Tue, 2 Nov 2021 17:44:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8E=9F=E5=A7=8B=E5=9B=BE?= =?UTF-8?q?=E5=83=8F=E8=B4=A8=E9=87=8F=E7=9A=84=E4=BC=A0=E8=BE=93=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/client/tunnel/vnc/h_ws.go | 1 + code/client/tunnel/vnc/link.go | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/code/client/tunnel/vnc/h_ws.go b/code/client/tunnel/vnc/h_ws.go index 2ab9d98..0476b13 100644 --- a/code/client/tunnel/vnc/h_ws.go +++ b/code/client/tunnel/vnc/h_ws.go @@ -101,6 +101,7 @@ func (v *VNC) localRead(ctx context.Context, local *websocket.Conn, remote *pool case "mouse": v.mouseEvent(remote, data) case "keyboard": + v.keyboardEvent(remote, data) case "cad": } } diff --git a/code/client/tunnel/vnc/link.go b/code/client/tunnel/vnc/link.go index 6e0cf97..16b19ee 100644 --- a/code/client/tunnel/vnc/link.go +++ b/code/client/tunnel/vnc/link.go @@ -165,6 +165,11 @@ func (link *Link) sendAll(img *image.RGBA) { } rect := image.Rect(x, y, x+width, y+height) next := img.SubImage(rect) + if link.quality == 100 { + link.remote.SendVNCImage(link.target, link.targetIdx, link.id, + screen, rect, network.VncImage_raw, next.(*image.RGBA).Pix) + continue + } buf.Reset() err := jpeg.Encode(&buf, next, &jpeg.Options{Quality: int(link.quality)}) if err == nil { @@ -184,6 +189,11 @@ func (link *Link) sendDiff(img *image.RGBA) { var buf bytes.Buffer for _, block := range blocks { next := img.SubImage(block) + if link.quality == 100 { + link.remote.SendVNCImage(link.target, link.targetIdx, link.id, + screen, block, network.VncImage_raw, next.(*image.RGBA).Pix) + continue + } buf.Reset() err := jpeg.Encode(&buf, next, &jpeg.Options{Quality: int(link.quality)}) if err == nil {