Переключение языка на caps lock windows 10

Предлагаемый мной способ не является чем-то уникальным и/или неизвестным. В любой из двух поисковых системы вы легко найдёте множество заметок о том, как настрои...

Предлагаемый мной способ не является чем-то уникальным и/или неизвестным. В любой из двух поисковых системы вы легко найдёте множество заметок о том, как настроить в Windows переключение языка ввода с помощью любой кнопки клавиатуры, прямо как в Linux, только чуть сложнее и с перезагрузкой. Однако, я так и не нашёл (тут можно меня поправить и предложить в комментариях ссылку) готовой инструкции, включающей в себя и такой немаловажный пункт, как спасение буквы Ё, а равно и обратного апострофа с тильдой. Таковую инструкцию я вам и предлагаю.

Суть проблемы

ОС Windows 7 предоставляет пользователю долгожданную возможность переключать языки ввода по обратному апострофу:

Hot keys for input languages.png

Казалось бы, удобно, но нет. Лично я вижу следующие недостатки:

  1. маленькая клавиша
  2. на домашней Linux-машине всё-таки CapsLock настроен
  3. пропала буква Ё
  4. пропала тильда и обратный апостроф

Для тех, кто как и я, обречён ходить на develop/production сервера с использованием PuTTY, потеря тильды и обратного апострофа весьма чувствительна. Я не выдержал и месяца, хотя, казалось бы, как легко запомнить Alt+126 и Alt+96. Надо что-то делать!

Меняем скан-коды

Решение для переключения раскладки по CapsLock — это переопределение скан-кодов через реестр. Есть множество описаний как это сделать. Я могу предложить прочитать одно из них по ссылке: www.howtogeek.com.

Готовый результат выглядит вот так (файл SwitchLangByCaps.reg):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,04,00,00,00,29,00,3a,00,3a,00,46,00,56,00,29,00,00,00,00,00

Как можно видеть, в реестре прописывается одно или несколько правил подмены вида:

<что выдавать, если><пришёл такой сканкод><что выдавать, если><пришёл такой сканкод>...

Так что нам надо распланировать алгоритм перестановки. Первая перестановка очевидна — по нажатию CapsLock (0x3a) эмулировать нажатие на Ё (0x29). Вторая тоже примерно понятна — для того, чтобы всё-таки оставить функциональность капса, требуется переназначить на него какую-нибудь ненужную клавишу. В моём примере этой клавишей оказался ScrolLock (0x46). А вот третья перестановка отвечает за спасение буквы Ё. Для этого хитрого кода нам нужна «ненужная клавиша» с текстовой клавиатуры, Pause/Break не подойдёт. Однако, тут нам повезло. Даже на полностью задействованной русскоязычной раскладке клавиатуры есть дублирующиеся клавиши:

russian keyboard.png

Вот эта кнопка в левом нижнем углу и подойдёт на роль замены букве Ё, а равно и тильде с обратным апострофом. Имеет она сканкод 0x56 и отсутствует на большинстве клавиатур, так что именно её будем эмулировать при нажатии на Ё-кнопку.

На этом этапе можно произвести изменения в реестре и отправить машину в перезагрузку.

Добавляем раскладки

Как несложно догадаться, после перезагрузки вместо буквы Ё мы получим косую черту. Для исправления ситуации, требуется поправить имеющуюся клавиатурную раскладку. Редактировать раскладки клавиатуры можно посредством утилиты Microsoft Keyboard Layout Creator 1.4. Использование программы несложно — загружаем исходную клавиатуру из списка, делаем изменения (меняем символы клавиши 0x56 на требуемые буквы Ёё), сохраняем source-файл и собираем установочный пакет из меню Project.

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

Настройка раскладок

Открываем «языковые настройки». Для начала, выставьте переключение раскладок по Grave accent, как показано на первой картинке этой статьи. Затем добавьте только что установленные раскладки: US-Custom и Russian-Custom. И наконец, установите дефолтный ввод через US-Custom. Это необходимо, так как раскладку US удалить не получится, но в этом тоже есть плюс — теперь при смене языка ввода меняется размер значка в трее и гораздо легче заметить, попал ли ты по CapsLock или промахнулся. Результат должен выглядеть как-то так:

language-general.png

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

Приложение

Готовые проекты раскладок, их исходники и патч к реестру можно найти по ссылке: Я.Диск.

Примечание

Проверено на win7 и win10. На 10-ке использовались уже скомпилённые проекты, ссылка на которые дана выше.

Делаем так, чтобы при нажатии Caps Lock в Windows 10 менялась раскладка клавиатуры.

Не помню точно момент, когда я стал на всех машинах и ОС перебивать дефолтный Shift + Alt на Caps Lock. Хотелось попробовать, а рациональные аргументы были такие, что меньше кнопок жать, и вообще капс никто и нигде не использует. Сейчас я уже настолько к этому привык, что по-другому просто неудобно.

AutoHotkey — скриптовый язык

Если в Linux Mint надо просто ткнуть галочку в гуе настройки клавы, то в винде из коробки так сделать не дают. Поэтому будем использовать софтину AutoHotkey. Бесплатная, опенсорсная, GPL.

Вообще говоря, AutoHotkey — это скриптовый язык, который позволяет делать макросы, биндить что-то на сочетания клавиш и прочее. Вероятно, потенциал у программы больше, чем просто перебиндить одну клавишу, но другими функциями пользоваться, увы, не доводилось.

Скачиваем AutoHotkey (версию 1.1*)

Идем на официальный сайт AutoHotkey и скачиваем установщик, устанавливаем.

Скриншот страницы загрузки сайта AutoHotkey

Стоит отметить, что речь в этом тексте идет про версию v1.1.28.02. В альфа тестировании находится вторая версия, в которой будет сломана обратная совместимость. Я попробовал было ее, но с разбегу старый скрипт не завелся.

Создаем скрипт

В любом текстовом редакторе создаем файл с произвольным именем и расширением .ahk (UTF-8, CRLF). Например caps_to_change_kb_layout.ahk. Содержимое такое:

SendMode Input
SetWorkingDir %A_ScriptDir%

CapsLock::Send, {Alt Down}{Shift Down}{Shift Up}{Alt Up}

Надо сделать так, чтобы файлы .ahk ассоциировались с AutoHotkey. Поэтому щелкаем два раза на созданный скрипт или «Открыть с помощью», выбираем AutoHotkey, «Всегда использовать это приложение для открытия .ahk файлов». Уже после этого можно потыкать капс — раскладка должна меняться.

Добавляем в автозапуск

Если не лень или не всегда надо, можно все время запускать скрипт руками. Чтобы скрипт запускался сам, я закинул его в папку C:UsersyourusernameAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup, где yourusername — имя вашего пользователя.

По русски путь будет такой: C:ПользователиyourusernameAppDataRoamingMicrosoftWindowsГлавное менюПрограммыАвтозагрузка.

После этого при загрузке винды будет выполняться скрипт и можно будет менять раскладку по Caps Lock. В трее будет иконка AutoHotkey.

А если я хочу писать капсом?

Тогда жмем Shift + Caps Lock.


Post Views:
4 189

Многие задаются вопросом: а можно ли в Windows переключать язык на клавиатуре нажатием всего одной клавиши, а не двух, как мы это обычно делаем. Это бы исключало возможные «осечки» и добавляло бы скорости при наборе текста.

Сразу надо сделать оговорку: смена раскладки клавиатуры и языка ввода – это разные вещи, и вы в этом убедитесь немного позже. Однако среди пользователей ПК в большинстве случаев эти два понятия воспринимаются за синонимы, и в рамках данной статьи не будем нарушать эту традицию дабы не вносить путаницу.

Метод 1. Штатные возможности Windows

В поисковом окне Windows 10 наберите слово «клавиатуры» и в результатах поиска кликните на пункт «Параметры ввода с клавиатуры».

выбрать опцию параметры

«>

В открывшемся окне кликните на пункт «Дополнительные параметры клавиатуры» — «Сочетания клавиш для языков ввода».

выбор сочетания клавиш

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

выбор клавиш для смены языка

Нас интересует настройка смены языка ввода. Оказывается, штатными средствами Windows это можно делать нажатием всего лишь одной кнопки Ё, или знака ударения. Попробуйте активировать эту опцию и проверить.

Всё казалось бы хорошо, и первоначальная задача, которая была поставлена в начале статьи, решена. Однако данный метод имеет несколько существенных минусов:

  1. Вы не сможете больше набрать букву Ё в тексте, так как при её нажатии будет сразу меняться язык ввода.
  2. Указанная клавиша находится в верхней части клавиатуры и тянуться к ней любым из пальцев далеко и неудобно. Конечно со временем можно и привыкнуть, но это не мой вариант.

По этой причине можно выбрать другой, более подходящий для вас способ быстрой смены раскладки.

Метод 2. Бесплатная утилита AutoHotkey

При помощи маленькой утилиты AutoHotkey, имеющей открытый исходный код и лицензию GPL, вы можете переключать язык ввода нажатием какой угодно клавиши. Многие изначально останавливаются на Caps Lock.

расположение клавиши CapsLock на клавиатуре/webtous.ru/wp-content/uploads/2020/06/capslock-key-300×86.jpg» target=»_blank»>https://webtous.ru/wp-content/uploads/2020/06/capslock-key-300×86.jpg 300w» sizes=»(max-width: 800px) 100vw, 800px» />

Во-первых, она удобно расположена для быстрого нажатия вслепую. Во-вторых, данную клавишу я не использую вообще, а потому лично для меня она относится к разряду бесполезных, наряду с Scroll Lock, Pause Break, Home.

Итак, первым делом скачиваем и устанавливаем саму утилиту с официального сайта. Она не имеет никакого интерфейса или настроек, так как по сути даже не является софтом, а просто скриптовым языком, позволяющим запускать различные макросы.

как скачать autohotkey

Создадим макрос для смены раскладки клавиатуры при нажатии Caps Lock. Он будет выглядеть следующим образом:

SendMode Input
SetWorkingDir %A_ScriptDir%

CapsLock::Send, {Alt Down}{Shift Down}{Shift Up}{Alt Up}

Откройте любой текстовый редактор, например штатный Блокнот, скопируйте и вставьте туда данный код и сохраните файл с именем capslock_language_change.ahk

Имя может быть любое, но расширение непременно .ahk

Теперь ассоциируем данный файл с AutoHotkey. Нажимаем на нем правой клавишей мыши – Открыть с помощью – AutoHotkey. Обязательно отметить галочкой пункт «Всегда использовать это приложение для открытия .ahk файлов».

ассоциация готового макроса с программой

На данном этапе уже можно нажать Caps Lock и убедиться, что языковая раскладка клавиатуры меняется. Согласитесь, очень удобно.

Напоследок следует сделать так, чтобы созданный нами скрипт запускался автоматически при каждом старте Windows. Для этого созданный нами файл переносим в папку C:ПользователиИмяПользователяAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

Не забудьте включить в проводнике отображение скрытых элементов, чтобы найти указанные выше системные папки.

На этом дело сделано. Теперь при нажатии Caps Lock у вас всегда будет меняться язык ввода с русского на английский и наоборот (если иные языки не заданы вами в настройках ОС).

А если вам вдруг понадобится воспользоваться указанной клавишей для перевода набираемого текста в верхний регистр, используйте сочетание клавиш Shift + Caps Lock.

Итог

Многие используют второй метод и крайне им довольны. Теперь при наборе текста не будет «осечек» с переключением языков.

Утилиту AutoHotkey вы можете использовать для написания и запуска макросов не только смены раскладки клавиш и их переназначения, но и для решения различных иных всевозможных задач: автоматическое заполнение форм, автонажатие по кнопкам, автозапуск программ, автонабор текста и пр.

Как в Windows 10 настроить переключение раскладки языка с помощью Caps Lock? Не думал, что в ультра современном и продвинутым Microsoft, простейшая настройка может обернуться такими сложностями.

задан 30 окт 2022 в 1:22

Salanger's user avatar

Поставь Punto Switcher — там есть такая настройка. Только не забудь автопереключение выключить и запуск от администратора отметить (а то в программах от админа работать не будет). Ну и остальные опции по желанию расставить.

скриншот настроек

ответ дан 30 окт 2022 в 2:21

Qwertiy's user avatar

QwertiyQwertiy

119k24 золотых знака117 серебряных знаков285 бронзовых знаков

2

Многие пользователи Windows знают, что переключать раскладку языка в системе можно разными способами. Кто-то предпочитает делать это мышкой, кто-то же привык пользоваться для этого горячими клавишами.

Обычно в качестве горячих клавиш используется комбинация Alt+Shift илиCtrl+Shift. Некоторые при этом знают, что переключить язык в Windows можно также через клавишу Win+Пробел. Мне часто приходится переключать раскладки во время набора текста и для меня удобнее всего переключать язык через однократное нажатие кнопки Caps Lock. Вместо того, чтобы пользоваться этой кнопкой по прямому назначению, я изменил ее поведение на то, которое мне нужно. В этой статье расскажу, как настроить приключения раскладки в Windows по кнопке Caps Lock.

Cмена языка в Windows по Caps Lock

Настроив переключение языка в Windows по Caps Lock, мы лишаемся возможности набирать текст заглавными буквами. Для этого теперь придется постоянно удерживать клавишу Shift, но по мне, так это не велика потеря.

К сожалению, простого пути через настройки Windows, переключать язык не выйдет. Но выход есть, для этого можно воспользоваться утилитой Punto Switcher, которая предназначена для автоматической корректировки раскладки, когда вы неправильно набрали текст. Автопереключение мы выключим (на всякий случай), а Caps Lock установим в качестве кнопки для переключения раскладки.

Качаем Punto Switcher по ссылке ниже.

Устанавливаем программу как обычно. Программа запустится и возле часов у вас появится  значок с раскладкой.

Теперь у нас два значка, которые только сбивают с толку. Сейчас мы его уберем, но для начала, сделаем настройки.

Первым делом выключаем автопереключение языка, которое через месяц будет вас бесить. Жмем правой кнопкой мыши по значку и выключаем автопереключение.

После этого идем в настройки.

В разделе Общие выключаем проверку обновлений (там уже сто лет ничего не обновляется)

Также выключаем показывать полезные советы в самом низу раздела Общие.

Дальше, для того чтобы сделать переключение раскладки по Caps Lock в Windows, ставим переключатель Переключать по. Выбираем в списке Caps Lock. А также можно выбрать только русский/английский. Эта настройка не обязательна.

После этого язык в вашей системе будет меняться по Caps Lock. Внимание: в некоторых приложениях переключение языка по капс локу не работает, тогда нужно переключать язык обычными хоткеями Windows.

 Кроме того, иногда настройка переключения раскладки по Caps Lock слетает и весь текст начинает писаться КАПсом. Чтобы вылечить эту проблему, открывайте настройки Punto Switcher и отключите пункт Переключать по и снова включите его. Проблема должна исчезнуть.

Настроить переключение раскладки по Caps Lock можно в любой системе Windows. Проверено на Windows 10 и Windows 11.

Чтобы больше не смотреть на два значка переключения языка на панели задач, просто берем значок Punto Switcher и тянем его на стрелку вверх, где и оставляем его.

Я написал небольшую программу для переключения раскладки одной самой бесполезной клавишей.

В сети есть подобные решения, но они либо слишком громоздкие для такой цели, либо работают как-то не так. Например с некоторыми КАПС становится невозможно выключить, если он был активен до запуска программы . Моя же выключит его автоматически, если он был включён по каким-либо причинам.
Просто закиньте exe’шник в папку автозагрузки и запустите программу первый раз. Все исходники открыты, можете скомпилировать их сами, если так боитесь незнакомых экзешников.

Если хотите скрыть это всплывающее окно, вместо самой программы в папку автозагрузки нужно закинуть ярлык с параметром запуска nopopup.

(This article is as well available in English).

Полтора года назад я написал статью «Переключение языка ввода по caps lock в Mac OS X», и так получилось, что поисковики в своей выдаче показывают ее не только макинтошникам, но и пользователям других операционок, ищущим способ переключать язык ввода по caps lock. Данный пост призван устранить неудобство для пришедших из поисковиков пользователей Windows.

Итак, как научить Windows переключать язык ввода (раскладку) по caps lock?

Для Windows 10: вариант с AutoHotkey от комментатора Castor.

  • Keyla
  • LSwitch
  • ReCaps
  • KbdFlip
  • Capslang
  • Caps Lock Switch (известная как capsswitch).
  • Также эта функция есть в Punto Switcher
  • Также это можно делать с помощью AutoHotkey
  • Также это можно делать средствами самой системы, если покрасноглазить с реестром Windows.

Бонус-трек: пост про индикацию раскладки светодиодом на клавиатуре.

Есть что добавить? Есть опыт работы с этими программами? Велкам в комменты.

This entry was posted in How to’s, Посты на русском and tagged caps lock, windows. Bookmark the permalink.

Like this post? Please share to your friends:
  • Переключатель языка клавиатуры windows 10 пропал
  • Переключение режимов экрана windows 10 горячие клавиши
  • Переключатель энергосбережения windows 10 при загрузке
  • Переключение раскладки клавиатуры windows server 2019
  • Перекинуть windows с одного жесткого диска на другой