Как стать автором
Обновить

Особое мнение или почему необходимо добавить на клавиатуре еще одну кнопку пробела

Опять о той же наболевшей теме — как переключать раскладку клавиатуры? Неудобно, ошибаюсь. У меня две самые частые и простые ошибки — набор в другой раскладке и перестановка букв при быстром наборе. Спрашиваю у товарищей — все переключают раскладку клавиатуры по разному, а это значит наилучшего способа пока не найдено.


А есть ли проблема?

Провел несколько опросов разными способами. Если задать вопрос в таком ключе, то проблемы как бы и не существует. Это обескураживает и останавливает. Да, большинство респондентов ответили, что иногда начинают набирать несколько букв в другой раскладке, но замечают и сразу исправляются. Все привыкли и никого это не раздражает. Это бытность данная нам свыше, «здесь так принято».
Хотя с другой стороны, набор букв в неправильной раскладке наблюдается практически у подавляющего большинства респондентов, близко к 100%. Большинство замечают сразу, но некоторые успевают набрать предложение и только после этого замечают. Узнаваемо?
Существует ряд задач, в которых эта проблема проявляется в большей степени. У меня такие задачи — набор текста программы, при котором приходится постоянно переключаться между английской и национальной раскладкой. Десять раз при наборе одной строки текста — не редкость. И, соотвественно, ошибаюсь я наверное чаще среднестатистического пользователя текстового редактора.

Хотя проблема и не признается, но для меня достаточным основанием для ее решения является сам факт ее существования. Рассмотрев причины возникновения данных ошибочных ситуаций, я предлагаю вспомогательную классификацию, для того что бы сформировать критерии движения в правильном направлении. Ведь главное в нашем деле правильный выбор вектора движения. Наша цель и решение задачи — набор текста в правильной раскладке, уменьшение количества ситуаций набора в неверной раскладке, уменьшение количества ошибок. Язык будущего текста мы знаем заранее, до набора и при наборе текста, нам нужно только однозначное переключение к выбранной раскладке, детерминированность поведения системы в этом направлении. Разделим существующие решения по этому признаку:

Детерминирующие переключатели раскладок Сюда я отношу все переключатели, у которых используются уникальные сочетание клавиш для переключения к каждой раскладке.
Принцип действия: Запоминание текущей действующей раскладки не требутся, индикация не требуется. Нажатие специального сочетания клавиш приводит к однозначному переключению к требуемой ракладке, после переключения сразу можно начинать набор.

Частично детерминирующие переключатели раскладок Сюда я отношу все переключатели у которых используется одно и то же сочетание клавиш для переключения, будь это Ctrl+Shift или Caps Lock.
Пример: MS Windows Language Bar.
Принцип действия: Пользователь запоминает текущую действующую раскладку. В качестве индикации в большинстве случаев используется текущий набираемый текст и значительно реже специальные индикаторы (например, в виде значка в трее или светодиода на клавиатуре).

Автоматические переключатели ракладок
Пример: Punto-Switcher.
Казалось бы инструмент для решения именно этой задачи — исключить набор в неправильной раскладке. Данная программа именно так и позиционируется. На практике же, при использовании этой программы наблюдается повышение частоты случаев набора в неправильной раскладке. Автоматизация переключения приводит к тому, что оператор не запоминает, не помнит текущую действующую раскладку и перестает себя контролировать. А программа не охватывает приемлемое большинство ситуаций набора. Вот и получается, у семи нянек дите без глазу.

Вот такая вот классификация.

Тут меня кто-то может попытаться поправить, что при отключении автоматического режима Punto-Switcher может стать детерминирующим или частично детерминирующим переключателем. Но нет, он не относится к этим категориям. Программа реализована как недетерминирующая, осуществляет только переключение и не отслеживает и не восстанавливает выбранную раскладку. И в результате наложения ситуаций системного переключения с ситуациями переключения программой получаем недетерминированное поведение. Грубо говоря, если мы назначим к примеру Left Control для переключения к US English раскладке, то однозначности Нажатие Left Control -> US English Layout мы не получим.

<За кадром оставлен разбор всех примеров и особенностей поведения в разрезе данной классификации.>

Наименьшее количество ошибок набора дают нам детерминирующие переключатели. Но и они не полностью решают проблему. Пользователи ошибаются и с такими переключателями. Практически 100% однозначности и безошибочности можно было бы достичь в ситуации, когда пользователь использует переключающие сочетания клавиш детерминирующего переключателя перед набором каждого участка текста набираемого в одной раскладке. Не запоминаем ракладку, а нажимаем переключатель и затем набираем фразу. И так каждый раз. Но это неудобно в текущих реализациях, кнопки далеко да еще и нужно нажать их сочетание.

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

Решение № 2. Переключать раскладку перед вводом каждой фразы.
Я вижу только один способ достижения этой цели — выбрать несколько самых употребимых клавиш и продублировать их для каждой раскладки. То есть две клавиши пробела, две клавиши для ввода запятой в случае текстовых редакторов. Каждая кроме своей основной функции выполняет и функцию переключения на соответствующую раскладку. Предлагаю переделать конфигурацию клавиатуры. А если уж ломать клавиатуру, то можно попутно решить и другую задачу — вот такие вот ОЕПЧАТКИ.

Решение практичное.

Переделывать конфигурацию кливиатуры это процесс сложный и долгий. 40 директоров и 80 профессоров должны собраться и обсудить новые стандарты, общественность скажет свое веское слово, лет через десять договорятся.
А мы пока воспользуемся тем что есть. Клавишу Right Alt (правый Alt) назначаем переключателем на национальную раскладку и вторым пробелом. Клавишу Пробел (Space) назначаем переключателем на основную раскладку и оставляем за ней функцию ввода пробела. Количество ошибок должно значительно уменьшиться.

Вот такой вот простой практический вывод из этого рассуждения. Что скажете господа?

Список используемой литературы:
Перед написанием этой статьи не было делано никаких обзоров, патентных поисков или исторических справок. Конечно же я этим не горжусь, просто хочу отметить, что не претендую на новизну или приоритеты. «Все уже придумано до нас».
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.