Реклама:

info.krc.karelia.ru

win -:|:- koi -:|:- iso -:|:- dos -:|:- mac

Start -:|:- Проекты -:|:- О нас

Крутится колесо счастья
Как заставить работать скроллирующих мышей

И любой потух бы кореш
От поганых тех колес
Но Иван от них всего лишь
Околесицу понес

Владимир Асмолов

С самого начала моего приобщения к Линуксу меня раздражало одно обстоятельство: категорическое нежелание скроллирующих мышей (то есть, по русски, мышей с колесиком) выполнять свое прямое предназначение. То есть - прокручивать экран при вращении колеса. Вне зависимости, произведены ли они лично фирмой Microsoft или ее многочисленными последователями. Из коих, правда, опробовал только Genius в модификации NetSrollMouse. Благо колесо это как средняя клавиша трехклавишной мыши (большой нынче дефицит, как выснилось) работало бы - так ведь нет. А теоретически - могло бы, при нажатии ведь кликает...

Однако только что проблема эта разрешилась, к моей радости. А также - к вящей славе Линуксовой. Как - это и будет темой моей заметки.

Первопричиной послужило письмо одного из посетителй моего сайта. Которому удалось заставить работать колесо на мыши по имени Genius NetMouse Wheel PS/2 - вероятно, близкой родственнице моей, - посредством пакета imwheel.rpm из дистрибутива Best Linux. Такового у меня не имелось, и скачать с их сайта (http://bestlinux.net) мне ничего не удалось. Но пакет этот обнаружился (путем поиска через ссылки с http://www.opennet.ru) на сайте его автора, Джонатана Аткинса (Jonathan Atkins). Откуда и был благополучно скачан.

Утилита IMWheel доступна в версиях 0.9.7 (исходники и rpm-бинарники) и 0.9.8 (только исходники). Предназначена она вроде специально для MS IntelliMouse (откуда и название), но (в версии 0.9.7) заработала и с моим Genius. Правда, после некоторых конфигурационных манипуляций, описанных в соответствущем man-файле.

Для начала в файле XF86Config в секции Pointer, сразу после Protocol и Device, следует внести строку

ZAxisMapping	 4 	5

Затем - изменить строку Protocol. Со следующем из логики значением

Protocol	"NetMousePS/2"

мышь моя в XWindow просто отказывалась работать. Впрочем, это я уже проходил на стадии установки и конфигурирования X'ов. И потому опробовал предлагавшийся автором вариант

Protocol    "IMPS/2"

После этого оказалось, что необходимо отключить строки

#    Emulate3Buttons
#    Emulate3Timeout    50

Тут-то, наконец, все почти заработало. Для начала колесико при нажатии повело себя как нормальная средняя клавиша трехклавишной мыши.

Затем, заработала прокрутка. Правда, в разных оконных средах по разному, не во всех приложениях. Так, колесо нормально функционировало в StarOffice, но категорически отказывалось делать это в Netscape Navigator и всех KDE-приложениях. А в Gkt приложениях или, скажем, в Lyx'е работало своеобразно.

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

А в Lyx - наоборот, не действовало на стадии выбора файла, но после загрузки его - прокручивало окно, как положено.

Я начал глубокомысленно рассуждать о совместимости IMWheel с различными оконными средами и приложениями. Но тут сообразил, что программу-то следует еще и запустить.

Тут обнаружились странные вещи. Если IMWheel разместить в Автостарте KDE - колесо работает абсолютно везде. И не выражает при этом никаких отрицательных эмоций. То же имело место быть и в WindowMaker, и в XFce, если запустить imwheel в строке терминала (или в минитерминале).

А вот в IceWM после этого ничего не менялось: где и как колесо работато, там и продолжало, где не работало - там и не работало. Долго не мог понять, в чем дело, потом вспомнил, что в preferences там была строка относительно UseMouseWheel. Посмотрел - оказалось, что эта опция у меня так и осталась включена со времен моих экспериментов с IceWM. Отключил ее - и все благополучно заработало. Поневоле вспомниш о старом добром советском устройстве, специально предназначенном для попадания в ..., скажем так, ухо...

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

Надо сказать, что колесо в XWindow работает не совсем так, как в Windows просто: оно прокручивает экран не построчно, а постранично.

Так что любители крутить колесо в Windows могут благополучно предаваться этому занятию и в Linux. Причем, говорят, даже в консоли: на том же сайте можно найти специальный патч к gpm для работы с колесами. Правда, я его пока не опробовал. Однако и это лучше, чем никак...

В заключение хотел бы поблагодарить своих корреспондентов Alex'а и Антона, письма которых внушили мне веру в победу над колесами.

Лишь под вечер удалося
Самоглотам Ваньку взять
Потому что он колеса
Начал водкой запивать

Владимир Асмолов

Алексей Федорчук
Писано на Поселке 12 апреля 2000 г.


Copyleft by
Alex Fedorchuk