Hotkey
Klavye kısayollarını ayrıştırır, etiketler, duyurur ve eşleştirir; Apple platformlarında ⌘, diğer her yerde Ctrl kullanır.
- Apple
- ⇧⌘K
- Windows and Linux
- Shift+Ctrl+K
- Screen readers
- Shift Command K
- parseHotkey
- [["shift","mod","k"]]
Click outside the field and press Shift Command Kmatched 0×
pnpm dlx shadcn@latest add https://hextaui.com/r/hotkey.jsonYardımcıyı (utility) ve bağımlı olduğu her şeyi projenize ekler.
Aşağıdaki kodu kopyalayıp projenize yapıştırın.
lib/hotkey.ts İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
Her kısayolu bir dize olarak bir kez yazın ve aynı dizeyi göstermek, duyurmak ve eşleştirmek için kullanın. mod, Apple platformlarında ⌘, diğer her yerde Ctrl anlamına gelir. Neredeyse her zaman istediğiniz budur, çünkü Mac'te Ctrl+K ve Windows'ta ⌘K ikisi de yanlış hissettirir.
Tuşlar + ile ayrılır ve büyük/küçük harfe duyarsızdır. Adlandırılmış tuşlar enter, tab, pageup veya f5 gibi küçük harfli KeyboardEvent.key değerini kullanır. Boşluk tuşu için space kullanın.
parseHotkey her tuş kombinasyonu için bir dizi döndürür; takma adlar çözümlenir ve değiştiriciler Apple'ın sırasına göre dizilir: Control, Option, Shift, Command. Ondan oluşturulan her etiket, insanların görmeyi beklediği sırada okunur.
Apple platformları menülerde gösterildiği gibi ayırıcısız semboller kullanır. Windows ve Linux + ile birleştirilmiş kelimeler kullanır. Semboller sesli okunmaya uygun değildir; bu yüzden spokenKey bunun yerine ekran okuyucunun duyurması gereken adı verir. <Kbd keys> sembolü gösterir ve söylenen adı görsel olarak gizli metne koyar.
useIsApple() platformu seçer. Sunucuda ve hydration sırasında true, sonra gerçek yanıtı döndürür; böylece bir Windows ziyaretçisi hydration hatası almak yerine Ctrl'den önce kısa süre ⌘ görür.
Kısayol dinleyicisi
matchesHotkey bir keydown olayını bir kısayol tuşuna göre denetler. Değiştiriciler tam eşleşmelidir; bu yüzden mod+b, mod+shift+b için tetiklenmez.
- Harfler ve rakamlar fiziksel tuşa göre de eşleşir; bu yüzden Option+K'nın
˚yazdığı bir Mac'tealt+kçalışır. - Shift'li harfler eşleşir:
shift+k, Shift'in ürettiğiKile eşleşir. - Tek bir tuş kombinasyonunu eşleştirir.
g igibi diziler için önceki kombinasyonu kendiniz izleyin. - Odak bir metin alanındayken değiştirici tuşu olmayan kısayolları atlayın; böylece bir harf yazmak asla bir komutu tetiklemez.
| Export | Açıklama |
|---|---|
parseHotkey(hotkey) | string[][]: her tuş kombinasyonu için bir dizi; takma adlar çözümlenmiş ve değiştiriciler sıralanmış. |
formatHotkey(hotkey, apple) | ⇧⌘K veya Shift+Ctrl+K gibi tek bir tuş kombinasyonunun etiketi. |
keyLabel(key, apple) | Bir tuş adının görünür etiketi. |
spokenKey(key, apple) | Bir ekran okuyucunun tek bir tuş için duyurması gereken ad. |
matchesHotkey(event, hotkey) | Bir KeyboardEvent'in, tam değiştiricilerle tek bir tuş kombinasyonuyla eşleşip eşleşmediği. |
isApplePlatform() | navigator.platform okur. Sunucuda true. |
useIsApple() | isApplePlatform, hydration açısından güvenli bir hook olarak. |
Kbd ve Command.
- CommandSatır içi ya da ⌘K paleti olarak eylemlerin aranabilir listesi; sayfalar, kısayollar ve vurgulanmış eşleşmeler içerir.
- KbdKısayollar için, her platformda doğru simgeleri gösteren, düzgün sesli okunan ve gerçek tuşlar gibi basılan tuş başlıkları.
- SidebarSimgelere ya da ekran dışına daralan, header'ınızın altında sabit kalan ve telefonlarda kaydırılabilir bir sayfaya dönüşen bir uygulama kenar çubuğu.