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

На старинных компьютерах делали отдельные кнопки для переключения языков: [РУС] и [ЛАТ], и это правильно, ведь можно включить нужную раскладку, не зная о текущей.

Решение для современных операционных систем

В новой клавиатуре можно вполне реализовать такую функцию, совместимую со всеми операционными системами, можно создать благодаря добавлению двух дополнительных вышеобозначенных кнопок, работающих более умно. Они должны помнить, какая из них была нажата последней, и не срабатывать в том случае, если её же нажимают второй раз. К примеру, мы нажали кнопку [РУС], при этом в комьютер посылается нажатие [Alt]+[Shift], раскладка переключилась на русскую, далее мы работаем, и в какой-то момент опять нажимаем [РУС], клавиатура помнит, что мы не нажимали [ЛАТ], поэтому не будет отправлять ничего.

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

Минусы циклического переключения раскладок разными кнопками

  1. Может произойти рассинхронизация индикатора раскладки (т.е. самой раскладки), и клавиатурной памяти. В этом случае нужно будет мышью либо клавишами [Alt]+[Shift] переключить раскладку.
  2. Такой подход не годится при использовании более двух языков, так как происходит циклическое переключение из двух вариантов. В этом случае необходимо вешать на эти кнопки другое сочетание, именно включающее нужную раскладку, и при этом запоминать последнюю нажатую кнопку уже не требуется.

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

Тестирование этого решения

Попробую разместить эти кнопки на клавиатуре Klavamatrix вместо двойного [Caps Lock], правда повешу на них пока эмулирование нажатия [Caps Lock] и [Shift]+[Caps Lock], как у меня сейчас в Ubuntu и настроено. Если будет удобно, то эти кнопки войдут в следующую версию клавиатуры.

П.С.: Оказалось более удобным разместить кнопки переключения раскладок на месте шифтов, а саму клавишу ШИФТ на большом пальце левой руки, вместо левого пробела.

27 мая 2011