Переключение раскладок с помощью смены клавиатурных методов

Хотел бы предложить свой метод переключения раскладок на клавиатуре. Существует множество программ, переключающих раскладки – Punto Switcher, Comfort Keys Pro… И для большинства пользователей эти способы, вполне возможно, будут предпочтительными.

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

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

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

А когда знаешь, что на одной клавиатуре будет только один язык, а на другой клавиатуре – только второй, то уже не задумываешься о раскладке. В общем, решил я провести эксперимент на себе и пользоваться двумя клавиатурами в течении хотя бы недели (для набора кода и текстов на английском и русском языках).

По завершении недели можно сказать, что эксперимент прошел успешно и возвращаться к старому методу нет никакого желания:

Первые 2 дня проходило привыкание к новому способу набора текста, рука так и тянулась к клавишам переключения раскладки. Поэтому совет: отключите сочетание клавиш переключения языка, к которому Вы привыкли. А в следующие дни работа с клавиатурой пошла быстрее, без неверно-введенных слов. Больше не приходилось заново набирать текст или менять раскладку, что вселяло некоторую уверенность при наборе текста.

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

Были и некоторые проблемы, в основном связанные с урезанным набором клавиш на моей клавиатуре (мини-раскладка 60% – 63 клавиши) – лучше выбирайте полноценную клавиатуру хотя бы с 75% клавиш (со стрелками, F1-F12, Delete, Home…)

Есть и ограничения с работой сочетаний клавиш – на каждое сочетание с Ctrl, которое Вы хотите использовать на дополнительной клавиатуре, необходимо добавить свой макрос.

Настройка второй клавиатуры для набора английских букв

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

Далее, нам потребуется клавиатура, поддерживающая интерфейс VIA. В интерфейсе программирования клавиатуры на каждую букву английского алфавита навешиваем сочетание Ctrl+Alt+клавиша, например, буква Q будет выдавать сочетание: Ctrl+Alt+Q

Для сочетаний клавиш Ctrl+C, Ctrl+V, Ctrl+X, Ctrl+Z и других необходимо назначить другое сочетание, иначе горячие клавиши с Ctrl не будут работать. Для них я назначил макросы с клавишей CapsLock, например, на клавишу C назначается следующая последовательность клавиш: {KC_CAPS}c{KC_CAPS}. Обычно программируемые клавиатуры имеют не более 16 макросов, но, если Вам понадобится больше сочетаний быстрых клавиш, всегда можно нажать их на основной клавиатуре.

Переопределение клавиш в интерфейсе VIA
Переопределение клавиш в интерфейсе VIA
Настройка макросов для горячих клавиш с Ctrl
Настройка макросов для горячих клавиш с Ctrl

Теперь потребуется создать новую раскладку с помощью программы Microsoft Keyboard Layout Creator (MSKLC). Скачиваем программу и запускаем.

Загружаем готовую русскую раскладку. При отсутствии клавиш-модификаторов (Ctrl, Alt и др.) нажатие на клавишу выдает русский символ.

Раскладка без модификаторов
Раскладка без модификаторов

На каждую букву английского алфавита необходимо добавить обработку нажатия Ctrl+Alt+клавиша, а также обработку макросов с клавишей CapsLock. Нажимаем галочку “Alt+Сtrl” и видим, какие символы будут получены при нажатии Alt+Сtrl+клавиша (данное сочетание выдает наша программируемая клавиатура).

Раскладка для клавиш с Alt+Сtrl
Раскладка для клавиш с Alt+Сtrl

Для клавиш с макросами (x,c,v,z,a,s,f,h) нажмем галочку “Show the Caps Lock” и задаем параметры с нажатой клавишей CapsLock (последние 2 параметра в окне настроек клавиши). Это позволяет работать горячим клавишам с Ctrl на второй клавиатуре.

Параметры раскладки с нажатой клавишей CapsLock
Параметры раскладки с нажатой клавишей CapsLock

После подготовки раскладки остается нажать «Build Dll and SetupPackage» и запустить получившийся файл.

Файл раскладки для двух клавиатур можно загрузить из файла.

Файл из Облака Mail.rucloud.mail.ru

Файл раскладки для интерфейса VIA:

Файл из Облака Mail.rucloud.mail.ru

Данный способ требует программируемую клавиатуру, но, теоретически, можно обойтись и без дорогой клавиатуры. Нужно написать программу, которая при нажатии на любую кнопку одной клавиатуры переключает раскладку на русский, а при нажатии на другой клавиатуре – на английский. Я хотел в первую очередь проверить, удобно ли пользоваться таким способом переключения языков.

 

Источник

клавиатурных, методов, Переключение, помощью, раскладок, смены

Читайте также