MujicaUI

Settings & Account · #465

ShortcutRecorder 浅色主题渲染快照
浅色 · 渲染快照
ShortcutRecorder 深色主题渲染快照
深色 · 渲染快照

465 ShortcutRecorder

快捷键录制。

用途

点击后录制下一次按下的组合键;与已占用的快捷键冲突时提示并保留原值;按平台显示修饰键。

最小示例

palette := account.Shortcut{Mods: ui.Cmd | ui.Shift, Key: ui.KeyP}
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	account.ShortcutRecorder(c, &palette, account.ShortcutRecorderOptions{
		Label: "Command palette",
		Taken: []account.ShortcutBinding{{Action: "Save", Shortcut: account.Shortcut{Mods: ui.Cmd, Key: ui.KeyS}}},
	})
}
ui.Render(view, 400, 300, 1)

参数

字段类型默认值含义
value*Shortcut必填Mods 与 Key;零值表示未设置。
Labelstring必填动作名称。
Taken[]ShortcutBindingnil已占用的快捷键。
Disabledboolfalse禁用。

状态

显示、录制中、冲突提示、缺少修饰键提示、禁用。

事件

ChoiceResult.Changed() 在录到新快捷键时为 true。

键盘操作

Enter/Space 开始录制;Escape 取消;Tab 离开。字母、数字等须带 Ctrl、Alt 或 Command,F1–F12 可单独使用。

限制

  • 系统或应用菜单先拦截的组合键(如 Cmd+Q)无法录制。