主题
UI 热键 API
UI 热键只在 BUI 界面打开时 生效,且由客户端脚本注册。
1. 注册 / 取消
js
const id = hotkeys.register({
pattern: "CTRL, K",
trigger: "press",
consume: true,
priority: 10,
cooldownMs: 300
}, (payload) => {
console.log(payload)
})
hotkeys.unregister(id)
hotkeys.clear()2. 选项字段
pattern/keys:热键模式字符串(必填)trigger:press/release/holdconsume:命中后是否阻止继续传递(默认 true)allowWhenTyping:输入框聚焦时是否触发(默认 false)priority:优先级(数值越大越先触发)cooldownMs/cooldown:冷却毫秒sequenceIntervalMs/sequenceInterval:连招最大间隔holdMs/hold:按住触发的最短时间(毫秒)id:自定义 ID(可选)
3. pattern 语法
- 连招:用逗号分隔
"W, W"
- 组合键:用
+表示同一时间按下"CTRL+K"
- 按住:在某一步后面加
@毫秒"F@300"(按住 300ms)
4. 回调 payload
js
{
id: "xxx",
context: "ui",
trigger: "press|release|hold",
time: 1700000000000,
source: "UI",
pattern: "CTRL, K"
}5. 常见坑
- UI 热键与服务端热键隔离,UI 打开时 服务端热键不会触发。
allowWhenTyping=false时,输入框聚焦不会触发。