Pull to refresh

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

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


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

Провел несколько опросов разными способами. Если задать вопрос в таком ключе, то проблемы как бы и не существует. Это обескураживает и останавливает. Да, большинство респондентов ответили, что иногда начинают набирать несколько букв в другой раскладке, но замечают и сразу исправляются. Все привыкли и никого это не раздражает. Это бытность данная нам свыше, «здесь так принято».
Хотя с другой стороны, набор букв в неправильной раскладке наблюдается практически у подавляющего большинства респондентов, близко к 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) назначаем переключателем на основную раскладку и оставляем за ней функцию ввода пробела. Количество ошибок должно значительно уменьшиться.

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

Список используемой литературы:
Перед написанием этой статьи не было делано никаких обзоров, патентных поисков или исторических справок. Конечно же я этим не горжусь, просто хочу отметить, что не претендую на новизну или приоритеты. «Все уже придумано до нас».
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.