From: vadik likholetov <vadik@sensi.org>
Subject: Мышь с колёсиком - FAQ по использованию под любимыми ОС
Мышь с колёсиком -- роскошь? Необхотимость :)
фак по утилизации устройства под любимыми операционными системами
Когда ко мне в руки попал майкрософтовский intellimouse, я понял, как
всеми любимая и уважаемая лавка ставит людей на бабки :) -- попробовав
однажды, не сможешь отказаться от того, чтобы не отдать кровные $25 за
фирменную или $9 за совместимую мышь.
Эта страничка не претендует на полноту и абсолютность представленной
на ней информации и является квинтэссенцией из найденного мною в
интернете и собственного опыта.
Все поправки и добавления я выслушиваю в адрес vadik@sensi.org :)
FAQ
О чем это вы?
Я, собственно, о мышке с колесиком :) под эту категорию попадают
Microsoft Intellimouse, мыши серии Logitech+, IBM scrollpoint, Mitsumi
Net Mouse.
Как оно работает/устроено?
Очень просто -- при нажатии на колесико генерируется событие о нажатии
третьей кнопки, при кручении колёсика в разные стороны -- о нажатии
четвертой или пятой кнопки, в зависимости от направления вращения. В
протоколе есть ещё то-то про третью координату, но я не разбирался,
поэтому врать не буду.
Как мне настроить Xы?
1. вписать
ZAxisMapping 4 5
в секцию [Pointer] файла XF86Config и не забыть убрать всё про
Button3Emulation.
2.там же указать правильный тип мыши в Protocol:
Intellimouse для MS Intellimouse/serial
IMPS/2 для MS Intellimouse/PS/2
3.проверить правильность указанного устройства в Device:
/dev/psm для freebsd
/dev/psaux для linux
Конфигурация приложений
Для того, чтобы приложения использовали колесо у мышки, в свой
~/.Xdefaults впишите:
для XEmacs
;=============================================================================
;; scroll on mouse wheel
;;=============================================================================
для Netscape
!## NETSCAPE
Netscape*drawingArea.translations: #replace
: ArmLink() n
: ArmLink() n
~Shift: ActivateLink() n
~Shift: ActivateLink(new-window)
DisarmLink() n
Shift: ActivateLink(save-only)
DisarmLink() n
Shift: ActivateLink(save-only)
DisarmLink() n
: DisarmLinkIfMoved() n
: DisarmLinkIfMoved() n
: DisarmLinkIfMoved() n
: DescribeLink() n
: xfeDoPopup() n
: ActivatePopup() n
Ctrl: PageUp()n
Ctrl: PageDown()n
Shift: LineUp()n
Shift: LineDown()n
None: LineUp()LineUp()LineUp()LineUp()LineUp()LineUp()n
None: LineDown()LineDown()LineDown()LineDown()LineDown()LineDown()n
Alt: xfeDoCommand(forward)n
Alt: xfeDoCommand(back)n
для Xterm
!# Scrolling on wheel mouse: half a page normally, line per line with shift
XTerm.vt100.translations: #overriden
Shift,:scroll-back(1,line)n
Shift,:scroll-forw(1,line)n
Ctrl,:scroll-back(1,page)n
Ctrl,:scroll-forw(1,page)n
,:scroll-back(1,halfpage)n
,:scroll-forw(1,halfpage)n
!# In the scrollbar we map buttons 5 & 4 to 1 and 2 otherwise, core dump
!# This will move proportionnaly to cursor position but we dont know how to
!# program the same exact behavior as in the text widget.
XTerm.vt100.Scrollbar.translations: #overriden
: StartScroll(Forward)n
: StartScroll(Backward)n