company_banner

История клавиши Enter

    Большая часть компьютерной клавиатуры унаследована у пишущих машинок; например, клавиша Shift получила своё название потому, что механически сдвигала литероноситель (typebar), так что по красящей ленте ударяла другая его сторона.


    Но вот клавишу Enter вы на клавиатуре механической машинки не найдёте: вместо неё на левой стороне каретки был (неподписанный) рычаг.


    (Ещё одно бросающееся в глаза отличие её клавиатуры от компьютерной — более логичное расположение клавиш Backspace и Tab: клавиша для перемещения по строке влево — с левого края клавиатуры, для перемещения вправо — с правого края.)

    Ясно, что механическую клавишу, сдвигающую массивную каретку на всю ширину листа, было бы тяжело нажимать одним пальцем. Электрические пишущие машинки были лишены такого ограничения; и действительно, на Blickensderfer Electric (1901) впервые появляется клавиша для возврата каретки и перевода строки. Не мудрствуя лукаво, эта клавиша подписали «Left». Есть под ней и клавиша «Right», медленно сдвигающая каретку в сторону конца строки. Книга «The History of the Typewriter» (1909) комментирует: «Практический эффект состоит в том, что всё от «Dear Sir» до «Yours truly,» пишется не поднимая рук от клавиатуры. Если бы даже в этой машинке не было других новшеств, кроме двух клавиш «Left» и «Right», она уже была бы конкурентоспособна на нынешнем рынке.»


    Увы, ожидания 1909 не оправдались: электроснабжение в дневное время ещё два десятка лет оставалось роскошью, недоступной большинству контор, так что возврат каретки рычагом оставался единственной возможностью. По оценкам, всего было произведено около 1500 «Бликов», и до нынешнего века сохранились лишь четыре экземпляра.

    Годом раньше, в 1908, был разработан «Morkrum Printing Telegraph» — позднее он продавался под брендом «Teletype», и этот бренд стал нарицательным обозначением телепринтеров. Телетайп объединил более раннюю идею «печатающего телеграфа», который автоматически расшифровывал телеграфный код и печатал текст на бумажной ленте, с пользовательским интерфейсом электрической пишущей машинки: для оператора единственная разница состояла в том, что бумажный лист находился не в непосредственной близости от клавиатуры, а за сотни миль. На клавиатуре телетайпа впервые появилась клавиша «CAR RET», и рядом с ней «LINE FEED»: скорее всего, они были разделены для упрощения конструкции приёмника, чтобы каждому принимаемому коду соответствовало одно простое механическое действие. Из телетайпного кода 1908 разделение CR и LF было унаследовано «Международным телеграфным кодом» (1924), а затем кодировками EBCDIC и ASCII; и даже сто лет спустя, когда последние телетайпы разошлись по музеям, это разделение продолжало усложнять работу программистам.


    Но вернёмся в начало прошлого века: электрификация возврата каретки в пишущих машинках возобновилась в 1929, когда фирма Northeast Electric разработала машинку «Electromatic». В ней по примеру телетайпа появляется клавиша «Carriage Return»: пока ещё той же формы, как и все остальные клавиши — зато единственная, подписанная по кругу. В 1933 IBM купила подразделение, выпускающее машинки «Electromatic», и стала выпускать их под брендом «IBM Electromatic», а с 1935 — «IBM Electric».


    Начиная со второй модели, «IBM Electric Model A» (1949), клавиша стала квадратной, а надпись на ней сократили до более привычного нам «Return».


    В «IBM Selectric» (1961) клавиша Return начинает обретать привычную нам форму — вертикальную, занимая два ряда. Нововведения в машинках этой серии — отсутствие подвижной каретки и сменный литероноситель в виде шарика, позволяющий использовать попеременно разные шрифты — обеспечили Selectric колоссальный успех: к 1972 среди американских пишущих машинок 36% были из этой серии, к 1982 — 90%. В 1975 американская Federal Trade Commission, комментируя жалобу Litton на формирующуюся монополию IBM на рынке пишущих машинок, охарактеризовала Selectric как «самое важное изобретение в этой отрасли за всю её историю». Неудивительно, что раскладка, разработанная дизайнером Элиотом Нойсом специально для Selectric, повлияла на всё дальнейшее развитие клавиатур: обратите внимание ещё и на формы клавиш Tab, Caps Lock и Shift.


    Можно заметить, что между клавишей с дробями ½ и ¼ и Return осталась неаккуратная щель шириной в полклавиши. В следующей машинке серии, «IBM Selectric II» (1971), туда поместили новую клавишу «Express Backspace» — в результате Return приняла ставшую традиционной форму «Г вверх ногами».


    На клавишах машинок, производимых для международного рынка, IBM заменяла английские подписи графическими обозначениями: Tab обозначался стрелкой вправо, Backspace — стрелкой влево, Caps Lock — стрелкой вниз. В экспортных моделях первой Selectric на Return была такая же стрелка влево, как и на Backspace; но 13 сентября 1971 можно считать днём рождения Return в её привычном облике: в «Selectric II» ей впервые придали не только ставшую традиционной форму, но и ставшее традиционным графическое обозначение «↵».


    Тем временем пишущие машинки начали уступать популярность электронным системам обработки текста. Для ввода текста в компьютер изначально использовались те же самые телетайпы; но начали появляться и специализированные терминалы. В знаменитом видеотерминале VT100 (1978) DEC свела воедино две ветви развития клавиатур: формы клавиш Caps Lock, Shift и Return позаимствованы у «Selectric II», но справа от правого Shift видим наследие телетайпов — отдельную клавишу «Line Feed». (На некоторых VT100 ещё и клавиша Break была подписана «Here is»; зачем такая клавиша на телетайпах — понятно, но зачем она при работе с компьютером?) VT100 среди терминалов стал тем же, чем была Selectric среди пишущих машинок; даже в эмуляторе терминала, встроенном в Windows 98, был реализован режим совместимости с VT100!


    Кроме видеотерминалов, в 1970-х появился ещё один новый тип устройств — персональные компьютеры. Первым ПК можно считать «Datapoint 2200» (25 мая 1970) от Computer Terminal Corporation. Его первенство проявилось и ещё в одной области: клавиша в форме ↵ впервые получила своё нынешнее название «Enter» вместо «Return»; так что дату выпуска «Datapoint 2200» можно считать днём рождения Enter.


    Самые успешные из первых производителей ПК — Apple, Commodore, Tandy Radio Shack — нацеливались на аудиторию «технологических энтузиастов»; но IBM, вдохновившись успехом первопроходцев, задумала персональный компьютер для офисных работников, привыкших к клавиатуре Selectric. Тем не менее, клавиатура первого IBM PC (1981) на Selectric похожа мало: клавиши, втиснутые в тесный прямоугольник, лишились своих характерных форм; на Enter и Shift даже не поместились подписи! Может быть, какие-то технологические проблемы помешали IBM в 1981 выпустить клавиатуру на пару дюймов шире, где клавиши не пришлось бы так ужимать? Такая клавиатура действительно вышла с IBM AT в 1984: Enter снова «Г вверх ногами», а Ctrl, Alt и Caps Lock приняли форму, используемую в Selectric и в VT100 для Caps Lock и Shift.


    На 1984 история заканчивается: клавиша, сорок лет бывшая «Carriage Return» и следующие сорок лет — просто «Return», получила свои окончательные название, форму и значок.

    RUVDS.com
    VDS/VPS-хостинг. Скидка 10% по коду HABR

    Комментарии 76

      +2
      >получила свои окончательные название, форму и значок.

      Не хватает комментариев про нынешний разброд и шатание. Даже в РФ, где на рынке клавиатуры с российской раскладкой и где вроде такой enter («перевернутая Г») привычен, сейчас вроде его остается все меньше и меньше.

      Сейчас я пишу на клавиатуре, где Enter — кнопка в один ряд, над шифтом, чуть короче шифта.

      «Традиционная» для западного мира же вроде нынче форма — это в два ряда, но *верхний* ряд шире, чем нижний. Все еще можно разглядеть «Г», но она перевернута в другую сторону (зеркально вбок).
        +2
        «Развёрнутая Г» — это стандарт ANSI, горизонтальная клавиша — стандарт ISO. ANSI в ходу в США, ISO — в Европе. Для России кто-то из производителей адаптирует ISO, кто-то — ANSI.

        А вот «перевёрнутую Г» — или «развёрнутую L» — я уже давно не видел…
          +1
          Я когда-то работал на клавиатуре (в смысле, мне давали за ней, поиграть на компьютере), где было написано Return, но клавиша была строго прямоугольная и довольно большая. Может, конечно, я путаю, за давностью лет, но помню, что именно этими двумя странностями она и запомнилась. После этого я пытался купить такую клавиатуру, но нигде ничего подобного не видел, много позже просто найти картинки и также — безуспешно.
          P.S.
          А кажется, я её, наконец-таки нашёл!
          image

          Это у нас ISO или ANSI?

            +5
            Немного наоборот.
            ANSI — горизонтальная
            ISO — `|
            а _| — big ass

            А по распространённости правильно (ANSI — США, ISO — Европа, big ass — Азия).
              +7
              Картинка с различиями
              image
              0
              А вот «перевёрнутую Г» — или «развёрнутую L» — я уже давно не видел…

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

            +2
            Хорошая статья, даже задумался, а не удобнее ли было бы оставить backspace слева
              +2

              ИМХО логичнее, когда клавиши, отвечающие не за ввод текста, а за операции с ним (enter\bkspc\ins\del) более-менее сгруппированы, но, вероятно, это натягивание совы.


              Немного жутковато смотреть на послоеднюю раскладку в статье, где CTRL на месте CAPSLOCK, тот — на месте RtCTRL, а у numpad'а нет своего Enter'а, а точка на нем совмещена с DEL… К счастью, хотя мне точно приходилось ей пользоваться, моя детская психика в целях самозащиты вычеркнула этот кошмар из памяти; в которой, однако нежно сохранен широко распространенный в то время big-ass enter.


              Кроме того, занимательно наблюдать медленно преодолеваемую инерцию мышления, когда переход от механических связей клавиш к fly-by-wire, изменение их формы, и в целом более удобные интерфейсы появляются существенно позднее, чем могли бы. Некоторые же атавизмы не изжиты до сих пор, в первую орчередь, совершенно ненужное неортолинейное расположение клавиш.

                +1
                Немного жутковато смотреть на послоеднюю раскладку в статье, где CTRL на месте CAPSLOCK, тот — на месте RtCTRL, а у numpad'а нет своего Enter'а, а точка на нем совмещена с DEL…

                Esc вы там нашли? :-)
                  0

                  OMFG… Извините. Не надо так, сразу не заметил — а теперь я не усну...

                    +1

                    А что не так с точкой, совмещённой с Del? Это как раз привычно. Туда же Ins, Home, End, PgUp, PgDn и стрелки.

                      0

                      А то, что на этой клавиатуре нет НЕ совмещенной с точкой DEL :)

                    +1
                    ИМХО логичнее, когда клавиши, отвечающие не за ввод текста, а за операции с ним (enter\bkspc\ins\del) более-менее сгруппированы, но, вероятно, это натягивание совы.

                    У меня была одна из BTC split keyboard — в ней, помимо прочего, пробел был поделён на две половины и левая работала как Backspace. Было очень удобно и печатать и в Carmageddon играть.

                    совершенно ненужное неортолинейное расположение клавиш

                    Смелое заявление.
                      –1
                      Смелое заявление.

                      А чего тут смелого? Клавиши смещены друг относительно друга исключительно из-за legacy времен механики, никаких других причин нет.

                        +1
                        Почему корпус электрогитары повторяет форму корпуса акустической гитары, хотя хватило бы грифа со струнами и звукоснимателя? Почему клавиатура синтезатора повторяет клавиатуру фортепиано, хотя хватило бы матрицы квадратных кнопок, как у Novation Launchpad?
                          0
                          Почему корпус электрогитары повторяет форму корпуса акустической гитары, хотя хватило бы грифа со струнами и звукоснимателя?

                          Верное замечание, и электрогитары нестандартной формы таки имеют место быть.


                          Почему клавиатура синтезатора повторяет клавиатуру фортепиано

                          Потому что музыкант часто имеет дело с линейным рядом частот, а расцветка умеренно удобна для быстрого ориентирования? А grid controller предназначен для несколько другого?

                            0
                            Компьютерные клавиатуры тоже бывают всякой нестандартной формы.



                            Представление нот в виде параллельных рядов, по октаве в каждом ряду — вероятно, более наглядное, чем в виде линейного ряда частот.
                              +1
                              Компьютерные клавиатуры тоже бывают всякой нестандартной формы.


                              Приведенная вами эргономическая клавиатура Microsoft по сути не принципиально отличается от обычных. Да и она не так уж и эргономична.

                              Есть действительно необычные конфигурации клавиатур:

                              image

                              Для того чтобы действительно достичь эргономичности пришлось значительно отклониться от общепринятого стандарта. Чего постеснялась сделать Microsoft.
                            +1
                            хотя хватило бы грифа со струнами и звукоснимателя?

                            Не всё так просто. Дерево много даёт для звука.

                              –1
                              Для звука электрогитары?
                                0

                                Да. Дерево окрашивает звук, влияет на всё: сустэйн, затухание и др.

                                  0
                                    –2

                                    Да, согласен, есть разные мнения и точно не известно.

                                      +1
                                      дерево даёт окрас звуку, но вот сама порода дерева это уже не так важно. Можно взять обычный вибродинамик и приложить его к разным материалам, звук будет наследовать характеристики материала (стекло, метал, пластик, дерево). Другое дело, что всё-таки корпус электрогитары не так уж сильно резонирует, в отличии от акустической гитары, поэтому влияние маленькое, тут больше вопрос эстетики, к дереву приятнее прикасаться. А так, основной тембр звука формируется струнами, это ведь они и издают звук: металл, нейлон, натянешь резинку от трусов — будет резиновый звук, ну и электроникой
                                        0
                                        По ссылке показано, что даже если в колебаниях воздуха вокруг корпуса электрогитары и есть какая-то разница, вызванная материалом корпуса (дерево/оргстекло/картон) — то после тракта звукосниматель-усилитель-динамик разницы нет вообще.
                              +1
                              Почему корпус электрогитары повторяет форму корпуса акустической гитары, хотя хватило бы грифа со струнами и звукоснимателя?
                              Чтобы можно было играть сидя, оперев гитару на бедро
                        +1
                        А мне современный вариант кажется более интуитивным, хотя это может просто из-за привычки.
                        Представьте что перед вами на столе стоит предмет, который вам нужно на сантиметр сдвинуть в сторону. В таком случае проще предмет толкнуть по столу, а не тянуть, и соответственно чтоб толкнуть влево — нужно приложить усилие справа, и наоборот. Этот предмет это каретка на экране.
                          0
                          Посмотрите на блок стрелок: стрелка вправо — справа блока, стрелка влево — слева блока.
                            +1
                            Блок стрелок это скорее аналогия с джойстиком — просто указывает направление, не обязательно что-то при этом двигает.
                        +4

                        Удивительно, что спустя почти пол века изменения незначительные. Хотя нынешние производители и пытаются по всякому экспериментировать, но классика — она вечна)

                          +3

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

                            +1

                            На некоторых электрических пишуших машинках стрелка клавиши enter была в обратную сторону: вверх и вправо (или вправо и вверх, точно уже не помню), по направлению движения каретки. И еще на tab и backspace стрелки в обратную сторону. Очень странно выглядело.

                            0
                            Спасибо за подробный материал.
                            Все же трудно представить бэкспейс слева, но, думаю, дело в привычке. Просто, как по мне, правая рука для этого больше подходит. Или из-за привычки печатать так уже не перестроить мозг
                              0

                              Где купить тихую клавиатуру с Г образным Enter и большим левым шифтом? Такие еще производят?

                              +2
                              У Эппла она до сих пор Return.
                                0
                                И это поразительно: ни одно из действий, связываемых с этой клавишей, на «возврат» не похоже.
                                  +2

                                  Как же не похоже? При вводе текста, нажатие на Enter\Return приводит к CR (carriage return, возврату картеки=курсора в начало строки) и LF.

                                    +1

                                    Курсор не возвращается туда, где был. Логичнее было бы назвать “new line” или “new paragraph”.

                                      0
                                      не возвращается туда, где был

                                      конечно 'тудаже не возвращается', это же CR+LF
                                      курсор возвращается в начало строки+перевод строки.
                                      +1
                                      В том и парадокс, что у Эппла уже двадцать лет как нажатие Return приводит к одному только LF, без CR.
                                      А для возврата курсора в начало строки есть отдельная клавиша Home.
                                        +2
                                        вопрос не в символах, а в фактическом поведении, вы же не жмете return+home когда такст на хабре пишете
                                          +1
                                          В смысле «без CR»? Если в условных Pages написать строку текста и нажать Return, то курсор окажется под последней буквой?
                                            0
                                            Нет, редактор воспринимает LF как новую строку.
                                      0

                                      image

                                    +2
                                    Ох уж эта кнопка Enter…
                                    В отличие от телеграфа при печати на лист или экран строку нужно переносить.
                                    По сей день одни платформы добавляют «конец строки» (Linux), другие «возврат каретки» (Mac), а третьи и то и другое (Windows), чем доставляют проблем при совместной разработке.
                                      0

                                      Linux и Mac уже давно используют \n. Проблемы доставляют пользователи Windows, и разные системы борются с ними по-разному, например, в Git есть параметр для преобразования переноса строк к одному формату при коммите.

                                        +2
                                        \n это не настоящий символ, это метасимвол regexp библиотеки, зависящий от платформы. Почти все ЯП пытаются обработать его сначала в соответствии с правилами платформы, и уже потом альтернативно.
                                          0

                                          Конечно, никто не делает перенос строки, нажимая слэш, затем N. Я имею ввиду конкретный символ под номером 0x0A в ASCII.

                                            0
                                            Только вот 0x0A это и есть LF, который используется для перевода строки в Linux/Unix.
                                            В Windows это будет CR+LF, в Mac OS Classic только CR.
                                            Тем не менее, написав в regexp \n в любой из этих систем, мы таки возьмем любую из этих кодов или последовательностей
                                              +3

                                              Вероятно, что зависит от настроек, но вот остаточные \r после, например, разбиения строки по \n — не редкость. Особо мозг взрывает в терминале.

                                                –1
                                                Остаточные \r после разбиения по \n это точно неправильные настройки.
                                                Perl/PHP умеют разбивать правильно. Независимо от платформы
                                                  +1
                                                  Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
                                                  Type "help", "copyright", "credits" or "license" for more information.
                                                  >>> import re
                                                  >>> re.split(r'\n', 'Hello\r\nworld!')
                                                  ['Hello\r', 'world!']
                                                  >>>
                                                  
                                                    +1
                                                    Ааа. Так как раз там очень даже зависимо от платформы. Только не платформы, где файл создали, а платформы, где интерпретатор работает.
                                                    Вот результат с Linux
                                                    php -r 'echo json_encode(preg_split("/\\n/s", "Hello\r\nworld"));'
                                                    ["Hello\r","world"]

                                                    На Windows проверить негде 8-\
                                                      –1
                                                      Ну конечно от платфомы где интрепретатор, при чем тут создание?
                                                        +1
                                                        Я проверил на Windows, результат тот же самый.
                                              0
                                              Вот кстати за более 10 лет в разработке под виндой, я ни разу не столкнулся с проблемой CRLF. Абсолютно все редакторы и IDE, чуть сложнее виндового блокнота, умеют нормально работать с \n, а значит использовать \r\n не имеет никакого смысла, и не будет никаких проблем с совместимостью.
                                                0
                                                А я столкнулся вот прямо на днях, когда обнаружил, что многострочные строковые литералы в Xtend разделяются \r\n, когда код запущен под Windows, и \n, когда под Linux; т.е. значение одного и того же литерала меняется в зависимости от того, где программа запущена.
                                                  0
                                                  Это что получается, многостроковые литералы хранятся в байт-коде как массив строк, и склеиваются системными разделителями на этапе исполнения? Очень странное поведение.
                                                    0
                                                    Ещё хуже:

                                                        StringConcatenation _builder = new StringConcatenation();
                                                        _builder.append("...");
                                                        _builder.newLine();
                                                        _builder.append("...");
                                                        _builder.newLine();
                                                        _builder.append("...");
                                                        _builder.newLine();
                                                        ...
                                                    
                                                      +1
                                                      А, Xtend транслируется в джаву, а уже оттуда в байт-код. Интересный подводный камень.
                                            0
                                            Нормес материал. Вспомнил свой древний комп Пентиум 3, на котором ентер был такой здоровый, что в нем, наверное, можно было уместить два полноценных шифта. Но чисто эстетически приятно было брякать по нему. С последовательным уменьшением солидарен, ибо даже не вижу предпосылок, чтобы ентер как-то выделялся. Не настолько часто им пользоваться приходится
                                              0

                                              На клавиатуре МС-7004 (аналог DEC LK-201) практически при 'ентера' с разницей в смысле как Выполнить, Исполнить и продолжить исполнение (ВК, ВВОД, ИСП / Return, Enter, Do), при этом все имеют самостоятельные скан-коды.

                                                0
                                                Помню на чём-то электромеханическом, то ли на Robotron, или на телетайпах была пара кнопок ВК — возврат каретки и ПС — перевод строки. Т.е. текущая Еnter реализовывалась последовательным нажатием двух клавишами ВК и ПС.
                                                  0
                                                  На телетайпах всегда была пара этих кнопок; один пример показан в статье.
                                                  0
                                                  У меня был советский пк Партнер 01.01, на нем была клавиша ВК.
                                                    0
                                                    И ВК, и ПС.
                                                    0
                                                    Клавиша Line Feed (LF) практически всегда имеется на матричных принтерах — наиболее близких к TTY современных устройствах, даже если на панели управления друкарки всего две кнопки, то одна из них всегда Line Feed.
                                                      0
                                                      Вроде бы там не Line Feed, а Paper Feed — без привязки к строкам, пока жмёшь — проматывает.

                                                        0

                                                        Это у Star она называется Paper Feed, на большинстве друкарок всё таки Line Feed и Form Feed, но суть одна и та же — первая протягивает на одну строку и при удержании непрерывно, вторая на выставленную в настройках длину формы.

                                                      0
                                                      На моей майкрософт комфорт курве кейбоард 2000 клавиша Enter единственная на основной клавиатуре написана на русском «Ввод», ну и стрелка есть.
                                                      Бэкспейс, таб и прочие шифты на англ.

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

                                                      п.п.с у жены логитечь g105, там Enter еще хлеще, буквой Г, но перевернутой по горизонтали.
                                                        0
                                                        Работа клавиши Enter, в печатной машинке, видео для ознакомления.
                                                          0
                                                          Рычага, конечно же, а не клавиши.

                                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                        Самое читаемое