feat: 新增键盘快捷键设置
Sync source to CNB / Sync Git ref (push) Skipped

- 设置页新增「键盘快捷键」分类,可自定义快捷键绑定
- 支持快速滚动(Home/End/PageUp/PageDown)与导航跳转(Ctrl/Cmd+数字)
- 快捷键绑定与开关按动作独立持久化,默认关闭
- 新增 ui 包 keybinding 组件与工具(KeybindingModal/KeybindingChips 等)
This commit is contained in:
AxTps committed 2026-10-11 11:14:46 +08:00
1 parent 47bdb1e79c
commit 2e92887eb2
24 files changed
+2432 -5

No files matched your search

@@ -0,0 +1,23 @@
<template>
<span class="inline-flex flex-wrap items-center gap-1">
<kbd
v-for="(part, index) in parts"
:key="`${index}-${part}`"
aria-hidden="true"
class="rounded-md border border-solid border-surface-4 bg-surface-3 px-2 py-0.5 font-mono text-sm text-[var(--color-text-primary)]"
>
{{ part }}
</kbd>
<span class="sr-only">{{ text }}</span>
</span>
</template>
<script setup lang="ts">
import { useBindingParts, useBindingText } from '../../composables/use-keybinding-labels'
import type { KeyBinding } from '../../utils/keybinding'
const props = defineProps<{ binding: KeyBinding }>()
const parts = useBindingParts(() => props.binding)
const text = useBindingText(() => props.binding)
</script>
+1
View File
@@ -118,3 +118,4 @@ export { default as TimeFramePicker } from './TimeFramePicker.vue'
export { default as Timeline } from './Timeline.vue'
export { default as Toggle } from './Toggle.vue'
export { default as UnsavedChangesPopup } from './UnsavedChangesPopup.vue'
export { default as KeybindingChips } from './KeybindingChips.vue'