Документація · Клавіша й розкладки
Lang Switcher: великі літери, Caps Lock і знаки
Програма запам’ятовує натиснуті клавіші, а не літери, і питає Windows, що та сама клавіша дає в іншій розкладці: Shift+2 — це @ в англійській і " в українській.
Клавіші, а не літери
Програма запам’ятовує кожне натискання: яка клавіша, чи були натиснуті Shift, Caps Lock, AltGr і в якій розкладці. Коли ви натискаєте гарячу клавішу, вона питає у Windows, що ця сама клавіша з тими самими Shift і Caps Lock дає в іншій розкладці. Тому разом із літерами правильно переходять і знаки: lzre. → «дякую», бо крапка в англійській розкладці стоїть на тій самій клавіші, що «ю» в українській.
Великі літери
Велика лишається великою: Ghbdsn → «Привіт», GHBDSN → «ПРИВІТ». Повторне натискання повертає набране літера в літеру, з тими самими великими.
Caps Lock
- Увімкнений
Caps Lockпрограма враховує так само, якShift: слово вийде таким, яким вийшло б, якби ви набрали ті самі клавіші в іншій розкладці з тим самимCaps Lock. В англійській розкладці він не чіпає знаків, а в українській на тих самих клавішах стоять літери:LZRE.→ «ДЯКУЮ». - Випадково увімкненого
Caps Lockпрограма не виправляє: «пРИВІТ» на «Привіт» вона не перетворює. Це інша біда, не розкладка. CapsLockяк гаряча клавіша. Її можна призначити, про це сторінка «Гаряча клавіша». Тоді, поки програма працює, великих літер вона не вмикає: гарячу клавішу програма лишає собі.
Цифри й знаки
Цифри в англійській та українській розкладках однакові, а знаки над ними з Shift різні:
| Клавіша | Англійська | Українська |
|---|---|---|
Shift+2 |
@ | " |
Shift+3 |
# | № |
Shift+4 |
$ | ; |
Shift+6 |
^ | : |
Shift+7 |
& | ? |
/ і Shift+/ |
/ і ? | . і , |
- Знак, якого в клавіші немає в іншій розкладці, лишається як був.
- Мертві клавіші (клавіші наголосів у французькій, іспанській і подібних розкладках) з’єднуються з наступною літерою так само, як це робить Windows. Хотіли набрати
êtreфранцузькою, а була англійська, і вийшло[etre?Pauseперетворить його наêtre, аê, набране у французькій, в англійській стане[e. З’єднання програма бере із самої розкладки. - Правий
Altу розкладці безAltGr, наприклад в англійській, програма вважає заAltGr, якщо та сама клавіша зAltGrдає літеру в іншій вашій розкладці. Наберітьmąka, як у польській (програмістів), але в англійській, іPauseвиправить слово цілком: правийAltзA— це літераą, а не команда. - У класичній консолі слово з мертвою клавішею чи
AltGrі далі не замінюється: чути відмову (докладніше — «Консоль»). - Знак, набраний через
Altі цифри на цифровому блоці, до слова не потрапляє:Altіз цифрою програма вважає командою, і слово забувається.
Пробіл
Пробіли після слова переходять як є: ghbdsn → «привіт », і розкладка перемикається. Наступна літера почне нове слово.
Виділений текст
Виділений текст не має натискань, лише літери, тому клавіші програма відновлює за літерами, кожне слово — зі своєї розкладки. В арабській і подібних розкладках, де одна клавіша може дати дві літери, за самими літерами не завжди видно, які клавіші натискали. Слово, яке ви щойно набрали в тому самому полі, програма перекодовує за справжніми натисканнями, а решту тексту — за статистикою літер мови, на яку перекодовує. Статистика є для англійської, французької, іспанської, російської, арабської, перської, індонезійської, гінді, тамільської та сингальської; для інших мов таке слово ділиться на окремі клавіші.
Великі літери лишаються великими. З числами два правила: кома між цифрами українського тексту стає крапкою («5,1» → «5.1») і навпаки, а дата, виділена в англійському тексті, під час переходу в українську змінює крапки на коми: «12.09» → «12,09».
Див. також
Запитання й проблемиу GitHub Issues ↗ або на пошту send.me@panda-pishet-kod.dev