У моей мыши есть колёсико Могу ли я его использовать при работе в X?
Да. Но вам нужно будет настроить программы-клиенты для X. Посмотрите страничку Коласа Наабу (Colas Nahaboo) (http://www.inria.fr/koala/colas/mouse-wheel-scroll/).
Если вы собираетесь использовать программу imwheel, следуйте этим простым указаниям:
Трансляция событий от колёсика
Работа программы imwheel основана на трансляции событий от кнопок мыши 4 и 5 в события от клавиатуры. То есть вам нужно заставить драйвер мыши транслировать события от колёсика в события от кнопок 4 и 5. Есть два способа сделать это, в первом из которых трансляцию выполняет moused(8). Во втором методе трансляцию событий выполняет сам X-сервер.
Использование moused(8) для трансляции событий от колёсика
Для того, чтобы moused(8) выполнял преобразование событий, просто добавьте опцию -z 4 к команде, запускающей . Например, если обычно вы запускаете moused(8) командой moused -p /dev/psm0, то теперь вы должны будете использовать moused -p /dev/psm0 -z 4. Если moused(8) запускается у вас автоматически во время загрузки через /etc/rc.conf, то вы можете просто добавить опцию -z 4 к переменной moused_flags в файле /etc/rc.conf.
Теперь вам нужно указать X, что вы используете 5-кнопочную мышь. Для этого просто добавьте строчку Buttons 5 в секцию ``Pointer'' файла /etc/XF86Config. Например, в вашем файле /etc/XF86Config секция ``Pointer'' может принять такой вид:
Пример 11-1. Секция ``Pointer'' для мыши с колёсиком из файла XF86Config для XFree86 3.X с трансляцией через moused
Section "Pointer" Protocol "SysMouse" Device "/dev/sysmouse" Buttons 5 EndSection
Пример 11-2. Секция ``InputDevice'' для мыши с колёсиком из файла XF86Config для XFree86 4.x с преобразованием через X-сервер
Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/sysmouse" Option "Buttons" "5" EndSection
Пример 11-3. Пример ``.emacs'' для простой прокрутки страницы мышью с колёсиком
;; wheel mouse (global-set-key [mouse-4] 'scroll-down) (global-set-key [mouse-5] 'scroll-up)
Использование X- сервера для трансляции событий от колёсика
Если у вас не запущен или если вы не хотите, чтобы moused(8) занимался трансляцией событий от колёсика, то это может сделать X-сервер. Это требует некоторых модификаций в вашем файле /etc/XF86Config. Во-первых, вам нужно правильно выбрать протокол для вашей мыши. Большинство манипуляторов с колёсиками используют протокол ``IntelliMouse''. Однако XFree86 поддерживает другие протоколы, такие, как ``MouseManPlusPS/2'' для мышей Logitech MouseMan+. После того, как вы выберите используемый протокол, в секцию ``Pointer'' нужно будет добавить строчку Protocol.
Во-вторых, вам нужно указать, что X-сервер будет переопределять события от колёсика в события от кнопок 4 и 5. Это делается заданием опции ZAxisMapping.
Например, если вы не используете moused(8) и ваша мышь IntelliMouse подключена к порту для мыши PS/2, в вашем файле /etc/XF86Config должно быть указано следующее:
Пример 11-4. Секция ``Pointer'' для мыши с колёсиком из файла XF86Config с трансляцией с помощью X-сервера
Section "Pointer" Protocol "IntelliMouse" Device "/dev/psm0" ZAxisMapping 4 5 EndSection
Пример 11-5. Раздел ``InputDevice'' для мыши с колесиком в XF86Config из XFree86 4.x с трансляцией через X-сервер
Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psm0" Option "ZAxisMapping" "4 5" EndSection
Пример 11-6. Пример ``.emacs'' для простой прокрутки страницы при помощи мыши с колесиком
;; wheel mouse (global-set-key [mouse-4] 'scroll-down) (global-set-key [mouse-5] 'scroll-up)
Установка программы imwheel
Теперь установите программу Imwheel из Коллекции Портов. Она находится в категории x11. Эта утилита будет преобразовывать события от колёсика вашей мыши в события от клавиатуры.
Например, она может послать в программу последовательность Page Up, когда вы крутите колёсико вперёд. Для преобразования событий от колёсика в нажатия клавиш imwheel использует конфигурационный файл, причём для разных приложений возможна посылка разных последовательностей. Конфигурационным файлом, используемым по умолчанию, является /usr/X11R6/etc/imwheelrc. Вы можете скопировать его в ~/.imwheelrc и отредактировать, если хотите изменить параметры работы imwheel. Формат конфигурационного файла описан на странице Справочника о imwheel(1).
Настройка редактора Emacs для работы с Imwheel (по желанию)
Если вы используете emacs или XEmacs, то в ваш файл ~/.emacs нужно добавить маленький раздел. Для редактора emacs, добавьте следующее:
Пример 11-7. Конфигурация Emacs для работы с Imwheel
;;; For imwheel (setq imwheel-scroll-interval 3) (defun imwheel-scroll-down-some-lines () (interactive) (scroll-down imwheel-scroll-interval)) (defun imwheel-scroll-up-some-lines () (interactive) (scroll-up imwheel-scroll-interval)) (global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines) (global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines) ;;; end imwheel section
Для редактора XEmacs, в ваш файл ~/.emacs добавьте следующее:
Пример 11-8. Конфигурация XEmacs для работы с Imwheel
;;; Для imwheel (mwheel-install) (setq mwheel-follow-mouse t) ;;; end imwheel section
Запуск Imwheel
Вы можете просто набрать команду imwheel в вашем в окне xterm после установки. Она сама перейдёт в фоновый режим и немедленно начнёт работу. Если вы хотите использовать imwheel всегда, просто добавьте её запуск в ваш .xinitrc или .xsession. Все предупреждения о PID-файлах, которые выводит imwheel, можно проигнорировать. Эти предупреждения имеют смысл только в Linux-версии imwheel.