9 декабря считается днем рождения компьютерной мыши — именно в этот день почти 50 лет назад, в 1968 году, на конференции по интерактивным устройствам в Сан Франциско Дуглас Энгельбарт представил публике компьютерную мышь. И все это время такой манипулятор был и остается самым массовым: даже сейчас, во времена повального распространения тачпадов, сенсорных экранов и голосовых помощников, мышка зачастую является неотъемлемой частью ПК и ноутбуков. Причин на то, в общем-то, хватает: тут и удобство использования (не нужно запоминать всякие жесты 3-4 пальцами; самое сложное, что нужно знать — двойной клик), и максимальная точность (при желании можно попасть в нужный пиксель монитора — сделать это на тачпаде и тем более на сенсорном экране — из разряда фантастики). В итоге мышь и не думает умирать — и хотя со временем потерялся ее хвост, она, как и VGA с 3.5 мм аудио разъемом, будут существовать еще долго (хотя достаточно компаний хотят их убрать с рынка). Но давайте все же начнем с самого начала — с истории создания первой мыши.
В 1961 году Энгельбарт, сидя на конференции по компьютерной графике (да, для суперкомпьютеров графика появилась на десятилетия раньше, чем для персональных компьютеров), задумался — а как можно удобно управлять графическими элементами на мониторе? Без графики (при текстовом выводе информации) клавиатуры хватало заглаза, но вот управлять элементами, разбросанными по всему экрану, с нее не очень-то удобно (хотя, в принципе, возможно даже сейчас — та же Windows 10 вполне сносно, но очень медленно, управляется только с клавиатуры). Идея, пришедшая ему в голову, была крайне простой: по сути любой дисплей представляет из себя двумерный массив пикселей, каждый из которых имеет свою координату на двух перпендикулярных осях (назовем их X и Y). На экране можно иметь метку-курсор, которая позволяет работать с объектом, находящимся на экране под ним. Но вот как управлять курсором? Да очень просто — мы сделаем два диска, каждый их которых будет отвечать за движение по каждой из осей. Снимать данные с каждого диска нетрудно (значение числа Pi можно округлить, тут это не особо важно), и в результате из двух колесиков и нескольких палочек с простейшим микропроцессором можно получить устройство, которое фигурирует в патенте как «Индикатор положения XY для системы с дисплеем». Сама заявка на патент была подана в 1967 году, а сам патент был получен только в 1970ом.
Представленная в 1968 году мышь выглядела так:
С виду что-то отдаленно напоминающее современную мышку, правда тут было три кнопки и весила она как утюг. Но в те времена такое устройство не прижилось: во-первых, дабы не хромала точность, контроллер в мыши должен был обсчитывать движения хотя бы с десяток раз в секунду — в противном случае можно было легко промазать мимо кнопки (для сравнения, современные мыши имеют частоту опроса 125-1000 Гц, то есть 125-1000 раз в секунду). Но тут уже сдавался сам чип в мыши: напомню, что это был конец 60ых, и частоты микропроцессоров был даже не мегагерцы, а десятки или сотни килогерц. В итоге было решено пойти на хитрость: очевидно, что нам нужно раз в 100 мс получать данные о том, как сильно прокрутилось то или иное колесико. При этом начальная точка каждого движения по умолчанию является конечной точкой предыдущего. Тогда зачем нагружать контроллер вычислениями типа (координата конца) - (координата начала), если можно каждый раз обнулять начальную координату? В таком случае нам остается всего-то передвинуть курсор на экране на то количество пикселей, которое соответствует координате конца движения, а такие данные обсчитать контроллер мыши уже без проблем мог. Ну а самую первую координату после старта системы стали брать в центре экрана — именно поэтому даже сейчас после загрузки системы курсор мыши находится в центре дисплея.
Однако основная проблема энгельбартовской мыши была даже не в этом: колесики могли крутиться строго по горизонтали или вертикали, поэтому вы могли перемещаться по дисплею или вертикально, или горизонтально — никаких движений по диагонали не было. В итоге такая мышь, конечно, позволяла быстрее перемещаться по элементам на дисплее, чем клавиатура, но до удобной работы было еще далеко.
Исправить этот досадный недостаток смог Билл Инглиш, причем всего через 2 года после получения патента Энгельбартом — в 1972 году. Он, к слову, был ассистентом Энгельбарта, и предлагал ему воспользоваться шаровым приводом, который военные использовали еще с 1952 года: он представлял собой обычный шар для боулинга, прикрепленный к сложной аппаратной системе, и вращение шара вызывало смещение курсора на экране. Разумеется, тут не было никаких проблем с перемещением курсора по диагонали, но Энгельбарт признал такой способ неэффективным.
В итоге Инглиш, раздосадованный таким решением своего начальника, перешел работать в Xerox, где в 1972 году представил рабочую мышь с шаровым приводом. Решив, что управлять шаром напрямую неудобно, он расположил его внутри мышки, и два ролика снимают его вращение по обеим осям. Для определения угла поворота каждого ролика изначально использовался контактный энкодер (как и в военной схеме 1952 года) — это был диск с нанесенными на нем на равных расстояниях металлическими дорожками и тремя контактами, прижатыми к нему. При вращении ролика вращался диск, и контакт то пропадал, то появлялся — это позволяло отследить, в какую сторону и как сильно вращается ролик:
Основная проблема — передвижение только по двумя осям — была решена, зато появилась масса других. Во-первых, шарик катался по столу и быстро собирал грязь и пыль, что приводило к загрязнению и заеданию роликов. Во-вторых, контакты на энкодерах быстро окислялись и истирались, что опять же ухудшало точность. Ну а самыми основными проблемами была стоимость и то, что графических интерфейсов тогда как бы и не было, так что изобретение использовали лишь внутри компании, а в продажу первый ПК с мышью вышел лишь в 1981 году (это был Xerox 8010), причем мышь там стоила 400 долларов (больше 1000 долларов по текущему курсу). Разумеется, за такую цену манипулятор провалился — люди привыкли работать только с клавиатурой и не видели смысла в графических интерфейсах, особенно если для них нужен манипулятор с ценой, сравнимой со стоимостью всего ПК целиком.
Однако Стиву Джобсу этот манипулятор очень понравился, и в 1983 году Apple представляет мышь для своего компьютера Lisa. Отлично понимая, что даже за 100 долларов сей продукт провалится, инженеры в Apple сделали действительно невозможное: цена была уменьшена аж до 25 долларов! При этом, увы, пришлось пожертвовать кнопками — она осталась только одна (и это кстати до сих пор у Apple так). Продукт оказался удачным, и, вкупе с все большим распространением графических интерфейсов, мыши тоже стали развиваться и изменяться — так что об этом и поговорим.
Шаровой привод с оптическим энкодером
Итак, мировое сообщество решило, что мышь таки нужна. Но мышь Инглиша имела достаточно много проблем, о которых я писал выше. То, что загрязнялся шарик, особой проблемой не было — его можно было легко достать, почистить
Так как трения теперь не было, то и проблема с истиранием и окислением контактов ушла, и мышь в таком виде существовала как минимум до начала нулевых (а кое-где используется и до сих пор).
Оптические мыши первого поколения
Многие думают, что оптические мыши — изобретение уже 21 века. На самом деле они всего на 10 лет старше мыши Инглиша — первая такая мышь появилась в 1982 году, но особого распространения не получила: проблема была в том, что для ее работы требовался специальный коврик с нанесенной на ней сеткой — именно от нее отражался свет от диода и принимался датчиком на мыши, ну а отследить перемещение по сетке особого труда не составляло. Вторая проблема была в большой стоимости — в разы выше, чем у шариковых мышей, которые к тому же еще и работали почти с любой поверхностью. Однако и плюсов у оптических мышек хватало: во-первых, это повышенная точность: если в случае с энкодерами было множество передач импульса (стол — колесо — ролик — энкодер), что достаточно сильно снижало точность и уменьшало максимальную скорость передвижения манипулятора, и в итоге если попасть по крестику или ссылку особого труда не составляло, то вот более точные (или быстрые) действия были затруднены, то в случае с оптическими мышками точность была уже на уровне пары пикселей, что позволяло более удобно работать с графикой. Ну и к тому же оптические мыши были все же более надежными — ничего чистить не надо, да и шансов поломки было меньше, так как нет механических элементов.
Оптические мыши с матричным сенсором
Вот мы и подобрались к современности: если вы пойдете в любой магазин электроники, то в дешевом сегменте вы встретите скорее всего именно такие мыши (их от лазерных отличает видимая подсветка сенсора, но об этом ниже). Как же такие мыши работают? Да очень просто: в мыши установлена сверхбыстрая видеокамера, способная делать сотни и тысячи снимков в секунду, и микроконтроллер, сравнивая их, определяет направление и величину смещения мыши. Для упрощения работы камеры используется контрастная подсветка — обычно красная. Основной плюс в сравнении с первым поколением оптических мышей — не нужен специальный коврик, такая мышь в теории работает на любой, даже стеклянной, поверхности (хотя, конечно, максимальная точность достигается все же на ковриках).
Лазерная мышь
Ну и самыми современными и дорогими являются лазерные мыши. Их принцип действия схож с оптическими — все также есть сверхбыстрая видеокамера, однако для подсветки поверхности используется уже не светодиод, а полупроводниковый лазер, а сенсор настроен на улавливание только его длины волны:
Это позволяет добиться еще большей точности — до нескольких тысяч dpi. В общем-то, для обычных пользователей такие мыши не нужны, а вот геймеры их оценили, ибо они позволяют «стрелять в пиксель».
Индукционная мышь
Еще один тип мышей, который можно назвать псевдобеспроводными: они не требуют физического подключения к ПК, и, в отличии от обычных беспроводных мышей, не требуют еще и аккумуляторов — однако, для их работы обязателен специальный коврик, а сама мышь питается засчет индукции (внутри мыши есть катушка, и под действием переменного магнитного поля от коврика на этой катушке появляется электрический ток). Плюсы таких мышек очевидны — вы получаете и беспроводную мышь, и отсутствие проблем при разрядке аккумулятора или батареек. С другой стороны, работать вы сможете только на коврике, что тоже не всем удобно.
Гироскопические мыши
В общем-то, тут и так понятно — в данном случае манипулятор достаточно далек от обычных мышей, и имеет внутри себя гироскоп, который позволяет устройству ориентироваться в трехмерном пространстве. Для работы в системе, где все плоское, он, в общем-то бесполезен, зато при 3D-моделировании или играх позволяет управляться с объектами в пространстве без привлечения клавиатуры.
Эргономические мыши
Где-то с 90ых годов мыши особо не менялись по внешнему виду — это небольшие прямоугольные или овальные бруски с утолщением в центре, на верхнем крае расположены 1-2 кнопки и колесико — в общем-то, я мог этого не писать, и так все знают, как выглядят мыши. Однако не так давно стали появляться мыши, выглядящие как что угодно, но не как мышь — эдакие пирамидки с кнопками сбоку:
В чем их смысл? В том, что такой хват более удобен и привычен человеческой руке, что может позволить избежать для некоторых людей болей в кисти при длительном использовании мыши, ну и повысить точность. На деле, разумеется, все индивидуально, но попробовать стоить каждому — возможно, что именно вам такая нетрадиционная мышь понравится.
Ну а на этом, в общем-то, все по истории и устройству компьютерных мышей: удивительно, но за 50 лет человечество так и не придумало ничего более удобного и простого. Возможно, что все изменится в будущем, ну а пока что можете погладить своего хвостатого (или бесхвостого) зверька на столе и поздравить его с 49-летием.