Предлагаемый мной способ не является чем-то уникальным и/или неизвестным. В любой из двух поисковых системы вы легко найдёте множество заметок о том, как настроить в 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-ке использовались уже скомпилённые проекты, ссылка на которые дана выше.
(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.
Содержание
- Как поменять раскладку клавиатуры нажатием всего одной клавиши
- Метод 1. Штатные возможности Windows
- Метод 2. Бесплатная утилита AutoHotkey
- Нестандартные клавиши смены раскладки в Windows 7
- Ассемблер/дизассемблер клавиатурных раскладок Windows с помощью flat assembler
- Внутри раскладки
- Создание раскладки
- Преимущества раскладки kbdusru_undead
- Пример ввода некоторых дополнительных символов
- Установка
- Дальше — больше
- Читают сейчас
- Редакторский дайджест
- Похожие публикации
- Реверс-инжиниринг тетриса на Nintendo для добавления Hard Drop
- Реверс-инжиниринг протоколов управления конвектором
- Средняя зарплата в IT
- Минуточку внимания
- Комментарии 52
- Переключение раскладки по Caps Lock в Windows
- Комментариев 22
Как поменять раскладку клавиатуры нажатием всего одной клавиши
Часто набирая текст на клавиатуре, я столкнулся с одной интересной особенностью. Если для смены языка, например, с русского на английский, быстро нажать штатное сочетание клавиш Shift+Alt, то иногда язык не переключается. Немного погуглив в интернет я обнаружил, что не один я столкнулся с таким явлением, которое можно отнести то ли к багу, то ли к фиче.
Сразу хочу сделать оговорку: смена раскладки клавиатуры и языка ввода – это разные вещи, и вы в этом убедитесь немного позже. Однако среди пользователей ПК в большинстве случаев эти два понятия воспринимаются за синонимы, и в рамках данной статьи я не буду нарушать эту традицию дабы не вносить путаницу.
Метод 1. Штатные возможности Windows
В поисковом окне Windows 10 наберите слово «клавиатуры» и в результатах поиска кликните на пункт «Параметры ввода с клавиатуры».
В открывшемся окне кликните на пункт «Дополнительные параметры клавиатуры» — «Сочетания клавиш для языков ввода».
Откроется окно «Языки и службы текстового ввода», где надо перейти на закладку «Переключение клавиатуры» и нажать кнопку «Сменить сочетание клавиш».
Нас интересует настройка смены языка ввода. Оказывается, штатными средствами Windows это можно делать нажатием всего лишь одной кнопки Ё, или знака ударения. Попробуйте активировать эту опцию и проверить.
Всё казалось бы хорошо, и первоначальная задача, которая была поставлена в начале статьи, решена. Однако данный метод имеет несколько существенных минусов:
По этой причине я нашел другой, более подходящий для меня способ быстрой смены раскладки.
Метод 2. Бесплатная утилита AutoHotkey
При помощи маленькой утилиты AutoHotkey, имеющей открытый исходный код и лицензию GPL, вы можете переключать язык ввода нажатием какой угодно клавиши. Я изначально остановился на Caps Lock.
Во-первых, она удобно расположена для быстрого нажатия вслепую. Во-вторых, данную клавишу я не использую вообще, а потому лично для меня она относится к разряду бесполезных, наряду с Scroll Lock, Pause Break, Home.
Создадим макрос для смены раскладки клавиатуры при нажатии Caps Lock. Он будет выглядеть следующим образом:
Откройте любой текстовый редактор, например штатный Блокнот, скопируйте и вставьте туда данный код и сохраните файл с именем capslock_language_change.ahk
На данном этапе уже можно нажать Caps Lock и убедиться, что языковая раскладка клавиатуры меняется. Согласитесь, очень удобно.
Напоследок следует сделать так, чтобы созданный нами скрипт запускался автоматически при каждом старте Windows. Для этого созданный нами файл переносим в папку C:\Пользователи\ИмяПользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Не забудьте включить в проводнике отображение скрытых элементов, чтобы найти указанные выше системные папки.
На этом дело сделано. Теперь при нажатии Caps Lock у вас всегда будет меняться язык ввода с русского на английский и наоборот (если иные языки не заданы вами в настройках ОС).
Лично я использую второй метод и крайне им доволен. Теперь при наборе текста у меня не бывает «осечек» с переключением языков.
Утилиту AutoHotkey вы можете использовать для написания и запуска макросов не только смены раскладки клавиш и их переназначения, но я для решения различных иных всевозможных задач: автоматическое заполнение форм, автонажатие по кнопкам, автозапуск программ, автонабор текста и пр.
Источник
Нестандартные клавиши смены раскладки в Windows 7
Язык переключаю левым контролом
Настройки есть, но работает это криво. CapsLock продолжает выполнять свою прямую функцию.
Если CapsLock отключить, то перестает работать и смена раскладки.
Вообщем пробовал по-разному, рабочего варианта не добился(
«Язык переключаю левым контролом»
Эммм, а копировать, вставлять, сохранять и т.д. не мешает?
Уже как года три пользуюсь замечательно программкой «SimpleSwitcher».
Весит меньше мб, легкая и быстрая. Исправление раскладки написанного текста можно назначить на хоткей. Исправить «последнее слово/последовательно каждое предыдущее слово/и всю строку целиком.
Давно так сделал, потому что в какой-то момент, особенно когда пишешь код, закумарило пялиться на самый правый монитор что бы понять раскладку. Пунто не справлялся, так как если кодил, после отвлёкся кому-то ответить, и снова возвращаешься в терминал, пунто часто не изменял язык на многих функциях. Да и если сравнить пунто с симплом, это как жирный мастодонт и маленькая быстрая мышка))
Источник
Ассемблер/дизассемблер клавиатурных раскладок Windows с помощью flat assembler
Знакомый линуксоид упрекнул меня, мол, в винде ни переключения языка Caps Lock’ом нет, ни даже раскладку нельзя отредактировать. Посмотрел я, и правда, все раскладки содержатся в файлах C:\Windows\System32\kbd*.dll, и редактировать такое hex-редактором ну никак не назвать удобным.
Как достичь удобства? Для переключения раскладок Caps Lock’ом можно использовать всякие навесные программы, тяжёлые вроде Punto Switcher, или простые вроде lswitch. Для редактирования раскладок есть MSKLC, но он малофункционален и неудобен, а аналоги вроде KbdEdit или KLM32 платные.
И тогда я решил написать на flat assembler’е код, собирающий DLL раскладки.
Пришла пора разобраться с форматом раз и навсегда. Поначалу дело шло неспешно, потом я нашёл kbd.h и несколько примеров раскладок из Windows Driver Kit.
Внутри раскладки
Забавно, что Microsoft решили поместить раскладки в формат DLL, хотя за исключением корейской kbdkor.dll и японской kbdjpn.dll там кода нет совсем, если не считать экспортируемую функцию KbdLayerDescriptor, возвращающую указатель на главную таблицу с раскладкой.
Таблица имеет такой вид:
32-bit Windows | 64-bit или WOW64 | |||
---|---|---|---|---|
Название | Размер | Смещение | Размер | Смещение |
modifiers | 4 | 0x00 | 8 | 0x00 |
vk2wchar | 4 | 0x04 | 8 | 0x08 |
deadkeys | 4 | 0x08 | 8 | 0x10 |
keynames | 4 | 0x0C | 8 | 0x18 |
keynamesExt | 4 | 0x10 | 8 | 0x20 |
keynamesDead | 4 | 0x14 | 8 | 0x28 |
scancode2vk | 4 | 0x18 | 8 | 0x30 |
scancode2vk_size | 1 | 0x1C | 1 | 0x38 |
e0scancode2vk | 4 | 0x20 | 8 | 0x40 |
e1scancode2vk | 4 | 0x24 | 8 | 0x48 |
locale_flags | 2 | 0x28 | 2 | 0x50 |
version | 2 | 0x2A | 2 | 0x52 |
ligature_chars | 1 | 0x2C | 1 | 0x54 |
ligature_size | 1 | 0x2D | 1 | 0x55 |
ligatures | 4 | 0x30 | 8 | 0x58 |
type | 4 | 0x34 | 4 | 0x60 |
subtype | 4 | 0x38 | 4 | 0x64 |
Таким образом, файл раскладки содержит в себе таблицы названия клавиш, конвертации скан-кодов в виртуальные (0x1C → VK_RETURN), конвертации виртуальных кодов в символы, комбинации мёртвых клавиш, «лигатуры».
Судя по всему, названия клавиш используются редко, мне не удалось на своём компьютере найти программы, которая бы выводила их список из раскладки.
Изменяя таблицу скан-кодов, можно переназначить любую клавишу на другую. Если сразу захотелось переназначить кнопки питания (Power, Sleep, WakeUp), то это тоже можно, но это не отменит их оригинальной функции. Её можно отключить в настройках электропитания.
В таблице символов самый сок. Она решает, к чему приведёт нажатие клавиш K, Shift+K, AltGr+K, Shift+AltGr+K, влияет ли на неё Caps Lock, использует ли он тот же ряд символов, что и Shift+K или отдельный, влияет ли на неё Kana; будет ли символ напечатан сразу, или занесётся в очередь мёртвых клавиш, или напечатается ряд символов из «лигатуры», или или не произойдёт ничего.
AltGr — так называется правый Alt (если включён в раскладке флагом KLLF_ALTGR), он генерирует сочетание клавиш Ctrl+Alt.
Список мёртвых клавиш содержит пары символов, которые должны преобразовываться в третий символ. Этот символ может печататься сразу, или снова проходить по списку для дальнейшего преобразования. Если пара символов не найдена в списке, то она просто напечатается как есть. С помощью цепочек мёртвых клавиш можно сымитировать поведение Compose Key, но некоторые программы, например, Firefox, не распознают преобразования дальше первого.
Список «лигатур», который по сути является набором макросов, может позволить набирать до четырёх символов WCHAR по нажатию клавиши. На самом деле, у меня в Windows 7 работает до 16 символов, но с крайне неприятным исключением: Firefox при натыкании на такую раскладку напрочь зависает, а если раскладка с длинными «лигатурами» системная, то и вовсе перестаёт запускаться.
Создание раскладки
Сперва я хотел сделать две удобных раскладки, русскую и английскую, подходящую как для написания статей, так и программ. Типографская раскладка Ильи Бирмана хороша, но могло быть ещё лучше, тем более если делать лично для себя.
Потом я узнал про клавишу Kana. Kana — переключающаяся подобно Caps Lock’у кнопка на японской клавиатуре. И тут я решил объединить английскую и русскую раскладки в одну, и переключаться между ними клавишей Kana. Которую я переназначил на Caps Lock. Написал простую программу-индикатор для отображения состояния Kana лампочкой Caps Lock’а.
У такой объединённой раскладки возник один приятный сюрприз: раскладка теперь одна на всю систему, и остаётся при переключении между программами, а также «шибко умные» программы больше не могут переключать раскладку по своему желанию при редактировании текста или перемещении курсора.
И один неприятный сюрприз: Psi+ почему-то стал съедать первый символ, введённый после переключения раскладки нажатием Kana.
Тем не менее, я оставил эту раскладку в архиве вместе с индикатором Kana.
В попытках уместить все мёртвые клавиши в два ряда (с Kana было четыре), я наткнулся на идею перевернуть их порядок: так, чтоб набиралась AltGr+буква, а потом модификатор. Это позволило мне назначить гораздо больше символов, чем раньше. Я назвал это “undead keys”, «восставшие из мёртвых клавиши».
И вот идеальная раскладка была готова.
Преимущества раскладки kbdusru_undead
Пример ввода некоторых дополнительных символов
Комбинация клавиш | Результат |
---|---|
AltGr+5 | € |
AltGr+9 | « |
AltGr+0 | » |
AltGr+- | — |
AltGr+= | ≠ |
AltGr+; | ° |
AltGr+, | |
AltGr+Shift+/ | /me |
AltGr+a,’ | á |
AltGr+e,` | è |
AltGr+o,» | ő |
AltGr+n, | ñ |
AltGr+c,^ | ĉ |
р, ы,AltGr+q,’, б, а | ры́ба |
AltGr+c,o | © |
AltGr+r,o | ® |
AltGr+t,m | (tm) |
AltGr+m,u | µ |
AltGr+h,s | ☭ |
AltGr+f,2 | ½ |
AltGr+b,f | █ |
Установка
Я просто заменяю системный файл C:\Windows\System32\kbdru.dll на свою раскладку, ведь она во всех отношениях лучше. На Windows XP или 2000 в таком случае нужно не забыть удалить C:\Windows\System32\dllcache\kbdru.dll.
Но если вам не по душе такой насильный апгрейд винды, то раскладку можно скопировать в папку C:\Windows\System32\ и зарегистрировать в системе с помощью такого reg-файла:
Первая часть кода, 0743 — произвольные цифры для уникальной идентификации раскладки, а 0419 — код языка «Русский», под которым должна появиться раскладка. От кода языка зависит поведение раскладки в неюникодных (ANSI) программах. Если при наборе букв появляются знаки вопроса, то это верный признак неверно указанного кода языка.
Дальше — больше
Программировать на flat assembler’е мне доставляет одно удовольствие: мощный язык макросов, красивый и послушный синтаксис, ненужность всяких линковщиков и каши параметров в командной строке.
Поэтому я решил написать на нём программу, которая при ассемблировании читает DLL раскладки, а на выходе — исходный код. Странно, правда? Использовать ассемблер, как дизассемблер. Но мощь fasm’а это позволяет.
В результате у меня получились раскладки, которые позволяют переключаться между языками Caps Lock’ом без внешних программ глобально для всей системы, а также набор инструментов, который позволяет нам удобно редактировать раскладки клавиатуры Windows.
Всё выложено на https://github.com/grompe/kbdasm как общественное достояние.
Если у вас 64-битная Windows, можно скачать архив, распаковать и запустить make.bat, а затем install.bat. Для 32-битной придётся сперва подправить файл kbdusru_undead.asm.
Также в архиве есть программа get_scancodes. Если у вас есть хитрая клавиатура с дополнительными клавишами, с помощью программы можно узнать скан-коды и задействовать эти клавиши в раскладке.
AdBlock похитил этот баннер, но баннеры не зубы — отрастут
Читают сейчас
Редакторский дайджест
Присылаем лучшие статьи раз в месяц
Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.
Похожие публикации
Реверс-инжиниринг тетриса на Nintendo для добавления Hard Drop
Реверс-инжиниринг протоколов управления конвектором
Средняя зарплата в IT
AdBlock похитил этот баннер, но баннеры не зубы — отрастут
Минуточку внимания
Комментарии 52
Да, в виндах без AutoHotkey вообще никак. Раскладку тоже меню по CapsLock, есть варианты более суровые, через WinAPI, но остановился на самом простом:
К сожалению, развесить переключение на два Ctrl нельзя, по крайней мере, используя изложенные средства. Даже сейчас такое «переключение раскладки» внутри одной раскладки является довольно хитрым хаком.
Возможно, в японской раскладке или системе ввода IME есть более продвинутые средства ввода, которые это позволяют.
Можно воспользоваться программой get_scancodes, понажимать эти кнопки и посмотреть, какие скан-коды получаются.
Если скан-кодов вообще нет, значит, клавиатура ничего не шлёт по нажатию этих кнопок.
Не подскажете программу, которая может слушать то, что посылается в клавиатуру?(USB)
Wireshark в том числе и с USB работает.
По поводу ревесить, может быть так, что скрипты пишутся в память клавиатуры, и по нажатию отдаётся запрограммированный поток сканкодов. Т.е. сама по себе кнопка не шлёт вообще ничего. У меня в Aivia Osmium именно так. Был G-Unit, но было это давно и разбирался с этой клавиатурой недолго, поэтому точнее не подскажу.
Мне кажется или есть ещё один недостаток? Word к примеру будет считать весь текст набранный в этой раскладке написанным на русском языке.
Соответственно орфография и грамматика будет соответствующая.
Пробовал переучить себя на Win+Space, но на некоторых компах стоит Win7 и из-за этого пришлось от этой идеи отказаться.
Для переключения по Caps Lock использую Punto Switcher, но бывает иногда (раз в 2 недели) такой баг, что включается режим больших букв и в такой момент всё можно поправить. Зайти в меню punto switcher, выключить переключение по Caps Lock, нажать Caps Lock и вернуть как было.
Хочется ваш способ попробовать, но боюсь, что иногда будет вылезать такой же баг с большими буквами и тогда придется делать выход из системы или еще что-то магическое
Спасибо, у меня всё получилось.
Немного корявый install.bat — если инсталлировать несколько раскладок — то приходится править внутри SET дополнительно константу 00do, которая является параметром реестра «Layout Id». Последний одинаковый параметр у нескольких раскладок не даёт их выбора из трея, видимо ctfmon просто теряется в дублях. Но это мелочи.
Ещё не совсем ясно назначение параметра реестра «Layout text» — в какой ситуации это будет отображаться (US+)?
Спасибо за замечание — поправил install.bat.
Про «Layout Text» не уверен, если где увидел — не запомнил, увы. Так что пусть будет на всякий случай просто потому, что у других раскладок такое есть.
Поправочка: если не нравится AltGr, хочется использовать правый Alt как прежде и для ввода дополнительных символов не лень нажимать Ctrl+Alt, то можно из раскладки убрать флаг KLLF_ALTGR, заменив на 0.
Это будет более чистым решением, чем менять Alt’ы местами.
Да, попробовал и этот вариант, спасибо.
Заметил ещё пару вещей:
— При совместной работе с русской (стандартной) раскладкой punto switcher не хочет делать авто-переключение, если русский текст набирался латинницей, т.е. буквально набираем текст «ghj» — ps переключает язык и текст превращается в «про».
Если у нас альтернативная и Русская раскладки — ничего не происходит. Вероятно, ps не признает текущую (USA-undead) раскладку за нерусскую и не переключается. Казалось бы, мелочь, у меня в ps и так автопереключение выключено, но включено принудительное переключение по Break, когда набираешь текст, видишь, что не то, жмешь Break — ситуация исправляется, удобно. Однако и это тоже не работает.
— Далее уже багофича:
— PhotoShop CS при наборе текста (при редактировании изображения) вводит только латинницу, при переключении вместо кириллицы вводятся знаки вопроса.
— PMView в диалогах сохранения изображений аналогичная ситуация, (в том же фотошопе, в диалогах сохранения/открытия, однако, нет такой проблемы)
— Тем не менее, в очень древнем Cool95 такой проблемы нет. Естественно, все перечисленные программы — 32-битные.
Я компилировал и инсталлировал два варианта dll — c WOW64 = 0 и WOW64 = 1, копировал их в system32 и sysWOW64.
— Ну и, чтобы два раза не вставать, вот что я решил по индикатору:
Перепробовал несколько программок, и остановился на программе KeyboardLEDs © KARPOLAN, в ней есть режим отображения состояния CAPS Lock (и не только) иконкой и/или OSD текстом.
Всё бы ничего, но OSD текст вещает исключительно то, что есть — именно «Caps Lock ON/OFF», в связи с чем проделаны небольшие изменения в exe, чтобы вместо выводился текст «RUS/LAT», не знаю, является ли это нарушением, но если кому то интересно, могут пользоваться совершенно свободно: https://drive.google.com/open?id=0B0jPU_spS-c3bExwcTZOOTRscU0
В архиве оригинальный пак с программой, в подпапке \kbdasm — изменённый exe и инфо по ручному патчу, пара картинок с демонстрацией.
Нет сюрприза в том, что Punto Switcher не поддерживает гибридную раскладку. Если нужно им пользоваться, пожалуй, лучше разделить раскладку на две и использовать его функцию переключения по Caps Lock. Или написать разработчикам, пусть добавят поддержку =)
В Photoshop CS3 (32-bit) на одном из компьютеров у меня кириллица вводится. Гибридная раскладка зарегистрирована как русская (0419), единственная в системе. Windows 7 64-bit. Раскладку достаточно поставить только в system32.
Попробовал PMView (32-bit), тоже не поймал баг.
Обычно знаки вопроса вместо кириллицы возникают тогда, когда раскладка поставлена в английской локали (0409). Но вот Фотошоп у меня всё равно текст нормально пишет.
Источник
Переключение раскладки по Caps Lock в Windows
Не так давно я задумался, какие клавиши на клавиатуре я не использую и попытался найти им применение. Решил попробовать использовать клавишу Caps Lock для переключения раскладки клавиатуры, настроил и некоторое время тестировал переключение по Caps Lock в Ubuntu. Получилось очень удобно, для смены раскладки достаточно нажать одну клавишу, а не две, как раньше (Ctrl+Shift, например) и при включении альтернативной раскладки горит индикатор Caps Lock, что помогает быстро определить текущую раскладку визуально.
Но то, что в Linux получилось настроить установкой одной галочки (Keyboard Preferences — Layout Options — Layout switching — CapsLock key changes layout), в Windows настроить штатными средствами невозможно. Поэтому в качестве вспомогательной утилиты я решил использовать Punto Switcher, в котором переключение одной клавишей также настраивается очень просто: Параметры — Общие — Система — Переключение раскладки по: Caps Lock.
Да, и еще: в комментариях к одной старой заметке Ивана Сагалаева упоминается небольшая утилита lswitch.exe, которую вы можете попробовать, если не хотите использовать Punto Switcher.
Комментариев 22
Я использую правый alt для переключения раскладок.
А CapsLock это законное место для Ctrl 🙂
А визуально переназначить любую клавишу удобно можно в программе xkeymacs
С помощью Autohotkey можно переключать вообще любой клавишей или любым сочетанием. Хоть дабл-кликом правой кнопкой мыши 🙂
Хотя привык использовать Alt+Shift, до сих пор недоумеваю, почему в Windows так трудно даётся подстройка под себя. Всё время нужны какие-то сторонние приблуды типа Aston, чтобы элементарно вбить нужные горячие клавиши.
Хехе =)
Пару дней назад как раз прошел твой путь по переходу на Caps Lock =)
Alex Dybenko: а на чужом компьютере всё-равно владелец настроил под себя — и Ctrl+Shift может быть, и Alt+Shift.
kmmbvnr: а правый Alt — Compose key 😛
Люди, которые не используют TAB, меня пугают. Это НЕ нормально.
А можно вообще переложить переключение клавиатуры на автоматику через Keyboard Ninja
[…] Gluek рассказывает о том, как сделать в Windows переключение раскладки клавиатуры по нажатию Caps Lock. Все равно никто не пользуется этим текстовым «КРИКОМ» из адекватных людей. […]
А если у меня больше двух языков в Windows?
PoiSoN, используй тогда просто больше кнопок=) Тут как бы больше совета не думаю, что кто-либо даст. Да и вообще, зачем тебе понадобилось то многоязыковая винда?
Комментатор: Так получилось, что я родился в России, а живу в Израиле. Отсюда три языка в системе: Английский, Русский и Иврит.
iobit: Еще раз говорю, что если Caps Lock всё же будет нужен (во что я уже не верю), его можно включить сочетанием Shift+Caps Lock.
PoiSoN: Значит они будут переключаться циклически, как и через другие сочетания. Хотя как удобнее — мне сказать сложно.
хорошая идея, но вот косяк, я привык не к глобальному переключению раскладки, а для каждого окна. напрмер у меня 2 окна: консоль и окно чата. в чате мне английский нужен ну очень редко, а в консоле русский мне практически никогда не нужен. если я переключился в чате с CapsLock на русский, индикатор включился, переключаюсь на консоль. Здесь у меня индикатор так же горит, но раскладка английская.
Вывод: либо постоянно жамкать CapsLock, либо не смотреть на индикатор
Когда-то было неудобно в Линуксе с ГЛОБАЛЬНОЙ раскладкой, теперь в виндоус бесит, что раскладка не глобальна. А еще очень бесит, что нельзя настроить по CAPS. Ну теперь-то я буду знать как это сделать, спасибо автору и всем комментаторам.
Вот бы ещё кто-нибудь рассказал, как под Виндой сделать переключение раскладки двумя шифтами.
В Windows назначить переключение раскладки на Caps (или другую клавишу), а действие CAPSа, если нужен, назначить другой клавише, например Scroll Lock, уж ей то точно никто не пользуется, МОЖНО БЕЗ ПОСТОРОННИХ ПРОГРАММ. Причем, как глобально, так и только для конкретного пользователя. Учитесь пользоваться гуглом.
Зачем ставить посторонний софт для решения столь простой задачи? Только за зря ресурс компа расходовать. Конечно, если вы также используете другие возможности выбранного вами софта, то пожалуйста. Ну а кто все же решил добиться подобного результа не используя сторонние продукты, вам сюда:
Извините, комментирование этой заметки завершено.
Источник
На работе приходится сидеть в Windows по ряду причин, но очень неудобно, что нет привычного переключателя раскладок клавиатуры по CapsLock.
Перебрал несколько вариантов: специализированные утилиты (сайты большинства умерли (привет Recaps, Keyla) за исключением, пожалуй
Capslang), правка реестра Windows (
https://habrahabr.ru/post/305658/, не понравилось), использовал PuntoSwitcher (стрельба из пушки по воробьям ради только переключалки, плюс досадно глючил временами).
В результате остановился на варианте с AutoHotkeys и эмуляцией нажатия клавиш переключения раскладки. Кроме того, учёл, что в рабочей сессии VirtualBox переопределять клавишу не нужно (для других VM код будет похожим). В результате получился такой скрипт:
SetTitleMatchMode RegEx
#ifWinNotActive, ^.+ - Oracle VM VirtualBox$
SetCapsLockState, AlwaysOff
+CapsLock::CapsLock
CapsLock::Send, {Ctrl down}{Shift down}{Shift up}{Ctrl up}
#ifWinNotActive
return
Сохраняем, запускаем, пользуемся. Если нужно, добавляем в автозагрузку. CapsLock остаётся доступен по сочетанию Shift+CapsLock.
Справочник по регуляркам:
https://autohotkey.com/docs/misc/RegEx-QuickRef.htm
Ссылки по теме:
- https://gluek.info/2008/08/27/caps-lock-windows/
- https://habrahabr.ru/post/305658/
- http://flydom.ru/capslang/ (что-то не завелось у меня, может что поменялось)
- http://superuser.com/questions/429930/using-capslock-to-switch-the-keyboard-language-layout (моё решение взято именно отсюда, плюс проверка VBox)
- http://dae.me/blog/1173/pereklyucheniye-yazika-vvoda-po-caps-lock-v-windows/ подборка методов
- Перейти к содержанию
Мозаика системного администрирования
Инструменты пользователя
- Войти
Инструменты сайта
- Недавние изменения
- Управление медиафайлами
Вы посетили: • Переключение раскладки клавиатуры в MS Windows по Caps Lock и индикация Scroll Lock
switch_keyboard_capslock_led_scrolllock_windows:switch_keyboard_capslock_led_scrolllock_windows
Переключение раскладки клавиатуры в MS Windows нажатием клавиши Caps Lock и индикация режима светодиодом Scroll Lock
.
Проверено в MS Windows:
-
2000
-
XP
-
7
-
8.1
Есть проблемы с KeePass2
Пакет программ
Ссылки
Индикация и переключение раскладки с CapsLock
Переключение раскладки клавиатуры нажатием клавиши Caps Lock
Switch input language by Caps Lock
Администрирование,
MS Windows
· Последние изменения: 2021-11-10 20:48 —
GreyWolf
Инструменты страницы
- Показать исходный текст
- История страницы
- Ссылки сюда
- Экспорт в PDF
- Наверх
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:
CC Attribution-Share Alike 4.0 International