راهنما · کلید و زبان‌های کیبورد

Lang Switcher: حروف بزرگ، Caps Lock و نشانه‌ها

برنامه کلیدهای فشرده‌شده را به خاطر می‌سپارد، نه حروف را، و از Windows می‌پرسد همان کلید در زبان دیگر چه می‌دهد: Shift+/ در انگلیسی ? است و در فارسی ؟.

کلیدها، نه حروف

برنامه هر فشار کلید را به خاطر می‌سپارد: کدام کلید، با Shift، Caps Lock یا AltGr یا بدون آن‌ها، و با کدام زبان. وقتی کلید میان‌بر را می‌زنید، از Windows می‌پرسد همین کلید با همان Shift و Caps Lock در زبان دیگر چه می‌دهد. به همین دلیل نشانه‌ها هم همراه حروف درست منتقل می‌شوند: llk,k می‌شود «ممنون»، چون ویرگول در انگلیسی روی همان کلیدی است که در فارسی و را می‌دهد.

حروف بزرگ

فارسی حرف بزرگ ندارد، ولی Shift همچنان همراه کلید می‌رود. همان کلید که در انگلیسی S بزرگ می‌دهد، در فارسی با Shift ضمه می‌دهد: Sghl می‌شود «ُلام»، نه «سلام». پس اگر کلمه را با حرف بزرگ شروع کرده‌اید، نتیجه هم همین است. فشار دوم متن تایپ‌شده را حرف به حرف برمی‌گرداند، با همان حروف بزرگ.

Caps Lock

  • Caps Lock روشن را برنامه مثل Shift به حساب می‌آورد: کلمه همان می‌شود که اگر همان کلیدها را با همان Caps Lock در زبان دیگر می‌زدید. در فارسی Caps Lock روی حروف اثری ندارد: SGHL با Caps Lock روشن می‌شود «سلام» و اثممخ با Caps Lock روشن می‌شود HELLO.
  • Caps Lock اشتباه را برنامه اصلاح نمی‌کند: hELLO را به Hello تبدیل نمی‌کند. این مشکل دیگری است و ربطی به زبان کیبورد ندارد.
  • CapsLock به‌عنوان کلید میان‌بر. می‌توان آن را تعیین کرد؛ صفحه‌ی «کلید میان‌بر» درباره‌ی همین است. در این صورت تا وقتی برنامه کار می‌کند، حروف بزرگ را روشن نمی‌کند: برنامه کلید میان‌بر را برای خودش نگه می‌دارد.

رقم‌ها و نشانه‌ها

رقم‌ها در انگلیسی و در زبان Persian یکی هستند، ولی نشانه‌ها فرق دارند:

کلید انگلیسی فارسی
Shift+/ ? ؟
Shift+T T ،
Shift+Y Y ؛
Shift+K و Shift+L K و L « و »
, , و
; ; ک
` ` ÷
Shift+9 و Shift+0 ( و ) ) و (
  • نشانه‌ای که روی آن کلید در زبان دیگر نیست همان‌طور می‌ماند.
  • کلیدهای مرده (کلیدهای علامت در فرانسوی، اسپانیایی و زبان‌های مشابه) با حرف بعدی ترکیب می‌شوند، درست مثل Windows. می‌خواستید به فرانسوی être بنویسید، زبان انگلیسی بود و [etre شد؟ Pause آن را être می‌کند. برنامه ترکیب‌ها را از خود طرح‌بندی می‌گیرد. زبان Persian کلید مرده ندارد.
  • Alt راست در زبانی بدون AltGr، مثل انگلیسی، برای برنامه AltGr است، اگر همان کلید با AltGr در زبان دیگر شما حرفی بدهد. زبان Persian AltGr ندارد.
  • در کنسول کلاسیک کلمه‌ای با کلید مرده یا AltGr جایگزین نمی‌شود: صدای رد شدن می‌آید (بیشتر در «کنسول»).
  • نویسه‌ای که با Alt و رقم‌های بلوک عددی تایپ شده باشد وارد کلمه نمی‌شود: برنامه Alt همراه رقم را فرمان می‌داند و کلمه فراموش می‌شود.

فاصله

فاصله‌های بعد از کلمه همان‌طور منتقل می‌شوند: sghl می‌شود «سلام » و زبان کیبورد عوض می‌شود. حرف بعدی کلمه‌ی تازه‌ای را شروع می‌کند.

متن انتخاب‌شده

متن انتخاب‌شده فشار کلید ندارد، فقط حرف دارد؛ پس برنامه کلیدها را از روی حرف‌ها پیدا می‌کند، هر کلمه را از زبان خودش. در زبان‌هایی مثل فارسی و عربی که یک کلید می‌تواند چند حرف بدهد، از خود حرف‌ها همیشه معلوم نیست کدام کلیدها زده شده‌اند. کلمه‌ای را که همین الان در همان کادر تایپ کرده‌اید، برنامه با فشارهای واقعی کلید تبدیل می‌کند و بقیه‌ی متن را با آمار حروف زبانی که به آن تبدیل می‌کند. این آمار برای انگلیسی، فرانسوی، اسپانیایی، روسی، عربی، فارسی، اندونزیایی، هندی، تامیلی و سینهالی هست؛ در زبان‌های دیگر چنین کلمه‌ای به کلیدهای جدا تقسیم می‌شود.

درباره‌ی عددها: نشانه‌ی اعشار بلوک عددی در انگلیسی و در زبان Persian یکی است، .؛ پس «5.1» و «12.09» تغییر نمی‌کنند.

پرسش‌ها و مشکلاتدر GitHub Issues ↖ یا با ایمیل send.me@panda-pishet-kod.dev