Читать «Архитектура компьютера» онлайн - страница 116

Эндрю Таненбаум

Следующий тип — оптическая мышь. У нее нет ни колес, ни шарика. Вместо этого в нижней части мыши располагаются светодиод и фотодетектор. Первые модели оптическах мышей перемещались по поверхности особого пластикового коврика, который содержит прямоугольную решетку с линиями, близко расположенными друг к другу. Когда мышь двигается по решетке, фотодетектор воспринимает пересечения линий за счет изменения в количестве света, отражаемого от светодиода. Электронное устройство внутри мыши подсчитывает количество пересеченных линий в каждом направлении. Современные оптические мыши содержат светодиод, освещающий неоднородности нижележащей поверхности, и крошечную видеокамеру, которая снимает изображение (как правило, размером 18X18 пикселов) до 1000 раз в секунду. Сравнение соседних изображений определяет, как далеко переместилась мышь. Некоторые оптические мыши используют для освещения лазер вместо светодиода. Они обеспечивают большую точность, но и стоят дороже.

Третий тип — оптомеханическая мышь. У нее, как и у более современной механической мыши, есть шарик, который вращает два колесика, расположенные

Указатель мыши
Мышь
Резиновый шарикРис. 2.30. Использование мыши для выбора пункта меню

перпендикулярно друг к другу. Колесики связаны с кодировщиками. В каждом кодировщике имеются прорези, через которые проходит свет. Когда мышь двигается, колесики вращаются, и световые импульсы воздействуют на детекторы каждый раз, когда между светодиодом и детектором появляется прорезь. Число воспринятых детектором импульсов пропорционально расстоянию.

Хотя мыши могут быть устроены по-разному, обычно используется следующая схема: компьютеру передается последовательность из 3 байт каждый раз, когда мышь проходит определенное минимальное расстояние (например, 0,01 дюйма). Обычно эти характеристики передаются в последовательном потоке битов. Первый байт содержит целое число, которое указывает, на какое расстояние переместилась мышь в направлении x с прошлого раза. Второй байт содержит ту же информацию для направления у. Третий байт указывает на текущее состояние кнопок мыши. Иногда для каждой координаты используются 2 байта.

Низкоуровневое программное обеспечение принимает эту информацию по мере поступления и преобразует относительные движения, передаваемые мышью, в абсолютную позицию. Затем оно отображает стрелочку на экране в позиции, соответствующей расположению мыши. Если указать стрелочкой на определенный элемент экрана и щелкнуть кнопкой мыши, компьютер может вычислить, какой именно элемент на экране выбран.

Игровые контроллеры

Видеоигры обычно предъявляют особенно высокие требования к взаимодействию с пользователем. Для рынка игровых приставок были разработаны специализированные устройства ввода. В этом разделе мы рассмотрим две интересные новинки в области контроллеров для видеоигр: Nintendo Wiimote и Microsoft Kinect.