Несмотря на то, что компьютеры сейчас используются далеко не только для работы с текстом и символьными данными, да и мышь уже примерно пару десятилетий де-факто считается штатным устройством ПК, а не периферийным устройством, все же основным методом взаимодействия человека и компьютера остается
клавиатура. Да, для современных планшетов и трансформеров она сама превращается в периферию, однако для компьютеров более традиционных форм-факторов клавишное управление остается основным. Доказательство? Конечно же, наличие и очень популярное
использование горячих клавиш. Будучи когда-то единственным способом управления программой, сейчас они играют роль прекрасного подспорья, которое позволяет сохранить настолько дорогие в наши дни время и усилия на поиск нужного пункта меню или «той самой» кнопки. Мы все примерно представляем себе, зачем они были созданы и внедрены, но сейчас мы собираемся уделить внимание разбору истории отдельных сочетаний и «хоткеев» – и, поверьте, это на самом деле довольно-таки интересные истории.
Привести все в порядок

Начнем мы, правда, с описания кое-чего более крупного и всеобъемлющего. Для этого нам придется мысленно переместиться в 1980-е, когда вышедший еще совсем недавно IBM PC становился промышленным стандартом благодаря открытости и гибкости. Гибкость эта заключалась не только в плане «железа», но и в плане «софта» – никто не ограничивал разработчиков писать программы тем или иным образом. С одной стороны, это было хорошо как для разработчиков, так и для пользователей, имеющих возможность выбора, но, с другой – это породило мешанину в области интерфейсов. Каждое ПО использовало свой собственный набор способов и методов управления, и пользователь одной программы физически не мог, как в наши дни, «на месте» ознакомиться с аналогичной по функционалу программой на интуитивном уровне. Скажем, простое открытие файла было реализовано совершенно разными способами в разных текстовых редакторах. В Microsoft Word для этого нужно было открыть меню с помощью Esc, а затем нажать кнопки
T и
L, в emacs для этого нужно было последовательно нажать
Ctrl+X и
Ctrl+F, ну а WordStar вообще требовал просто ввести букву
D. Даже самая что ни на есть банальная клавиша вызова справки, которая уже тогда была почти что стандартной (
F1), использовалась не везде – редактор WordPerfect использовал для этого
F3. Значение кнопки
Insert, которая чаще всего переключала режимы набора текста, некоторые программисты понимали буквально и ставили на нее команду «Вставить».
Как следствие, нельзя было освоить управление фактически любой программой путем изучения основных элементов интерфейса, как это практикуется в наше время. По крайней мере, так обстояли дела на платформе PC – компания Apple заставляла разработчиков ПО для своих новеньких Macintosh'ей следовать строгим правилам и принципам построения интерфейсов. Как следствие, весомая часть юзеров мигрировала на дорогие, но куда более понятные «Маки», стоимость которых более чем окупалась простотой использования приложений и отсутствием необходимости в «курсах обучения» для каждого отдельного продукта.

Как следствие, в 1987 году IBM пришлось выпустить серию рекомендаций под названием
Common User Access (CUA) , целью которой было создание общих принципов управления как новыми, так и уже существующими программами, как текстовыми, так и графическими. Остановимся на тех нововведениях, которые касаются нашей темы, а именно –
горячих клавишах. В CUA были закреплены клавиши отмены выбора, его подтверждения и вызова справки (
Esc,
Enter и
F1 соответственно), а нажатию F10 предписывалось вызывать меню приложения. Для команд работы с текстом были отведены особые сочетания, которые хоть и оказались позднее забыты, но в качестве альтернативных работают и до сих пор –
Shift+Del для вырезки,
Ctrl+Ins для копирования и
Shift+Ins для вставки.
Common User Access оказала огромное влияние на интерфейс Windows и других продуктов Microsoft во время тесного сотрудничества последней с IBM, однако сохранило его и после разрыва двух компаний. Принципы CUA также были реализованы в интерфейсе OS/2, а впоследствии их переняли почти все графические среды для Unix, в том числе и такие известные каждому пользователю Linux оболочки, как KDE, Gnome и Xfce (среда CDE/Motif же ставила перед собой совместимость с CUA как свою основную задачу). В данный момент сочетание CDE-принципов, используемых в Microsoft Windows и Motif считается стандартом де-факто для любого нового графического окружения для Unix и Linux.
Не только «Закрыть»

Все мы привыкли к тому, что комбинация
Alt+F4 является одним из наиболее удобных и быстрых способов закрытия окна, однако почему именно F4 и существую ли другие подобные Alt-комбинации? Мало кто знает, что первоначально Alt+F4 была частью целой системы «горячих клавиш».
Первая версия Windows, вышедшая в 1985 году, не задействовала указанную нами комбинацию, однако во время разработки Windows 2.0, а также графического интерфейса для первых версий OS/2, IBM и Microsoft в рамках уже упомянутого нами проекта CUA решили повысить уровень доступности графических оболочек для пользователей компьютеров без мыши. В итоге, начиная с Windows 2.0, сочетания с
Alt+F4 и до
Alt+F10 (минуя
Alt+F6) назначили для команд закрытия, восстановления, перемещения, сворачивания и разворачивания окна. Что интересно, те же самые комбинации, но с использованием Ctrl, использовались для управления дочерними окнами в так называемых MDI-приложениях («приложениях с многодокументным интерфейсом», в которых внутри главного окна могут содержаться множество дочерних). Сочетания клавиш
Ctrl+F6 и
Alt+F6 использовались для переключения между дочерними окнами, причем в одних оболочках и приложениях использовалось первое, а в других – второе, видимо, из-за того, что даже сами разработчики еще не определились, что использовать.

С выходом Windows 3.0 компания Microsoft решила избавиться от всех сочетаний, кроме самого устоявшегося, использующегося для выхода, чтобы освободить как место в системном меню, так и клавиши для новых функций. Интересно, что MDI-программы использовали Ctrl+F6 как метод смены активного дочернего окна вплоть до 2000-х, до тех пор, пока практически все они или стали однодокументными, как Microsoft Word, или перешли на использование вкладок, как многие браузеры и средства разработки. Помимо этого, «заброшенные» сочетания были и в этот раз подхвачены Linux-интерфейсами.
SysRq: огромные возможности – нулевое использование
Для нас уже не впервой, желая сделать снимок экрана, нажимать клавишу
Print Screen (чаще всего на клавиатуре сокращаемую до
PrtScn), ну а с появлением в Windows 8 возможности моментального сохранения скриншота на диск в качестве штатной системной функции эта клавиша стала использоваться еще активнее. Однако сейчас речь пойдет не о ней, а о клавише, которая «разделяет» с ней место –
SysRq. Сейчас уже далеко не везде можно увидеть это обозначение, однако еще недавно наличие надписи SysRq на одной кнопке с PrtScr никого не удивляло – удивляло, скорей, то, что практически ни одна программа ни в одной операционной системе никак не обращалась к ней. Так зачем же тогда она была создана?

На самом деле, перед нами – идеальный образец компьютерного атавизма, доставшегося нам прямиком от IBM PC/AT. Создатели данной машины не просто разместили SysRq на клавиатуре (причем не заставляя ее «делить место» с Print Screen), но и выделили для нее отдельное прерывание в BIOS, а также позволили ей миновать буфер клавиатуры. Зачем? Дело в том, что SysRq, что расшифровывается как «
system request» («системный запрос»), предполагалась как особая клавиша, которая позволяла бы выполнять низкоуровневые функции, никоим образом не конфликтуя с работающим программным обеспечением. Подразумевалось, что с помощью этой кнопки можно было бы переключаться между программами или даже между целыми операционными системами, которых для PC уже тогда было достаточно (PC/MS-DOS, CP/M-86, Xenix и UCSD p-System), таким образом, используя по максимуму возможности нового процессора Intel 80286. Тем не менее, никто так и не захотел использовать ее подобным образом, и она была объединена с кнопкой печати и захвата экрана: технически, чтобы выполнить «системный запрос», отныне необходимо нажать
Alt+PrtScn, однако позже и эта функция оказалось заменена на более полезную в повседневности функцию захвата активного окна.
Однако и этой клавише Linux-сообщество нашло интересное применение. Используя комбинацию
Ctrl+Alt+SysRq с другой кнопкой, можно совершать различные системные действия, в основном связанные с отладкой и аварийным завершением работы. Такая комбинация называется «Magic SysRq» и, будучи распознанным напрямую ядром системы, чаще всего служит «аварийным тормозом» для нее. Наиболее часто употребляемая «волшебная» комбинация – это
Ctrl+Alt+SysRq+REISUB, где последние символы нажимаются по отдельности без отпускания трех других кнопок и с интервалом в пару секунд. Она позволяет безопасно завершить работу системы в случае блокировки или банального «зависания» и отсутствия реакции на любые другие методы, отсюда и мнемоническое правило для «REISUB» – «Reboot Even If System Utterly Broken» («перезагрузить, даже если система полностью сломана»). В ходе ее выполнения ОС посылает команды на завершение всех процессов, завершает процессы, которые не закрылись самостоятельно, аккуратно закрывает доступ к файловой системе и диску и перезагружается.
Заключение
Как мы видим, даже такая бытовая вещь, как «хоткеи», имеет историю поинтереснее, чем некоторые IT-компании. С одной стороны, можно было бы заявить о бесполезности ее исследования, но, с другой, она отражает историю подходов к организации интерфейсов и методов взаимодействия человека с компьютером. Кроме того, от этого есть и чисто практическая польза – мы не просто узнаем новые и вспоминаем забытые
горячие клавиши, но и начинаем понимать логику и идею, лежащую под ними, и тем самым во много раз облегчая свою повседневную работу с ПК.
Добавить Комментарий