image

Статья посвящена всем пользователям русской клавиатуры, желающим повысить скорость набора текста.

Зарубежные создатели интерфейсов редко заботятся об их адаптации к чужим культурам. Ярким примером такого интерфейса является широко используемая всеми компьютерная клавиатура (здесь и далее подразумевается клавиатура по стандарту 104 ANSI).

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

Как пользователь, занимающийся написанием писем и заполнением табличек в MS Excel, я каждый раз, во время авралов, когда нужно быстро исправить формулу или ввести новые данные, трачу много времени на исправление ошибок, возникающих из-за постоянного переключения раскладки с русской на английскую, а при написании писем с правильной русской пунктуацией постоянно сталкиваюсь с необходимостью вводить символы, которых вообще нет на клавиатуре (—, «, », неразрывный пробел).

Я выделил для себя три проблемы, замедляющие работу:

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

Решение этих проблем можно найти в существующих ГОСТах.

ГОСТ 6431-75. Машины пишущие. Расположение клавиш и символов на клавиатуре.

По данному ГОСТу часто-используемые знаки препинания располагаются в цифровом диапазоне блока алфавитно-цифровых клавиш. Цифры набираются с помощью клавиши перевода регистра. Для набора запятой не нужно каждый раз переводить регистр. Запятая и точка набираются указательными пальцами. Буква ё в буквенном, а не цифровом диапазоне. Данному ГОСТу соответствует единственная альтернативная русская раскладка в Windows — машинописная.

ГОСТ 14289-88. Средства вычислительной техники. Клавиатуры. Расположение клавиш и символов, функции управляющих клавиш.

ГОСТ разрабатывался во времена, когда IBM Model M только становилась стандартом.
В нём даётся два простых решения проблемы переключения раскладки:

  • С помощью клавиши обеспечивающей постоянный выбор режима ввода букв русского алфавита (CapsLock).
  • С помощью клавиши для временной смены режима ввода символов русского и латинского алфавитов у буквенных клавиш и временном включении третьего регистра у клавиш с цифрами (правый Alt).

Во всех раскладках CapsLock используется для включения «слоя» верхнего регистра. Но есть возможность включать им не верхний регистр, а альтернативный алфавит.

image
Рис. 1. Раскладка США

Во многих национальных раскладках есть дополнительные слои, временно включающиеся клавишей alt. Существует возможность делать несколько дополнительных слоёв, используя сочетания alt + любая клавиша текстового блока.

Таким образом, в одной раскладке можно уместить несколько алфавитов и всевозможные спецсимволы.

image
Рис. 2. Русская раскладка Windows

Вдохновившись этими решениями, я решил воплотить их в жизнь. Создавать или устанавливать специальные утилиты я не мог. На помощь пришла Microsoft Keyboard Layout — официальная программа Microsoft для создания раскладок под любой язык.

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

image
Рис. 3. Русская расширенная раскладка

Для объединения знаков препинания, пришлось отказаться от цифр в цифровом диапазоне (есть цифровой блок), вынести точку на цифру 8, а запятую на цифру 5. До этих клавиш проще всего тянуться пальцами и на них нет третьих символов.

Для возможности использования раскладки на ноутбуке вынес цифры в alt слой.

Остальные знаки оставил на своих местах и добавил часто-используемые в русской письменности знаки.

Что мне это дало:

  • Возможность быстро и грамотно писать русские тексты из любого приложения.
  • Не думать, о том, в нужной ли я раскладке, чтобы набрать тот или иной символ.
  • Переключать раскладку по CapsLock без утилит.
  • Временно переключать раскладку через правый alt.
  • Программы больше не меняют раскладку сами. При запуске любой программы вы будете оставаться на том алфавите, на который переключились ранее.

Бонус

Для набора степенных знаков и букв из греческого и других алфавитов я добавил ещё один слой, для активации которого необходимо набрать alt + \.

image
Рис. 4. русская расширенная раскладка со всеми символами

> Ссылка на раскладку

Комментарии (35)


  1. pewpew
    29.04.2019 21:42
    +4

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


    1. lemos Автор
      29.04.2019 21:59

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


    1. berez
      29.04.2019 23:55
      +2

      Автор предлагает не протсо альт-слой для редких символов. Самая мякотка — это возможность вкраплять кириллицу в латиницу и наоборот, не переключаясь между раскладками.


  1. berez
    29.04.2019 21:57

    Идея интересная. Особенно забавно было увидеть «ять». :)


    1. danfe
      30.04.2019 16:05

      Еще вроде вижу фиту и ижицу, а «и десятеричная», думаю, тоже есть, просто не подписана (зелененьким) на клавише «i».

      Под иксами для удобства ввода букв дореволюционной орфографии есть типографская раскладка Etersoft (модифицированная стандартная типографская раскладка из xkeyboard-config, изначально созданная Сергеем Столяровым по образу раскладки Ильи Бирмана).


  1. GeMir
    29.04.2019 22:12

    слой, для активации которого необходимо набрать alt + \
    Наверняка вопрос привычки, но как по мне так удобство из разряда Alt+Shift+7 для обратной косой черты или Command+Shift+4 для снимка экрана в macOS.


  1. Zalechi
    29.04.2019 22:24
    +1

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

    Если я правильно понимаю, то они не меняют раскладку. Во время запуска программы она принимает дефолтную раскладку настроенную в виндовсе. А потом, например если Вы сменили раскладку в одной программе например на русскую, во второй программе например на румынскую, ещё в нескольких других например не меняли дефолтную английскую раскладку, то в итоге — винда просто запоминает заданные Вами изменения и не меняет их для каждой из этих открытых программ, когда Вы в одной из них поменяли раскладку. Лично мне этот режим нравится и я его предпочитаю, тому режиму когда в одной проге изменил раскладку, и следом раскладка меняется в остальных программах. То есть в этом случае работает единая раскладка для всех запущенных и запускаемых программ, что лично для меня не удобно.


  1. lair
    30.04.2019 00:02
    -1

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

    У меня тоже не меняют. Windows 10. Что не так?


    1. holomen
      30.04.2019 01:47
      +1

      ЕМНИП, это дефолтно для 10. Но можно переключить чтобы раскладка сохранялась для каждого приложения. Мне этот второй вариант кажется более удобным, потому во время очередного подхода к 10 искал этот переключатель.
      И кажется в 7 это тоже можно переключить. Но это не точно.


      1. holomen
        30.04.2019 18:14

        И вот что интересно. Ну вот как это
        > Программы больше не меняют раскладку сами. При запуске любой программы вы будете оставаться на том алфавите, на который переключились ранее.
        может быть удобным?
        Вот допустим у меня открыта IDE в которой я пишу код и понятно что 99% времени английский язык. И открыт, скажем, вибер, в котором всякие сюси-пуси и язык, ожидаемо, русский. Я не задумываюсь при переключении с IDE в вибер и обратно на какой язык мне переключиться — он сохраняется. А так лишнее телодвижение — переключить язык. Ну вот зачем помнить это совершенно лишнее и контролировать?
        Я без подколок. Мне и правда интересно. Может я чтонить упускаю и надо попробовать ваш вариант…


        1. AngReload
          30.04.2019 21:45
          +1

          У вас для каждого приложения есть основной используемый язык.
          Представьте противоположный случай. В редакторе у вас 1С, локализация, перевод документации или ещё что-то, когда русский и английский используются 50 на 50. Тогда переключаясь между приложениями, вам будет трудно вспомнить, какой язык последним использовался. Придётся следить за индикатором языка, иначе вы часто будете начинать печать в неправильной раскладке.
          Держать в уме одно общее состояние гораздо проще, чем помнить язык для всех приложений сразу.


          1. Zalechi
            01.05.2019 15:48

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

            Но с вами трудно не согласиться, об иногда бывает раздражительно когда забываешь раскладку


            1. AngReload
              01.05.2019 19:18

              Но я никого не учил жизни, и отвечал не на ваш комментарий.


    1. k12th
      30.04.2019 01:49

      Windows 10, иногда меняют (зависит от фазы Луны). Два компа, Windows Home и Pro.
      Тоже очень хотелось бы знать, ЧТЯДНТ...


    1. zaq1xsw2cde3vfr4
      30.04.2019 05:11

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


      1. Artyom_Shegeda
        30.04.2019 19:38
        +1

        эта?
        image


        1. Zalechi
          01.05.2019 16:03

          Это она. Конечно не во всех случаях удобно этим пользоваться.


  1. daiver19
    30.04.2019 00:13

    Для табличек в Excel, наверное, полезно, но я слабо представляю где еще такое может пригодиться.
    Ну и на русском только машинописная раскладка, естественно.


    1. tyomitch
      30.04.2019 13:55

      Для набора русскоязычных текстов с формулами, например.


  1. 25080205
    30.04.2019 01:54
    +1

    А исходники выложены где-нибудь?


  1. saag
    30.04.2019 06:21

    Ну, батенька, это костыль, то ли дело сенсорная клавиатура-экран, на электронных чернилах, там поле для фантазий с символами на виртуальных клавишах куда как больше:-)


    1. namikiri
      30.04.2019 13:40
      +1

      Нет, спасибо, тык-тык-тык без физической отдачи оставьте модным детишкам с планшетами. Разве что «Оптимус» Татьянычевский, но чёт в ходу его не вижу, либо убердораха, либо ломкий, тут уж ничего сказать не могу.


      1. saag
        30.04.2019 13:42
        +1

        Пожалуйста и такая есть


      1. SandroSmith
        03.05.2019 14:18

        Именно что стоило овердохрена (tenkeyless — $1000, полная ближе к $2k), поэтому не взлетело и производство прикрыли. А идея то стоящая. Если у Nemeio получится удобно и за адекватный ценник — будет просто отлично.


  1. AngReload
    30.04.2019 08:22

    Делал подобное, русская раскладка по Caps Lock, символы по Alt, за основу брал Бирмана. Очевидные плюсы:


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

    Но есть такие проблемы:


    • в некоторых играх и приложениях язык перестаёт переключаться, в других не печатаются буквы или вводятся кракозябры. Даже до какого-то обновления винды, многие системные приложения не дружили с такой раскладкой (метрошные, пуск, поисковые строки и тд.)
    • трудно запомнить редко используемые символы, так и не разобрался где в раскладке Бирмана ударение
    • в убунте не смог нормально сделать такую раскладку, символы не настроишь, внезапно перестаёт язык переключаться, индикатор капса показывает то русскую, то английскую раскладку, то совсем не горит
    • за чужими компами всё равно приходится использовать стандартную, и неприятно когда по привычке пытаешься сменить раскладку капсом

    Плюс на минус, решил вернуться к обычной.


  1. Steve_Key
    30.04.2019 09:19

    Идея обалденная!
    Зря, видимо, я поленился в своё время написать сюда статью со своим вариантом раскладки для стандартной клавиатуры. Но она у меня временной оказалась, т. к., позже я «изобрёл» свой концепт клавиатуры, на котором уже и сижу благополучно несколько лет…
    Вот мои последние раскладки для стандартной: steve-key.ucoz.ru/news/klaviaturnaja_raskladka_jaevapro_poprobujte_ehto_udobno/2015-05-09-72
    image


    1. berez
      30.04.2019 09:49

      JCUKYN? Серьезная заявка на победу. :)
      А как между латиницей и кириллицей переключаться?


      1. Steve_Key
        30.04.2019 10:19

        Да, я решил, поскольку я русский, то нет смысле «держать» на компьютере две раскладки: QWERTY и ЙЦУКЕН, а, поскольку русская основная, то сделал латиницу фонетикой.
        Также были «рокированы» три пары букв, с целью приблизить к основной позиции слепой печати более «частотные» буквы: Я и Ф, Х и Щ, Ы и Е.
        А переключаюсь я нажатиями клавиш Shift (нажал и отпустил, если нажал вместе с другой клавишей, то работает основная функция, или если удерживать): левая переключает на латиницу, правая — на кириллицу.
        Более того, в комплекте с данной раскладкой я использовал программу ввода цифр левой рукой: steve-key.ucoz.ru/news/alt_left_num_programma_dlja_vvoda_cifr_levoj_rukoj_na_standartnoj_klaviature_ochen_udobno/2011-01-11-6
        image
        и управление стрелками курсора на основной позиции: steve-key.ucoz.ru/news/win_arrows_programma_dlja_upravlenija_tekstovym_kursorom_s_osnovnogo_bloka_klaviatury/2011-02-01-7
        image

        Сейчас же я пользуюсь своим концептом клавиатуры, который можно посмотреть в «свежих» новостях на моём сайте.


  1. Jarik65535
    30.04.2019 10:15

    Вместо альт должен быть АР2!


    1. Steve_Key
      30.04.2019 10:23

      Ну да, хотя, изначально АР2 — это то, что сейчас Esc: в DOS использовались так называемые «Esc-последовательности», то есть, нажимаешь Esc и дальше буквы-цифры означают определённые команды, цвет текста, к примеру, можно было поменять и т. п.


  1. Yoooriii
    30.04.2019 15:39

    Интересный подход. Я сам постоянно натыкаюсь на грабли с русской клавой. Кстати информация в тему: во времена СМ-ЭВМ, ЕС-ЭВМ существовали русские клавиатуры, фишка в том, что клавиш там было штук на 6 больше, чтобы вместить все русские символы. Было удобно, но те времена прошли. Как вариант, можно заказать братьям китайцам нечто подобное малой серией, а если эксперимент будет удачным, то и большой (идея для стартапа).


  1. DoctorMoriarty
    30.04.2019 18:53

    редко заботятся об их адаптации к чужим культурам
    (...)
    а при написании писем с правильной русской пунктуацией постоянно сталкиваюсь с необходимостью вводить символы, которых вообще нет на клавиатуре (—, «, », неразрывный пробел)

    Это не отсутствие заботы о чужих культурах, а отсутствие поддержки типографики — причём не только национально-специфичной. (Кстати, «, » на клавиатуре как раз есть, странно, что она приведена автором статьи в пример.) Но учитывая обилие национальных стандартов в этой сфере, логичнее всего делать поддержку типографики на уровне софта. Кстати, удивительно, что до сих пор никто не предложил простой программки (да, я знаю о существовании в поставке Windows «Таблицы символов» и автозамены в Word), задача которой — в зависимости от раскладки (RU, DE, FR и т.д.) предлагать простой способ ввода спецсимволов, реально простой, не требующий непременного запоминания комбинаций из N >=3 клавиш.


    1. tyomitch
      30.04.2019 21:35

      Автор привёл не запятую, а кавычки-ёлочки.


      1. DoctorMoriarty
        30.04.2019 23:25
        +1

        Хм. А я почему-то решил, что это запятая в кавычках. Увы, исправить комментарий уже не могу.


    1. Aingis
      02.05.2019 01:16

      На маке такая подстановок кавычек и настраиваемая автозамена есть на системном уровне вообще-то.