اختصارات لوحة المفاتيح
useKeymap، والتسلسلات، وتراكب المساعدة ?، وتلميحات المفاتيح، ولوحة الأوامر.
عرّف الاختصارات مرة واحدة باستخدام useKeymap. يوجّهها Text.js، ويسردها في طبقة ?، ويعرضها في التذييل ويتيح البحث عنها في لوحة الأوامر.
useKeymap( { "j, down": { label: "Next", run: next, hint: true }, "k, up": { label: "Previous", run: previous }, "g g": { label: "Go to top", run: top }, "ctrl+s": { label: "Save", run: save, hint: true }, }, { group: "Navigation" },);return ( <> <StatusBar right={<Text color="subtle">main</Text>}> <KeyHints /> </StatusBar> <CommandPalette commands={commands} /> <KeyHelp /> </>);useKeymap
| الصيغة | المعنى |
|---|---|
ctrl+k | مفاتيح التعديل: ctrl alt shift meta mod |
mod+k | ⌘ أو Ctrl، أيهما مضغوط |
j, down | بدائل |
g g | تسلسل (1 ثانية بين المفاتيح) |
G | الحرف الكبير يعني استخدام Shift |
? | تطابق المفاتيح القابلة للطباعة الحرف |
تكون القيم معالجًا أو ربطًا يتضمن label و group و hint و disabled و noRepeat. تعمل الروابط التي لا تحمل تسميات، لكنها لا تظهر في طبقة المساعدة.
يعيد useKeymapBindings() الروابط ذات التسميات النشطة حاليًا، لاستخدامها في تذييلات وقوائم خاصة بك.
تعمل خرائط المفاتيح عبر useInput، لذا تنطبق القواعد المعتادة: تكون الأولوية لحقول الإدخال التي عليها التركيز، ويوقف المفتاح المطابق انتشار الحدث، ويعطّل <Modal> المفتوح الروابط خارجه. مرّر { priority, global, isActive } لتغيير ذلك.
<KeyHelp>
اضغط ? لعرض كل الروابط ذات التسميات ضمن مجموعات. تسرد الطبقة الروابط النشطة في الموضع الذي فُتحت فيه.
<KeyHelp keys="?" title="Keyboard shortcuts" /><KeyHints> و <StatusBar>
يعرض <KeyHints /> الروابط المعلّمة بالقيمة hint: true، أو عناصر items المحددة صراحة. يمثّل <StatusBar> تذييلًا من صف واحد مع موضع right.
<StatusBar right={<Text color="subtle">▼ iad1</Text>}> <KeyHints items={[{ keys: "ctrl+k", label: "commands" }]} /></StatusBar>يعرض <Kbd>mod+k</Kbd> مفتاحًا واحدًا. تعطي formatKeys("ctrl+shift+p") النتيجة ⌃⇧P على macOS و ctrl+shift+P على الأنظمة الأخرى.
<CommandPalette>
يفتح Ctrl+K (أو Ctrl+P) مشغّلًا ببحث تقريبي يشمل أوامرك وكل الروابط ذات التسميات، مع تمييز الأحرف المطابقة.
<CommandPalette commands={[{ id: "theme", label: "Toggle theme", group: "View", run: toggleTheme }]}/>| Prop | الوصف |
|---|---|
commands | { id, label, group?, keys?, keywords?, run }[] |
keys | اختصار الفتح (الافتراضي ctrl+k, ctrl+p؛ والقيمة null للتعطيل) |
includeKeymap | سرد روابط خريطة المفاتيح (الافتراضي true) |
open / onOpenChange | تحكّم خارجي |
تُغلق اللوحة قبل تنفيذ الأمر، لذا يمكن للأوامر فتح نوافذ حوار خاصة بها. تُصدّر fuzzyMatch و fuzzyFilter لاستخدامهما في قوائمك الخاصة.