-
Notifications
You must be signed in to change notification settings - Fork 56
Keyboard Shortcuts
palmoni5 edited this page Jul 17, 2026
·
1 revision
מערכת הקיצורים יושבת ב־lib/shortcuts/ ומאפשרת התאמה אישית מלאה דרך מסך ההגדרות.
keyboard_shortcuts.dart — עוטף את האפליקציה ורושם late key event handler גלובלי (FocusManager.instance.addLateKeyEventHandler), כך שהקיצורים פועלים גם כשדיאלוג מחזיק פוקוס. כללים ב־_handleKeyEvent:
-
בזמן עריכת טקסט (
_isEditing) — קיצורי תו בודד ללא modifier נחסמים (רק F1–F12 ו־Escape מותרים). - כשיש overlay פתוח — קיצורי ניווט סוגרים אותו קודם; קיצורי טאבים פעילים רק במסכי עיון/חיפוש.
-
Ctrl+Tab/Ctrl+Shift+Tab— מעבר טאבים;Ctrl+1..9— קפיצה לטאב לפי מספר (9 = אחרון). אלה נבדקים ישירות (ולא דרךmatchesShortcut) כדי שלא יהפכו ל־Cmd ב־Mac. - F11 — מסך מלא; Escape — סגירה הקשרית.
shortcut_validator.dart מגדיר:
-
defaultShortcuts— ברירות המחדל, למשל:ctrl+lספרייה,ctrl+oאיתור מקורות,ctrl+fחיפוש בספר,ctrl+shift+fחיפוש חדש,ctrl+wסגירת טאב,ctrl+kשולחנות עבודה. - שמות עבריים לכל קיצור (
_baseShortcutNames). -
קיצורים אופציונליים ללא ברירת מחדל — פתיחת כלים (מנותבים דרך deep link
otzaria://open/tool/<id>), פתיחת תוספים (נרשמים דינמית), העתקת קישורים. -
זיהוי קונפליקטים —
checkConflicts/hasConflict, עם קבוצות תאימות (_compatibleShortcutGroups) שמותר להן לחלוק קיצור. - aliases למפתחות ישנים (
canonicalSettingKey).
-
macOS: הקיצורים נשמרים קנונית כ־
ctrl+X, אבל ב־Mac ה־tokenctrlמתורגם ל־Command (⌘) — גם בבדיקת ההתאמה וגם בתצוגה (⌘/⇧/⌥). -
פריסת מקלדת עברית: אותיות a–z נבדקות לפי
physicalKey— הקיצור עובד גם כשהמקלדת במצב עברית. -
activatorFromShortcutממיר מחרוזת קיצור ל־SingleActivator.
-
key_map.dart— KeyMap: מיפוי דו־כיווני שמות מקשים ↔LogicalKeyboardKey(מקור אמת יחיד). -
view/custom_shortcut_dialog.dart— דיאלוג הקלטת קיצור מותאם אישית. -
view/shortcut_dropdown_tile.dart— שורת הגדרת קיצור במסך ההגדרות.
קיצורי ניווט קטע/דף לא מדברים ישירות עם המסך — הם כותבים ל־ValueNotifierים שיושבים על הטאב (navPreviousSegmentNotifier וכו' ב־TextBookTab), והמסך מאזין להם. כך הקיצור עובד מכל מקום בלי צימוד.
📖 מדריך למשתמש
- התחלת העבודה
- הספרייה
- קריאת ספר
- קריאת PDF
- חיפוש
- איתור מקורות
- טאבים ושולחנות
- סימניות והערות
- ספרים אישיים
- הגדרות
- גיבוי ושחזור
- עדכונים
- תוספים
- כלים
- קישורי עומק
🛠️ למפתחים — יסודות
נתונים וספרייה
קריאה
חיפוש
אישי ומערכת
עיצוב ו־UI