You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在KWin脚本中使用sendKeyEvent向窗口发送按键事件?

KWin脚本sendKeyEvent参数说明与代码补全

sendKeyEvent是KWin窗口对象(Client类)的可用方法,可用于向目标窗口模拟发送键盘事件,函数参数结构如下:

  • key:Qt键盘枚举值,对应具体按键,比如Qt.Key_A、Qt.Key_F5、Qt.Key_Return
  • modifiers:修饰键组合,使用位或操作拼接,无修饰键时传0,可选值包括Qt.ControlModifier(Ctrl)、Qt.ShiftModifier(Shift)、Qt.AltModifier(Alt)等
  • type:事件类型,可选Qt.KeyPress(按键按下)、Qt.KeyRelease(按键释放),也可以用Qt.KeyPress | Qt.KeyRelease表示完整的按下+释放动作

补全后的代码示例(向所有窗口发送Ctrl+A的完整按键事件):

const clients = workspace.windowList();

for (let i = 0; i < clients.length; i++) {
  // 发送Ctrl+A的按下+释放事件
  clients[i].sendKeyEvent(Qt.Key_A, Qt.ControlModifier, Qt.KeyPress | Qt.KeyRelease);
  
  // 可选示例:单独发送F5按下事件
  // clients[i].sendKeyEvent(Qt.Key_F5, 0, Qt.KeyPress);
}

注意:KWin脚本默认可以直接使用Qt命名空间下的键盘常量,无需额外引入。

内容的提问来源于stack exchange,提问作者Syco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 03:35:59