Тред: команда Figma рассказала про «баг с горячими клавишами», который оказался наследием раскладки 1997 года

Всё началось с обычной жалобы пользователя на проблемы с сочетанием Shift+2.

Команда Figma в треде в Twitter рассказала про баг в работе горячих клавиш в редакторе. Компания объяснила его происхождение историей создания клавиатур.

В ноябре 2019 года один из пользователей Figma пожаловался, что сочетание клавиш Shift+2 для масштабирования объекта работает только при нажатии цифр над клавиатурой — но не при нажатии «двойки» в цифровом блоке справа.

In short, pressing Shift+2 using one key worked, but pressing Shift+2 using the numeric keypad key didn’t.

Curiously, the bug only happened on Windows, and not on a Mac. https://t.co/nOyE4hmwM9
Тред: команда Figma рассказала про «баг с горячими клавишами», который оказался наследием раскладки 1997 года

Ошибка возникала только на Windows и появилась ещё в 1977 году.

В то время IBM была производителем компьютеров №1 и пыталась завоевать растущий рынок небольших ПК. До этого большинство компьютеров IBM выглядели так:

Тред: команда Figma рассказала про «баг с горячими клавишами», который оказался наследием раскладки 1997 года

В 1977 году компания выпустила небольшой IBM System/34 для малого бизнеса — с клавиатурой под названием 5251.

<span>IBM </span><span>System/34</span>
IBM System/34

System/34 была относительно дорогой машиной: её цена достигала шестизначных сумм. В то время клавиши со стрелками были не так важны в компьютерах, поэтому они находились слева, а цифровая клавиатура — справа.

Клавиатура IBM System/34
Клавиатура IBM System/34

В 1980 году IBM выпустила ещё один маленький компьютер — System/23 или Datamaster. Эту модель можно было осторожно поднимать и переносить, хотя весила она 45 килограмм. System/23 был намного дешевле своего предшественника и стоил $9000.

Тред: команда Figma рассказала про «баг с горячими клавишами», который оказался наследием раскладки 1997 года

В новом компьютере была та же раскладка клавиатуры, что и в IBM 5251, но с новым дизайном и пружинными переключателями.

Figma указывает, что этот компьютер не пользовался большой популярностью у пользователей, в отличие от следующей модели — IBM 5150, выпущенной в 1981 году. Её также называли IBM PC.

IBM PC разрабатывался в ускоренном режиме, поэтому дизайнеры взяли клавиатуру от Datamaster и поменяли функции некоторых клавиш. Левый блок был заменен функциональными клавишами, а клавиши со стрелками были перенесены вправо.

К тому времени необходимость клавиш со стрелками возросла: они нужны были для навигации по электронным таблицам и меню. Но из-за ограничений раскладки клавиатуры 5251 стрелкам пришлось делить место с цифровым блоком. Поэтому инженеры создали клавишу, которая позволяет переключаться между стрелками и цифрами — Num Lock.

Тред: команда Figma рассказала про «баг с горячими клавишами», который оказался наследием раскладки 1997 года

Это было не очень удобно: например, при работе с таблицами нужно было вводить число, переходить к другой ячейке и вводить новое. Пользователям приходилось нажимать Num Lock снова и снова, чтобы переключиться между режимами.

При этом у Num Lock не было индикатора.

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

Figma

Поэтому инженеры придумали быстрое решение для пользователей: удерживая Shift и нажимая стрелку/цифровую клавишу, можно было быстро изменить режим ввода.

«На этом этапе вы уже должны понимать, откуда взялся баг Figma», — пишет команда.

В конце 1980-х годов IBM поменяла раскладку клавиатуры в ответ на жалобы пользователей на множество проблем с 5150. В результате появилось то, что называют God’s keyboard — IBM Model M с расширенной 100-клавишной раскладкой, которая распространена и сейчас.

В новой раскладке клавиши со стрелками отделили от цифровой клавиатуры. Однако с их объединения прошло пять лет, пользователи уже привыкли к Num Lock — эту функцию нужно было сохранить, как и сочетание с Shift для ускоренного переключения режимов.

Поэтому в Figma сочетание Shift+2 на обычной клавиатуре работает как функция «Увеличить выделенный объект», но нажатие Shift+2 на цифровой клавиатуре интерпретируется как «↓».

Компьютеры Mac никогда не сталкивались с такой проблемой: первый Mac вообще не имел ни цифровой клавиатуры, ни клавиш со стрелками, чтобы стимулировать разработчиков создавать программы, ориентированные на мышь.

Клавиатура Mac получила стрелки в 1987 году — они сразу были расположены в отдельной секции, поэтому клавиша Num Lock так и не понадобилась.

Тред: команда Figma рассказала про «баг с горячими клавишами», который оказался наследием раскладки 1997 года

Когда пользователь сообщил Figma о баге, «браузеры предоставили достаточно информации», чтобы понять и исправить ошибку. Хотя это никогда и не было ошибкой — это просто старое, едва задокументированное соглашение, заключила компания.

142142
41 комментарий

Офигенная история! Пришёл по слову Figma, но ушёл с совершенно другим

37

К утру доберешься к статье "Каннибализм" в википедии, как я.

7

И правда работает. Вроде уже с прошлого века за компами сижу, а только сейчас узнал. (Или успешно забыл давным давно.)

13

Если честно представление не имел что к чему. Правда очень интересная статья.

3

ещё Alt+цифры

ты вероятно не сидел за той первой клавиатурой, она только с xt-шками шла

3