למה
להוסיף מקשי
קיצור לעברית
ולאנגלית? יש
כבר מקש Alt+Shift
שמאפשר
להחליף את
השפה. מה
הבעיה עם זה?
אתה כותב
מסמך בעברית,
מבחין בטעות
כתיב, מתקן
אותה, חוזר
למקום בו היית
וממשיך
להקליד.
אם התיקון
היה באנגלית,
לפני שאתה
ממשיך בהקלדה,
אתה נדרש
להפוך שפה.
למה? כי
במיקרוסופט
הם חשבו שיכול
להיות שעכשיו
אהת מבצע סדרת
תיקונים
באנגלית, והם
לא רוצים להפוך
עבורך את
השפה, אז עדיף
שאתה הוא זה
שתחליט מתי
להפוך שפה. די
בצדק, כי אם
המחשב הופך לך
את השפה
בניגוד
לרצונך, זה
יכול מאוד
להרגיז אותך.
אבל, למרות
שהם צודקים,
אני לא מצדיק
אותם, כי הם לא
חשבו על
התרחישים: כי
אם הצבת את
סמן במקום
אחר, קרוב
לודאי שרצית
להמשיך
להקליד או
לתקן בשפה
במקום עליו
הצבעת זה עתה.
המקרים בהם
אתה מבצע
באופן סדרתי
הקלדה של קטע
טקסט אנגלי
בתוך טקסט
קיים בעברית
הם נדירים,
ואינם
מצדיקים
הכבדה על המשתמש
בעבודה רגילה.
אז מה
בעצם הבעיה?
הבעיה היא
שלהיפוך השפה
אתה נדרש
לבדוק באיזו
שפה המחשב
נמצא, ולהחליט
לפי זה אם
להפוך או לא.
במקרים רבים,
מכיוון שאתה שקוע
ומרוכז בטקסט,
אתה מתרשל
בבדיקת השפה,
וממשיך
בכתיבה בשפה הלא
נכונה, ואז זה
מרגיז, כי
צריך לחזור
לאחור, לבדוק
שוב את השפה
ולשנות אותה,
ולפעמים אתה
לוחץ לחיצה
כפולה, ואז
השפה מתחלפת
חזרה לאנגלית,
ולפעמים אתה
לוחץ לחיצה
רכה מדי, ואז
השפה נשארת
אנגלית,
ולמעשה
מיקרוסופט
מחייבת אותך להיות
עירני לשפה
הפעילה,
ומונעת ממך להתמקד
בטקסט אותו
אתה עורך. לא
נורא, אבל מבזבז
את זמנך
ומוציא לך את
החשק להמשיך.
"רשלנות
לשונית" היא
תוצאה של
הצורך לבדוק את
מצב השפה לפני
החלטה על
פעולה. הפתרון
המתבקש הוא על
ידי הוספת
מקשי קיצור
יעודיים,
המאפשרים
לקבוע את השפה
מבלי לחייב
אותך לבדוק
מהי השפה
הפעילה. מקש
קיצור אחד
לעברית, מקש קיצור
שני לאנגלית.
אתה יודע שאתה
רוצה לכתוב עברית,
אז במקום
לבדוק מהי
השפה הפעילה,
אתה פשוט לוחץ
על מקש הקיצור
לעברית,
וממשיך בהקלדה.
ניתן ליבא שני מקרואים מקובץ Visual Basic באתר זה (Bidi.bas), מה עושים? פותחים מסמך MS-Word, פותחים את ה-Macro Editor בעזרת תפריט Tools/Macro ומייבאים את הקובץ בתפריט File/Import File
שני
מקרואים (macros)
פשוטים עושים
את תהליך
החלפת השפה כך
שיהיה בלתי
מותנה במצב
השפה הפעילה:
Sub LocalLtr()
Application.Keyboard
(1033)
End Sub
Sub LocalRtl()
Application.Keyboard (1037)
End Sub
ניתן ליבא
את המקרואים מקובץ
Visual Basic
באתר זה (Bidi.bas),
או להוסיף
אותם ידנית,
בעזרת עורך
המקרו בתפריט
"כלים" (Tools).
בשלב שני,
משייכים מקשי
קיצור למקרואים
בעזרת קופסת
הדיאלוג Keyboard שנפתחת
עם הלחיצה על
המקש בתחתית
קופסת
הדיאלוג Tools/Customize.
באופן
אידיאלי, היה
רצוי לבחור
מקשי קיצור לכיווניות
הכוללים את
מקשי החצים,
או Shift ימני
ושמאלי. הבעיה
היא שאופיס
משתמש בהם
באופן
אקסקלוסיבי,
ולכן יש צורך
בבחירת מקשים
חליפיים.
המקשים בהם
אני בחרתי הם
הצירוף של Ctrl עם < ו-
> (בלי ה-Shift), שגם הם
מצביעים על
כיוון.
Visual
Basic כולל
פונקציות
שמאפשרות
לזהות לחיצה
על מקשי קיצור
ולנתב את
הטיפול בהם
למקשי קיצור
אחרים. בעזרת
פונקציות אלו
ניתן אולי לגרום
להפעלת
המקרואים
באמצעות מקשי
קיצור שמשתמשים
במקשי החצים,
ולתרום בכך
לשיפור האינטואיטיביות
של ההפעלה.
משתמשי Visual Basic מוזמנים
בזאת לתרום את
חלקם ולהציג
פתרונות. הפתרונות
יוצגו עם
קרדיט
למפתחים
במדור זה של
האתר.
אין! גם כשלוקחים בחשבון את עלות הפתרון בתכנות למיקרוסופט, פתרון זה עדיף על הפתרון שהם בחרו. כי הפתרון של מיקרוסופט כולל סיבוכיות מיותרת, של תגובה למקש שהיא תלויה במצב. גם הם היקצו שני מקשי קיצור להחלפת שפה: Alt+Left-Shift ו-Alt+Right-Shift, אבל במקום להקצות אותם מקש-מקש לשפתו, הם קבעו שלשני הקיצורים הללו תהיה פונקציה זהה, המותנית במצב השפה הפעילה. מה שמעלה אצלי מחשבות נוגות לגבי הדרך בה מתקבלות במיקרוסופט החלטות בנושא שימושיות.
מספר גירסאות של MS-Word כוללות אופציה להתאמה אוטומטית של המקלדת לשפה בנקודת ההצבעה. זאת, על ידי בחירה באופציה Auto-keyboard switching שנמצאת במסך האופציות (עוד על הסמן המסתגל). משום מה, אופציה זו אינה נמצאת בדף Complex Scripts, שכולל אופציות אחרות בנושא שפות דו-כיווניות, אלא בדף ,Edit ולכן לא כל כך שמים לב אליה. כאשר שינוי השפה נעשה אוטומטית על פי הקונטקסט, הצורך לשנות את השפה ידנית יורד עשרות מונים, והשיטה של מיקרוסופט, ככל שהיא מעצבנת, כבר לא כל כך מציקה.
טוב לדעת שמישהו במיקרוסופט חשב על הבעיה והציע פתרון, אבל חבל שהוא לא הצליח לשכנע את מקבלי ההחלטות שם שהאופציה הזו תהיה ברירת המחדל, ולכן אנחנו נאלצים לחפש בעצמנו את האופציה שתקל את חיינו.
בנוסף, מיקרוסופט מאפשרת לנו להחליף את מקשי הקיצור להחלפת כיוון. בהגדרת Regional Setting מתוך ה- Control Panel, ניתן לשנות את ברירות המחדל כמו בדוגמא הבאה:
עבור Vista
|
עבור XP
|
לצורך זה, מיקרוסופט מגבילה אותנו לשימוש במקשי קיצור עם ספרות בלבד, וזה קצת חבל. אבל, מה שחבל עוד יותר זה שמישהו במיקרוסופט חשב על הבעיה ועל פתרונה, ולא הצליח לשכנע את מקבלי ההחלטות להציב את האופציות הללו כערכי ברירת מחדל.
האם הלחיצה השניה על המקש Caps Lock מחזירה אותך למצב הרצוי? ואם לא, אז מה?
בתיבות הדיאלוג לעיל ניתן להבחין שמיקרוסופט מאפשרת למשתמש להגדיר את מקש ה-Caps Lock כך שהוא יהיה חד משמעי, כלומר, יעביר אך ורק לאותיות לעז גדולות, כאשר החזרה לאותיות הרגילות מתבצעת על ידי לחיצה על מקש ה-Shift. אופציה זו היא טבעית לשימוש, כי משמעות הלחיצה על מקש ה-Shift היא מעבר זמני למצב אותיות גדולות, ובהרפיית המקש חוזרים לאותיות רגילות. גם כאן, נראה שמישהו במיקרוסופט חשב על הבעיה והציע פתרון, וחבל רק שהוא לא הצליח לשכנע שהערכים לעיל צריכים להיות ערכי ברירת מחדל.