Альтернативные клавиши переключения языка

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Привычный способ переключать раскладку клавиатуры не оптимален. Нужно помнить, какая у тебя раскладка сейчас, и затем подумать, нажать или не нажать комбинацию. Звучит смешно, когда описываешь словами. Но эту операцию мы делаем тысячи раз в день, и самая крохотная её оптимизация ощутимо прибавляет комфорт.

Гораздо удобнее, когда есть разные клавиши «Переключить на язык такой‑то». Если этот язык уже выбран — то просто ничего не происходит. Весь смысл в том, что не нужно думать: собираешься писать на языке — нажал его кнопку. Перешёл в другое окно — автоматом нажал кнопку для желаемого языка. Отвлёкся — снова нажал. Для мозга нажать на автомате лишнюю кнопку в сто раз проще, чем вспоминать, какая там раскладка стоит сейчас.

Как только пальцы привыкнут, то явление «начал писать не на том языке» уйдёт из вашей жизни на уровне концепции. Особенно рекомендую тем, кто смотрит на клавиатуру при печати.

В Linux эти настройки доступны «из коробки», по крайней мере там, где не уничтожили окно настройки клавиш иксов. В Винтусе же «из коробки» тоже можно это наладить, но только на комбинацию Ctrl + Alt + цифра. Которая, кстати, самая удобная, когда у вас в ходу 5–6 равно используемых раскладок. Но не две.

Поэтому предлагаю создать хоткеи вручную, воспользовавшись бесплатной программой AutoHotKey. Ещё бывает, делают те же вещи через PowerToys и PuntoSwitcher, но это всё большие комплексы с кучей всего, а я предлагаю компактное решение. После установки AutoHotKey (версии 2) не надо его запускать, а нужно создать текстовый файл с инструкциями и расширением .ahk

#Requires AutoHotkey v2.0 64-bit
#Warn  ; Enable warnings to assist with detecting common errors.

CapsLock::SetInputLang(0x0409) ; English (USA)

+CapsLock::SetInputLang(0x0419) ; Russian

SetInputLang(TargetLang)
{   
    PostMessage 0x50, 0, TargetLang, , "A"
}

Эти инструкции означают: Capslock переключает всегда на английский, Shift+Capslock на русский. Если хотите другие комбинации, смотрите здесь. Когда сохраните файл, его должно быть возможно запустить правой кнопкой → Run Script. Он будет сидеть в трее, перехватывать нажатия капслока и менять язык.

Проверяйте. Если всё работает и всё понравилось, скрипт можно добавить в автозагрузку. Для этого открывайте или проводник, или Win+R, в строке адреса набирайте shell:startup. Откроется папка. Туда нужно поместить ярлык на скрипт.

Одна проблема — скрипт не может перехватывать кнопки в особых окнах, таких как окно UAC или то, что вылезает по нажатию Win+R. Там, если нужно, язык придётся переключать старым добрым Win+Пробел, который работает везде и всегда. Это, кстати, на заметку тем, кто часто ходит по чужим компьютерам: Alt+Shift и Ctrl+Shift опциональны, а вот Win+Пробел без бубна не отключишь.

P. S. Ещё один хороший скриптик всем любителям понагибать: когда на экране полноэкранное приложение, кнопка Win заменяется на Enter.

#Requires AutoHotkey v2.0 64-bit

isFullScreen()
{
    WinGetPos , , &W, &H, "A" ; "A" is a codename for current window
    return (W H = A_ScreenWidth A_ScreenHeight)
}

#HotIf isFullScreen()
LWin::Return
#HotIf

Источник: https://habr.com/ru/articles/783606/


Интересные статьи

Интересные статьи

What’s up guys?Для того, чтобы изучать какой-либо ЯП, нужно знать, зачем он используется, а для этого необходимо знать его историю.В этой статье я рассказал краткую историю одного из самых популярных ...
Обработка естественного языка (NLP) представляет собой важную область исследований, объединяющую лингвистику, компьютерные науки и искусственный интеллект. Она посвящена разработке методов и инструмен...
Уже много времени прошло с момента публикации наших последних языковых моделей ruT5, ruRoBERTa, ruGPT-3. За это время много что изменилось в NLP. Наши модели легли в основу множества русскоязычных NLP...
Я вынуждена признаться: последние 8 лет я избегаю Docker. И дело тут не в непонимании пользы контейнеров. Мой первый опыт использования Docker оказался очень плохим. Настолько плохим, что убедил мен...
Интересный небольшой эксперимент по использованию Cи в качестве цели компиляции для получения портативности программы, ее оптимизации и функциональной совместимости. В ходе эксперимента мы также нап...