Windows caps lock switch language

You can easely (by changing first two lines to:

$~CapsLock::LangSwitch(1)
$~CapsLock up::LangSwitch(2)

) modify wOxxOm’s Keyboard layout switcher for using Win+Space instead of right control. And it will work no matter which hotkeys are set up for switching layout in Windows (default is Alt+Shift, I’m using Ctrl+Shift).

Because of non-ahk-native switching (script uses WinAPI), whole script is rather bulky, so I didn’t paste it inline. In case of autohotkey.com inaccessibility, here it is: http://pastebin.com/RayAw1VP

(again, all credits go to wOxxOm, source script is there: http://www.autohotkey.com/board/topic/24666-keyboard-layout-switcher/)

P.S. That script is quite old, and has hardcoded byte-offsets, so I’m not sure if it will work with 64-bit Autohotkey.exe or in 64-bit Windows. I only have 32-bit at hand.

P.P.S. This answer is nearly duplicate to another but questions are also nearly similar.

Время на прочтение
3 мин

Количество просмотров 66K

Предлагаемый мной способ не является чем-то уникальным и/или неизвестным. В любой из двух поисковых системы вы легко найдёте множество заметок о том, как настроить в 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_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard 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-ке использовались уже скомпилённые проекты, ссылка на которые дана выше.

You can easely (by changing first two lines to:

$~CapsLock::LangSwitch(1)
$~CapsLock up::LangSwitch(2)

) modify wOxxOm’s Keyboard layout switcher for using Win+Space instead of right control. And it will work no matter which hotkeys are set up for switching layout in Windows (default is Alt+Shift, I’m using Ctrl+Shift).

Because of non-ahk-native switching (script uses WinAPI), whole script is rather bulky, so I didn’t paste it inline. In case of autohotkey.com inaccessibility, here it is: http://pastebin.com/RayAw1VP

(again, all credits go to wOxxOm, source script is there: http://www.autohotkey.com/board/topic/24666-keyboard-layout-switcher/)

P.S. That script is quite old, and has hardcoded byte-offsets, so I’m not sure if it will work with 64-bit Autohotkey.exe or in 64-bit Windows. I only have 32-bit at hand.

P.P.S. This answer is nearly duplicate to another but questions are also nearly similar.

Делаем так, чтобы при нажатии 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:\Users\yourusername\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup, где yourusername — имя вашего пользователя.

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

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

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

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


Post Views:
5 430

Клавиатура является одним из самых важных средств взаимодействия пользователя с компьютером. Раскладка клавиатуры может существенно влиять на эффективность работы, особенно если вы используете несколько языков в своей повседневной деятельности. В этой статье мы рассмотрим, как использовать функцию Caps Lock в операционной системе Windows 10 для переключения раскладки клавиатуры.

Windows 10 предлагает несколько способов переключения раскладки клавиатуры, таких как сочетания клавиш, изменение настроек в панели управления и использование дополнительного программного обеспечения. Однако самым удобным способом является переключение раскладки с помощью Caps Lock.

Для начала, убедитесь, что раскладка клавиатуры настроена на все нужные вам языки. Для этого откройте Настройки, затем выберите Время и язык, и нажмите на Раздел языка. Здесь вы можете добавить новые языки и удалить ненужные. При установке нового языка Windows предложит вам установить его раскладку клавиатуры, так что вы сможете легко переключаться между ними.

Теперь, когда все языки и раскладки установлены, перейдите в раздел Параметры клавиатуры и выберите «Изменить параметры клавиатуры». Здесь вы увидите список доступных раскладок клавиатуры. Рядом с каждой раскладкой есть пункт «Горячая клавиша для переключения клавиатуры». Нажмите на этот пункт для выбора сочетания клавиш, которое будет использоваться для переключения раскладки.

Теперь давайте выберем Caps Lock в качестве горячей клавиши переключения. Для этого нажмите на пункт «Горячая клавиша для переключения клавиатуры» рядом с нужной раскладкой. Затем нажмите на клавишу Caps Lock на клавиатуре. После этого вы увидите, что в разделе «Горячая клавиша для переключения клавиатуры» выбрано «Caps Lock». Теперь, когда вы будете нажимать клавишу Caps Lock, ваша раскладка клавиатуры будет переключаться на выбранную.

Однако, стандартно в Windows 10 функция Caps Lock включает или выключает только сам Caps Lock, и переключение языка не происходит. Чтобы исправить это, вам понадобится использовать дополнительное программное обеспечение, такое как «WinCompose» или «SharpKeys».

«WinCompose» — это программа, которая позволяет настроить комбинации клавиш для ввода специальных символов. Вы сможете настроить Caps Lock эмулировать нажатие комбинации Alt+Shift, которая по умолчанию используется для переключения языка.

«SharpKeys» — это утилита, которая позволяет изменять функциональность клавиш на клавиатуре. Вы сможете настроить Caps Lock симулировать нажатие клавиши Shift, которая также используется для переключения языка.

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

В заключение, переключение раскладки клавиатуры является важным аспектом работы с компьютером, особенно если вы используете несколько языков в своей повседневной деятельности. Windows 10 предлагает несколько способов переключения раскладки, и использование Caps Lock является наиболее удобным из них. Если вы хотите переключать раскладку клавиатуры с помощью Caps Lock, вам потребуется настроить эту функцию в разделе Параметры клавиатуры и воспользоваться дополнительным программным обеспечением, таким как «WinCompose» или «SharpKeys». С помощью этих инструментов вы сможете автоматизировать переключение раскладки и улучшить свою продуктивность при работе с компьютером.

  • Windows check process on port
  • Windows button does not work
  • Windows cmd write to file
  • Windows cmd for files in directory
  • Windows check port open remote