Oh, mouse!
Л. Кэрролл. Алиса в Стране чудес
И правда, это периферийное устройство очень похоже на мышонка. Небольшое пластмассовое «тельце», длинный «хвост» - кабель для связи с компьютером, кнопки - словно плотно прижатые ушки маленького зверька. Бегает, повинуясь движениям руки оператора, мышка по столу, а на экране «мышиный» курсор повторяет каждое ее движение. И легкого нажатия на кнопки, которые в буквальном смысле всегда под рукой, достаточно, чтобы запускать файлы, выделять и перемещать участки текста или рисунка, а то и управлять нарисованным Микки Маусом или другим героем в увлекательной компьютерной игре...
В сущности, мышь может немногое: заставляет курсор на экране повторять движения пластмассового корпуса под рукой и сообщает о нажатии кнопок работающей программе. Но даже такого небольшого набора функций вполне хватает, чтобы значительно облегчить общение с компьютером. Совсем недавно, до появления графических интерфейсов, находились скептики, сомневающиеся в полезности этого манипулятора, тогда для работы, как правило, хватало возможностей клавиатуры. В принципе, и сейчас находятся виртуозы, которые справляются с работой в среде Windows 95/98 без помощи мыши. Но для того, чтобы проверить, насколько это сложно и непривычно, попробуйте хоть что-нибудь сделать без мыши после загрузки Windows. Уверен, что новичкам это дастся с изрядным трудом, и, главное, операционная система при этом потеряет большую часть своей привлекательности. Мгновенно исчезнет основное достоинство - легкость работы, когда интуитивно угадываются верные действия.
Итак, в первую очередь мышка всего лишь двигает курсор по экрану. Перемещение ее корпуса измеряется в шагах, где шаг - это минимальное смещение, регистрируемое датчиками мыши. Специальная программа - драйвер подсчитывает количество шагов, вызывающее переход курсора на следующий элемент изображения (точку или текстовую позицию). Это количество, задающее, по сути, скорость движения курсора, пользователь в некоторых случаях может изменять с помощью специальных функций.
Для точного позиционирования желательно, чтобы скорость движения курсора была небольшой. Но это затрудняет его перемещение на большое расстояние. У первых мышей это неудобство обходилось путем удвоения скорости. Мышь и курсор перемещались в соотношении 1:1 до тех пор, пока скорость движения мыши не достигала определенного значения. После этого число шагов автоматически умножалось на два, соответственно удваивая скорость курсора. Но такое решение приводило к резким изменениям скорости в процессе работы, что не всегда приятно глазу пользователя. Поэтому в современных системах используют другой метод - «баллистический», когда отношение числа шагов мыши и курсора плавно меняется от минимального значения к максимальному.
Что же касается кнопок мыши, здесь управляющая программа почти не встречает никаких сложностей. Нажатие просто замыкает пару контактов, что и замечают операционная система и текущая задача. Или «не замечают», если в данный момент не производится проверка нажатия кнопок. Впрочем, среди предоставляемых драйвером функций имеются и своеобразные «экскурсы в прошлое», когда подсчитывается количество нажатий или отпусканий мышиных кнопок за некоторое время и даже определяются координаты курсора в момент последнего нажатия или отпускания.
До недавнего времени основными операциями, выполняемыми с помощью мыши, были:
-
Щелчок, или клик (от английского click), - одиночное нажатие кнопки мыши. При этом левая кнопка сообщает программе, что объект в окне надо выделить, именно с ним будет производиться дальнейшая работа. Если программа ждет подтверждения действия или его отмены (Ok - Cancel), для этого тоже достаточно одного клика. А щелчок правой кнопки, как правило, вызывает контекстное меню.
-
Двойной щелчок, почти без паузы между кликами, сообщает программе, что какое-то действие надо точно выполнить, например, открыть документ или запустить на выполнение exe-файл какой-либо программы.
-
Выделение - левая кнопка зажимается и ведется по документу. При этом часть текста или графический фрагмент выделяются. Программа знает, что с ними надо будет произвести какое-то действие, а пользователь получает визуальное подтверждение того, что фрагмент выделен - на текст как бы натягивается инверсная подсветка, а на графические элементы «натягивается рамка.
-
Перетащить и отпустить (механизм Drag&Drop) - левой кнопкой мыши объект «зажимается» и перетаскивается на новое место.
Все эти функции уже давно утвердились в Windows, причем их число можно увеличить, если вместе с мышиными действиями зажимать управляющие клавиши Ctrl, Shift и Alt. А начиная с версии Windows 95 OSR2, когда стала исчезать граница между обычной работой на компьютере и работой в Интернете, появился режим оформления рабочего стола Windows и системных окон как Web-страниц, когда одиночный клик можно заменить простым наведением курсора на объект, а двойной клик - одиночным.
Некоторые разработчики предлагают дополнительные решения, которые расширяют функциональные возможности мыши. Та же корпорация Microsoft в 1996 году предложила Microsoft Intellimouse с колесиком для прокрутки текста в окне. Потом эту идею подхватили все крупные разработчики. Большей популярностью стали пользоваться не только колесики прокрутки, но и двойная кнопка для прогонки текста вверх-вниз типа Magic Button в серии Genius Net Mouse.
А фирма Pointix разработала принципиально новый способ управления, основанный на распознавании программой определенных жестов - «гликов» (составное слово от английских glide и click - скользить и щелкать). Эти жесты представляют собой кругообразные движения мыши по часовой и против часовой стрелки, а также быстрые перемещения вправо-влево и вверх-вниз. Такие движения могут производиться в любом месте рабочего окна и либо непосредственно запускают назначенные им действия, либо вызывают на экран всплывающее меню, в котором выбор требуемого пункта производится уже обычным путем - щелчком мыши. Для реализации этой технологии фирмой разработан специальный драйвер, позволяющий пользователю присвоить жестам желаемые действия (всего 12 вариантов, поскольку «глики» могут сопровождаться нажатием клавиш Shift и Ctrl) для каждого из приложений Windows. Дополнительные действия могут вызываться при установке курсора на границы экрана. Упрощенная версия драйвера на 8 функций распространяется бесплатно (www.pointix.com). Кстати, сама мышь при этом остается самой обычной, никаких аппаратных доработок не требуется.
Что там внутри?
Самым распространенным методом определения количества шагов, что мышь пробежала по воле оператора, до сих пор является механический. В нем тяжелый шарик (обычно он металлический и покрыт резиной), установленный в днище корпуса, крутится во всех направлениях, когда мы катаем мышь по столу, и при этом вращает два прижатых к нему фрикционных ролика с взаимно перпендикулярными осями. Соответственно вращению роликов меняется положение курсора по осям экрана.
Все привыкли считать шарик в днище непременным атрибутом любой мыши. Чаще всего так оно и есть, но специалисты из фирмы Honeywell выбрали для своей разработки иной принцип действия, оснастив мышь специальным датчиком, который при движении чуть отклоняется от нейтрального положения. Соответственно, информация о наклоне элементов датчика передается драйверу. В результате для работы с такой мышью не требуется специально подготовленная поверхность, мышь
нормально функционирует в наклонном положении и даже вверх «брюшком», чего с обычной мышью добиться не удастся - шарик проваливается внутрь корпуса. Другая подобная разработка - семейство LifeTime Mouse корпорации Key Tronic.
Но кроме механического способа есть много интересных разработок. Оптический способ позволяет совсем избавиться от механики и делает мышь абсолютно надежной. В такой мыши световой луч отражается от специального коврика, на поверхность которого нанесена сеть пересекающихся черных и синих линий, так что отраженный луч при движении мыши периодически прерывается. А фотодатчики следят за количеством линий, которые мышь пересекла. Хотя у оптического метода есть преимущества не только по надежности, но и по точности отслеживания движения мыши, он нашел применение в небольшом числе моделей, поскольку привязан к собственному коврику без красочной картинки.
Существует и еще один вариант конструкции мыши, так же как и оптический не содержащий движущихся частей (роликов, дисков и т.п.) и не требующий специального полосатого коврика. Эта технология, именуемая Marble Sensing Technology, предложена фирмой Logitech в 1995 году и заключается в нанесении на поверхность обрезиненного шарика узора из расположенных случайным образом черных точек, изображение которых ловит сложная система из 93 фотодатчиков. Причем эта система не только отслеживает движения шарика, но и постоянно перенастраивается на новый вид узора, возникающий из-за налипания на шарик грязи и из-за его износа. Это обеспечивает высокую точность отслеживания движений мыши и позиционирования мышиного курсора, что очень ценится в приложениях по обработке графической информации. Чуть позже компания Logitech предложила изготавливать шарик для такой мыши из настоящего полированного мрамора, чей рисунок прожилок так затейлив и неповторим.




