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 предоставляет пользователю долгожданную возможность переключать языки ввода по обратному апострофу:
Казалось бы, удобно, но нет. Лично я вижу следующие недостатки:
- маленькая клавиша
- на домашней Linux-машине всё-таки CapsLock настроен
- пропала буква Ё
- пропала тильда и обратный апостроф
Для тех, кто как и я, обречён ходить на 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 не подойдёт. Однако, тут нам повезло. Даже на полностью задействованной русскоязычной раскладке клавиатуры есть дублирующиеся клавиши:
Вот эта кнопка в левом нижнем углу и подойдёт на роль замены букве Ё, а равно и тильде с обратным апострофом. Имеет она сканкод 0x56 и отсутствует на большинстве клавиатур, так что именно её будем эмулировать при нажатии на Ё-кнопку.
На этом этапе можно произвести изменения в реестре и отправить машину в перезагрузку.
Добавляем раскладки
Как несложно догадаться, после перезагрузки вместо буквы Ё мы получим косую черту. Для исправления ситуации, требуется поправить имеющуюся клавиатурную раскладку. Редактировать раскладки клавиатуры можно посредством утилиты Microsoft Keyboard Layout Creator 1.4. Использование программы несложно — загружаем исходную клавиатуру из списка, делаем изменения (меняем символы клавиши 0x56 на требуемые буквы Ёё), сохраняем source-файл и собираем установочный пакет из меню Project.
Ту же операцию следует проделать и с английской клавиатурой, изменив поведение обратного слэша на обратный апостроф и тильду.
В результате должны получиться две папки с установочным пакетом для клавиатурной раскладки. Выполняем установку каждой, запуская setup.exe и переходим к следующему шагу.
Настройка раскладок
Открываем «языковые настройки». Для начала, выставьте переключение раскладок по Grave accent, как показано на первой картинке этой статьи. Затем добавьте только что установленные раскладки: US-Custom и Russian-Custom. И наконец, установите дефолтный ввод через US-Custom. Это необходимо, так как раскладку US удалить не получится, но в этом тоже есть плюс — теперь при смене языка ввода меняется размер значка в трее и гораздо легче заметить, попал ли ты по CapsLock или промахнулся. Результат должен выглядеть как-то так:
Если всё прошло удачно, то вы получили возможность переключения языков ввода по 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 и скачиваем установщик, устанавливаем.
Стоит отметить, что речь в этом тексте идет про версию 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». С помощью этих инструментов вы сможете автоматизировать переключение раскладки и улучшить свою продуктивность при работе с компьютером.