Документація · Клавіша й розкладки

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