diff --git a/orion-visor-modules/orion-visor-module-terminal/orion-visor-module-terminal-service/src/main/java/org/dromara/visor/module/terminal/handler/terminal/model/config/TerminalSessionVncConfig.java b/orion-visor-modules/orion-visor-module-terminal/orion-visor-module-terminal-service/src/main/java/org/dromara/visor/module/terminal/handler/terminal/model/config/TerminalSessionVncConfig.java
index 315ee928..667922f7 100644
--- a/orion-visor-modules/orion-visor-module-terminal/orion-visor-module-terminal-service/src/main/java/org/dromara/visor/module/terminal/handler/terminal/model/config/TerminalSessionVncConfig.java
+++ b/orion-visor-modules/orion-visor-module-terminal/orion-visor-module-terminal-service/src/main/java/org/dromara/visor/module/terminal/handler/terminal/model/config/TerminalSessionVncConfig.java
@@ -47,9 +47,6 @@ public class TerminalSessionVncConfig extends VncConnectConfig implements ITermi
@Schema(description = "logId")
private Long logId;
- @Schema(description = "录屏文件路径")
- private String recordPath;
-
@Schema(description = "宽")
private Integer width;
diff --git a/orion-visor-ui/src/views/terminal/components/view/guacd/actions/trigger-key-action.vue b/orion-visor-ui/src/views/terminal/components/view/guacd/actions/trigger-key-action.vue
new file mode 100644
index 00000000..a7d1f2b8
--- /dev/null
+++ b/orion-visor-ui/src/views/terminal/components/view/guacd/actions/trigger-key-action.vue
@@ -0,0 +1,44 @@
+
+
+ setChecked(item.key, checked)">
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
diff --git a/orion-visor-ui/src/views/terminal/interfaces/handler.ts b/orion-visor-ui/src/views/terminal/interfaces/handler.ts
index 428ba0e0..26452f90 100644
--- a/orion-visor-ui/src/views/terminal/interfaces/handler.ts
+++ b/orion-visor-ui/src/views/terminal/interfaces/handler.ts
@@ -86,6 +86,7 @@ export interface IGuacdSessionDisplayHandler {
displayDpi: number;
autoFit: boolean;
localCursor: boolean;
+ keyboardDownKeys: number[];
// 初始化
init: () => void;
diff --git a/orion-visor-ui/src/views/terminal/service/handler/guacd-session-display-handler.ts b/orion-visor-ui/src/views/terminal/service/handler/guacd-session-display-handler.ts
index bcdefb81..9d19f169 100644
--- a/orion-visor-ui/src/views/terminal/service/handler/guacd-session-display-handler.ts
+++ b/orion-visor-ui/src/views/terminal/service/handler/guacd-session-display-handler.ts
@@ -12,6 +12,7 @@ export default class GuacdSessionDisplayHandler implements IGuacdSessionDisplayH
public displayDpi: number;
public autoFit: boolean;
public localCursor: boolean;
+ public keyboardDownKeys: Array;
private display?: Guacamole.Display;
private sink?: Guacamole.InputSink;
@@ -28,6 +29,7 @@ export default class GuacdSessionDisplayHandler implements IGuacdSessionDisplayH
this.displayDpi = 96;
this.autoFit = true;
this.localCursor = true;
+ this.keyboardDownKeys = [];
this.focusSink = useDebounceFn(() => this.sink?.focus(), 300).bind(this);
}
@@ -187,6 +189,12 @@ export default class GuacdSessionDisplayHandler implements IGuacdSessionDisplayH
return;
}
this.session.client.sendKeyEvent(0, key);
+ // 触发长按键
+ if (this.keyboardDownKeys) {
+ this.keyboardDownKeys.forEach(key => {
+ this.session.client.sendKeyEvent(0, key);
+ });
+ }
}
// 键盘按下事件
@@ -195,6 +203,12 @@ export default class GuacdSessionDisplayHandler implements IGuacdSessionDisplayH
if (!this.session.isWriteable()) {
return;
}
+ // 触发长按键
+ if (this.keyboardDownKeys) {
+ this.keyboardDownKeys.forEach(key => {
+ this.session.client.sendKeyEvent(1, key);
+ });
+ }
this.session.client.sendKeyEvent(1, key);
// // 处理退格
// if (key === 65288) {