  X mouse wheel scroll
  Colas Nahaboo (colas@sophia.inria.fr)
  July 22 1999
  |F ǎ (kawagisi@yk.rim.or.jp)
  {F2000N115

  ̃hLǵAlXȃAvP[VŃzC[t}EXgp
  @Ă܂BColas Nahaboo X mouse wheel scroll page
  (http://www.inria.fr/koala/colas/mouse-wheel-scroll/) |󂵂̂
  B
  ______________________________________________________________________

  ڎ

  1. ͂߂
  2. 
  3. n[hEFA
  4. X Server
     4.1 XFree 3.3.2 (ƁAȍ~)
     4.2 XFree 3.3.1 (єh : SuSE)
     4.3 p̃T[o

  5. gpm
  6. mhub
  7. XTerm
  8. rxvt
  9. Athena EBWFbg
  10. Netscape
  11. XEmacs
  12. Gnu Emacs
  13. TCL / TK AvP[V
     13.1 exmh

  14. Filerunner
  15. KDE
  16. NEdit
  17. GlQuake (and Quake2)
  18. ImWheel
  19. GTK / GNOME / GIMP
  20. ꂽAv ( X, tty)
     20.1 Pine

  21. zC[lCeBuɃT|[gvO
  22. 삵ȂvO
  23. X ȊOAUnix ȊO
  24. FAQ - 悭鎿ƁA̓
  25. News
  26. {ɂ

  ______________________________________________________________________

  1.  ͂߂

  ̃y[W (http://www.inria.fr/koala/colas/mouse-wheel-scroll/) ̖
  ÍAVzC[}EX (MS intellimouseALogitech pilot+ 
  Logitech mouseman+) gp邽߂ɃnbNꂽ̂SďW߂邱Ƃ
  B͖{ɑ傫Ȃ܂BA̑傫ȃy[Wł邱
  ͌ȒPȂ̂ŁA͂悢ƂłƎv܂...
  y󒍁FIWỉp HTML t@ĆAL̂悤Ɉ̒y[
  WƂĕ\܂B̖|ł̕ HTML, text, ps ̊e^
  ܂ HTML ^̏ꍇ 1 y[W 1 ̃ZNVƂȂ܂Bz

  F̕ɒǉRgAāApb`[őĂB
  y󒍁F[͉pŏČ҂ɑĂB|ɊւẮu
  {ɂāvƂZNVz

  o  Ă E[F colas@sophia.inria.fr (A͐vɂ
     邱Ƃ񑩂ł܂)

  o  Ɨǂ̂ (1999N7) [JtH[ X Mouse Wheel WWW
     Board <http://www.inria.fr/koala/colas/mouse-wheel-scroll/wwwboard>
     ɃbZ[W|Xg邱ƂłB̃[U[葬Ȃ
     邱Ƃł邵A܂AȂڏ𑼂̃[U[ƋL
     邱Ƃł܂B ̃{[h6̏߂ɉ܂ibZ[W
     ǂނƂ͂ł邪A|Xg邱Ƃł܂łj݂
     CĂ܂i613jB

  o  ܂ usenet̃j[XO[v comp.windows.xɃbZ[W|Xg
     邱Ƃł܂Aŋ߂ł͂̃j[XO[v͂܂ǂ܂Ă
     ܂B

  ̃y[WŎgĂ鏬ACR Qbullets
  <http://www.inria.fr/koala/qbullets/>.  ɂ܂By󒍁F̓I
  WỉpŃz[y[W̏ꍇłB̖|łł́AACR͂
  z

  ̑̕SẴR[h̓pubNhCȂ̂ŁA(ρA) D
  Ȃ悤ɎgĂB܂A̕ɌfڂR[h蒸
  ÃR[hpubNhCƂȂ邱Ƃmꂽ̂Ƃ݂Ȃ
  ̂ŁAB

  ́AȂ̍vƂƂɂȂ̖O(сAEFuETCg܂͓d
  q[AhX)ڂ܂B́AnbNꂽƂ񍐂邾Œ
  ڂɂ͎Ȃ̂ŁAڍׂɊւđ̐lBڂȂƘAƂ悤
  ɂ邽߂łBȂ̂Ƃ̕ɕ\邱Ƃ]܂ȂȂA
  ̎|`...

  2.  

  ̌́AXT[o (XFree <http://www.xfree86.org> 3.3.2 ܂͂
  ȏjgp܂̓CXg[KvƂƂłB́A
  x̃}EXɈˑzC[vgRi"}EXEhCo"j𗝉
  łAzC[̏㉺̓U button4  button5 ̃Cxgɂ݂
  悤ɖ|󂵂܂BāA͊̕ X Av
  button4  button5 ̃CxgMƂɁAXN[EEBhE
  ɃXN[̓oCh邽߂ config t@C̕ύXƃpb
  `EvȎSĂW悤ƂĂ܂B

   }EX        X           {^          c[Lbg      Avł
   zC[ ===> T[o ===> 4  5     ===> Av   ===> XN[
   ̓                    ̃Cxg      ݒt@C

  ɐ݌vꂽc[LbǵAzC[𗝉邱̃c[Lbg
  SẴAṽ\[X̂ǂݒ肷邾łނł傤BA
  U͂قǒPł͂Ȃ̂ŁÃKV[ȁiÂAÝjAv
  ŒȂ΂Ȃ܂B܂΁AV X Av
  StarOffice ̂悤ɁAlCeBuɃzC[T|[gn߂ł傤...

  ̃pb`́Aȉ̂悤Ȉт悤ɂĂ܂Bł
  ΁AȂopb`ɂ|V[̗p悤ɂĂ
  ĩ|V[ŕʂ̃pb`o邱Ƃ͎RłjF

  o  XN[́ANsiN ͈ʓI 5`10jPʂœ

  o  Shift L[ꂽƂ́Â߂ 1sPʂœ

  o  Ctrl L[ꂽƂ́A1y[WPʂœ

  3.  n[hEFA

  ŏɌzC[t}EX́AGenius}EX (Easyscroll) Ŏ
  T|[gł (ۂɂ͍ŏ̃XN[E}EX́Amouse systems
   "3d mouse" ł CoreyFro <http://www.jps.net/vmac/coreyfro/> 
  Ƀ[Ă܂)B 1 NɃ}CN\tǵA Intellimouse
  ŊTO𕁋y܂BāA̂悤ɕŝ߂Ɏg
  ܂ (́AMS Avł̂ݓ삵܂)BÃ[J
  [(Ⴆ logitech) ́A Windows ̑SẴAvP[Vœ삷鐻
  iŁAɒǂ܂B

  ɃXgĂȂ}EXE^Cvł̐̕񍐂肢܂Bs
  ɂ͑悤łBiƂ̂̂́F Fellows mouse,
  Kensington Thinking Mouse, Genius NetScroll, Genius NetMouse 
  NetMouse Pro, ASCII MieMouse...).

  o  Logitech  "plus" f́A܂(́AgĂ܂)BR
     [hX܂BA "OEM" o[W(St̔)
     ł͂Ȃ(LQ)BgbN{[܂B Logitech
     Mouseman+  "Logitech Mouseman Wheel" ɖOς_ɒӂ
     B

  o  Microsoft Intellimouse ́A܂B

  o  IBM scrollpoint }EX(bvgbv touchpoint)͓Ƃ
     John Fulmer 񍐂Ă܂B

  o  Mitsumi Mouse  XF86Config  IntelliMouse ̐ݒ肪KvłB
     Thorsten Schnier <http://www.arch.usyd.edu.au/~thorsten/>

  o  Genius EasyScroll. Âf͓삵܂B MS E
     5rbg̃vgRgĂ܂B Martin Brunner
     <http://members.xoom.com/flexman/index.html>

  o  Primax Navigator mouse <http://www.primax.nl/> (VA[hB
     Johnathan Swan <http://www.jswan.demon.co.uk/> ̕)A
     ӁI PS/2[hł͓Ȃ悤I Thomas Heier ́A񍐂Ă
     ܂B

  o  Arnd Bergmann ́AKnopex Wineasy 4D}EX̃vgR𗝉
     imwheel  gpm ̃pb` <http://www.et.fh-
     osnabrueck.de/~std7652/4d-mouse/> ܂(̃}EXɂ́A3
     ̃{^2̃zC[A͐ň͐̃XN
     [pł)BAX p̃pb`͂܂B (X  5̃{^
     ̂݃T|[gĂ܂B͐zC[ modifiers(Cq)
     A meta-button-4 & 5 ̂悤ɂ܂Ƃł)

  o  boeder Sm@artMouse Pro
     <http://195.185.187.227/d/k_prodshow.asp?artnr=65418> 
     intellimouse  config œ삵܂B̃zC[́AƔ΂
     œ܂(Frank Weis̏)B

  񍐂ꂽs (̃n[hEFA𔃂Ă͂Ȃ)

  o  Logitech FirstMouse+ (܂͂鍑AႦ΃hCcł  PilotMouse+)
      OEM o[WŁAgbv̏ɍS́Błmȏ
      FUJISHIMA Satsuki 玄ɉL̓dq[ŕ񍐂܂F

  ͐wM-S48 }EX́AX ̏œ삵܂xƓdq[
  o܂B́Aꂪsmł邱Ƃm߂łB
  A͂菭肵܂ | M-S48 ƈ
  ꂽ}EXɂ 2̃^Cv܂BЕ͓삵܂
  ͓܂B܂莄܂łɌWebN First-
  Mouse+ ɂ͂R̃^Cv̂łBSɐFtĂ
  uvo[WAŚuoNvo[WAS
  mN 'OEM' o[WłB

  ŏ͓̂̂삵܂B 'MODEL: M-C48' ƈĂ
  ܂BSĂ͒̕ڂ̃{fBɃ[hĂ܂B
  AS/N  P/N ̓XebJ[ɈĂ܂B{fBɐF
   Logitech S܂B͂ 1997N12ɔ
  ܂B

  Ԗڂ삵܂B'MODEL: M-S48' ƈĂ܂BS
  ́̕AXebJ[ɈĂ܂BS͖āA{fB
  ͍hĂ܂B 1998N9ɂ𔃂܂B

  ṒAݎss\Ȃ̂łB'MODEL: M-S48 OEM' ƈ
  Ă܂BSẮ̕AXebJ[ɈĂ܂B
  {fBɃmÑS܂Bwss\xȂ̂ŁA
  ̗Fl͎ɂ݂Ă܂I ނ͂1999N2ɔ
  ܂B

  ͊e}EX̃pbP[WJĔ܂F 3ƂقȂ
  WbN{[hĂ܂BāAR̎ނƐقȂ
  ܂B삷 2  Logitec ̃Rg[`bvŁA삵
  Ȃ̂ Zilog ̃`bvłB(fW^EJ
  Ă΁AeՂɂȂ𗝉邱Ƃłł傤)B

  vF3ނ̃WebN FirstMouse+ ܂BI͔
  Ńe[() 'MODEL: M-C48' ͗ǂIłB

  LOGITECH ̃}EX́AJ[Ŝ̂𔃂܂傤

  FTcL͌ɂX܂BāÃ}EX
  FreeBSD  "moused" f[ɂĔFĂ܂BA
  F悤 XFree 邱Ƃ҂ł܂B

  F3{^̃zC[}EX HP  'C4736-60101' ƂĔ
  ܂B(gbvɍ HP SAʂ HP part no. XebJ[ƃ
  f 'M-S 48')  Zilog `bvɂss\ Logitech M-S48
  OEM ̕ώłB (Martin Kroeker ̏j

  o  Kensington Scroll Mouse-in-a-Box, Chris Grossmann
     <http://www.tunl.duke.edu/~grossman/> ɂ񍐁B

  ́AW3-{^E}EXƂĂA܂͐VzC[vgR
  s邱Ƃł}EX肳邱Ƃ߂܂B́A X
  Av܂͔ Microsoft OS ̉ł̐ɗeՂɂ܂BLogitech
  ̃}EX́A̋@\Ă܂ MicroSoft ̃}EXɂ͂܂
  B͂ȊO͒m܂(ȂmȂAɃ[)B
  MS Windows ł MicroSoft ̃}EX́AMicroSoft Avł̂ݓĂ
  I(ނ́Aŋ߁AVhCoőSẴAvT|[g
  ɂȂ΂ł)B\ȂVÂ̂ PS/2 o[Wg
  悤ɂĂB PS/2 vgŔA葬[gŃ}EXT
  vÔŁAǂX|X܂B

  4.  X Server

  4.1.  XFree 3.3.2 (ƁAȍ~)

  XFree 3.3.2 ́A܂̃}EXzC[foCXT|[gĂ
  ܂B XFree 3.3.2 ̔zz̒̃hLgEt@C README.mouse
  <http://www.inria.fr/koala/colas/mouse-wheel-scroll/README.mouse> 
  ĂB̃T|[g͋ɂ߂ĊSŁAJX^}CY\łB͂
  ̃}EX (Ⴆ logitech MouseMan+) ̑4̃{^ (̐ew{^
  )T|[gĂ܂Bł班ȂƂ XFree 3.3.2 ɃAbvO[
  h邱Ƃ́A@łBʏAKvȂƂ̑SĂ
  XF86Config  bindtag 錾APointer ZNVɈȉ̍st
  邱ƂłF

      ZAxisMapping 4 5

  X́AzC[ Z (axis)ƂĎgɁA{^Ɋ蓖Ă
  B{^́AăRpCAvP[Vc[LbgɃpb`
  𓖂ĂȂĂA\[XύX邾łT|[gB̕@
  łB 4{^}EXĂāA4{^gȂAzC[
  pɒ 5  6 ĝł͂ȂÃy[W̃\[XgƂ
  悤 button6  button4 ēx蓖Ă邱Ƃ߂܂BAX
  ͌ɂ 5 ̃{^T|[gĂ܂(] Xt  Motif A
  vł̓{^ 6 gƂłȂ)AAvP[VɈˑ
  鉡̃{^́AgȂłBāAX T[o͂̕@͂
  Ȃ悤Ȃ̂ŁÃ{^gƂ͂܂߂ł܂B
  L̏ꍇ "Protocol imps/2"  "ZAxisMapping 4 5" gĂB
  6̃{^gȂAȉ̃R}hŉ̃{^ button6 ɍēx
  Ă邱Ƃł܂F

  xmodmap -e "pointer = 1 2 3 6 4 5"

  ̃R}h́ȀvZX̂߂ɁAΘbIɃ{^藣
  肷悤Ȃ_ɒӂĂBŎ X ̃X
  ^[gAbvEXNvgňȉ̃R[hg܂F

  ## rebind mouse buttons for mouseman+
  echo '#!/bin/sh
  xmodmap -e "pointer = 1 2 3 6 4 5"' >/tmp/x$$
  chmod a+x /tmp/x$$
  xterm -bg pink2 -fg blue4 -fn 9x15 -name "Pointer Remap" -e /tmp/x$$
  rm -f /tmp/x$$

   XF86Config t@Cňȉ̃vgR̂ǂꂩgKv
  ܂F

    Section "Pointer"
        Protocol "imps/2"            # for ps/2 wheel mouse
        Protocol "intellimouse"      # for serial wheel mouse
        Protocol "MouseManPlusPS/2"
        ... see the Xfree docs

  xI  X Config t@C Emulate3Buttons `ĂƁA
  ̃pb`܂̓T[o͓삵܂B

  4.2.  XFree 3.3.1 (єh : SuSE)

  3.3.2 ܂͂ȏɃAbvO[hKv܂BL̍s͎Ql
  ̂߂ɂ݂̂ɍڂ܂B
  o  Tim Goodwin (Cygnus) ɂ gpm  XFree T[o ւ̃pb`:
     mouse.shar ́A ftp.cygnus.co.uk://people/tgoodwin/
     <ftp://ftp.cygnus.co.uk/people/tgoodwin/> ܂́A[JRs[
     <http://www.inria.fr/koala/colas/mouse-wheel-scroll/mouse.shar> 
     ł܂B  XFree 3.3.1 ̃\[X肵RpC
     Kv܂BȂɃgbL[ł͂܂ X ̃RpCV
     Xe(imake) ɂĂ悭mĂƖ𗧂܂B

  o  RpCς݂ XFree T[oF ͂̃pb`ꂽ
     XF86_SVGA v3.3.1 ܂B ftp://koala.inria.fr/pub/linux/
     <ftp://koala.inria.fr/pub/linux/> 
     XF86_SVGA_331_mousewheelpatched.gz
     <ftp://koala.inria.fr/pub/linux/XF86_SVGA_331_mousewheelpatched.gz>
     ł܂B Alejandro Guerrieri S3Virge pɃRpCꂽ
     o[WBkꂽ linux oCi
     <ftp://koala.inria.fr/pub/linux/XF86_S3V_mousewheelpatched.gz> 
     ł܂B readme
     <ftp://koala.inria.fr/pub/linux/XF86_S3V_mousewheelpatched.txt> 
     B܂ Olivier Dalle
     <http://www.inria.fr/sloop/personnel/Olivier.Dalle/> ɂăRp
     Cꂽ version for S3
     <ftp://koala.inria.fr/pub/linux/XF86_S3_mousewheelpatched.gz> 
     ܂B

  o   SUSE X servers <http://www.suse.de/XSuSE/XSuSE_E.html> ɁA
     pb`gݍ܂Ă܂B

  W XFree v3.3.1 T[óAVA MS }EXł̂ݓ삵܂BL
  ̉MS ̃VA PS/2 o[WƁA Logitech }EXœ
  삵܂B

  XF86Config t@Cňȉ̂ǂꂩ̃vgRgpKv
  ܂F

    Section "Pointer"
        Protocol "imps/2"            # for ps/2 wheel mouse
        Protocol "intellimouse"      # for serial wheel mouse

  ӁI ̃pb`܂̓T[óAX Config t@C (XF86Config)
  Emulate3Buttons `ĂƓ삵܂I [Ǐ]: zC[
  ́A{^ 1, 2, 3 p̃VOio܂B [R]:
  Enulate3Buttons ͕GȎdg݂ŏĂāA3 ȏ̃{^
  ́AĐ݌vKv邽߂łB []: Emulate3Buttons ̍s
  ݂ꍇ́ARgɂ܂B

  4.3.  p̃T[o

  AcceleratedX (X-Inside <http://www.xig.com>): Michael Welsh Duggan  
  ŃJ[lăRpC邽߂
  /usr/src/linux/drivers/char/psaux.c ̃pb`
  <http://www.epita.fr:8000/~epx/projets/index.html> 쐬܂B
  [JRs[ <http://www.inria.fr/koala/colas/mouse-wheel-
  scroll/psaux.c-with-INTELLIMOUSE-ps2> ܂B

  Metro Link <http://www.metrolink.com> : 1998N6 Microsoft
  Intellimouse T|[gĂ܂ ( Logitech ͂܂?)B

  5.  gpm

  gpm 1.13 ɃCxgfR[h邱Ƃł܂Aȉ̃R}ĥ
  ꂩɂgpmō쐬ꂽ[foCX /dev/gpmdata (/dev/ttyS0 
   dev/tty/psaux̑)̏o͂ŏꂽCxg X ɓǂݍ܂
  邱Ƃł܂B

  gpm -t pnp -R
  gpm -t ms3 -R

  (Olivier SIMON <Olivier.Simon@Capway.com> ɂ tip)

  6.  mhub

  Marcus Sundberg <http://www.stacken.kth.se/~mackan> ͎̂悤ɏ
  ܂F GGI project <http://www.ggi-project.org/> (http://www.ggi-
  project.org/)  LibGII  mhub ƌĂ΂郆[eBeB
  Bmhub  VA PS/2 MouseMan+ (ё̑̃}EX)̉ꂩ
  ̃}EXf[^ǂނƂłāAVA IntelliMouse,
  MouseSystems ܂ PS/2 tH[}bgŏo͂邱Ƃł܂B

  PS/2 |[g MouseMan+ ȂAԂ XFree T[o mhub g
  Ǝvł傤BȂȂ XFree (3.3.3.1 ܂ł̑SẴo[W)
  ́AzC[f[^Ԉĕ͂邩łB̓zC[ɉ
  Ƃɕ܂---tɂȂAAvP[V͌ɃX
  N[܂B IntelliMouse ̃f[^Ȃ琳߂̂ł
  AMouseMan+ ̓_łBꍇAmhub ͖ɗ܂B

  7.  XTerm

  zC[̓Z[uĂo͍sXN[܂Bȉ̍s
  /.Xdefaults ɒǉĉB

  !# Scrolling on wheel mouse: half a page normally, line per line with shift
  XTerm.vt100.translations: #override\n\
   Shift<Btn4Down>,<Btn4Up>:scroll-back(1,line)\n\
   Shift<Btn5Down>,<Btn5Up>:scroll-forw(1,line)\n\
   Ctrl<Btn4Down>,<Btn4Up>:scroll-back(1,page)\n\
   Ctrl<Btn5Down>,<Btn5Up>:scroll-forw(1,page)\n\
   <Btn4Down>,<Btn4Up>:scroll-back(1,halfpage)\n\
   <Btn5Down>,<Btn5Up>: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: #override\n\
       <Btn5Down>: StartScroll(Forward)\n\
       <Btn4Down>: StartScroll(Backward)\n\

  8.  rxvt

  rxvt <http://babayaga.math.fu-berlin.de/~rxvt/> ́A xterm ̒u
  ̂łAo[W 2.4.6 zC[}EXT|[gĂ
  B\[Xt@C͕̒svłB

  9.  Athena EBWFbg

  Athena x[XɂSẴAvP[VŎgpł܂BL
  /.Xdefaults ɒǉĉB
  !## Athena text widgets
  *Paned.Text.translations: #override\n\
   Shift<Btn4Down>,<Btn4Up>: scroll-one-line-down()\n\
   Shift<Btn5Down>,<Btn5Up>: scroll-one-line-up()\n\
   Ctrl<Btn4Down>,<Btn4Up>: previous-page()\n\
   Ctrl<Btn5Down>,<Btn5Up>: next-page()\n\
   None<Btn4Down>,<Btn4Up>:scroll-one-line-down()scroll-one-line-down()scroll-one-line-down()scroll-one-line-down()scroll-one-line-down()\n\
   None<Btn5Down>,<Btn5Up>:scroll-one-line-up()scroll-one-line-up()scroll-one-line-up()scroll-one-line-up()scroll-one-line-up()\n\

  xrn, xmh p̑ϕ֗ȃnbNłF  "Table Of Contents" (TOC)
  EBWFbgɃXN[@\ǉ܂B

  !## Athena table of contents, for toc widgets of xrn & xmh
  *toc.Translations: #override\n\
   Shift<Btn4Down>,<Btn4Up>: scroll-one-line-down()\n\
   Shift<Btn5Down>,<Btn5Up>: scroll-one-line-up()\n\
   Ctrl<Btn4Down>,<Btn4Up>: previous-page()\n\
   Ctrl<Btn5Down>,<Btn5Up>: next-page()\n\
   None<Btn4Down>,<Btn4Up>:scroll-one-line-down()scroll-one-line-down()scroll-one-line-down()scroll-one-line-down()scroll-one-line-down()\n\
   None<Btn5Down>,<Btn5Up>:scroll-one-line-up()scroll-one-line-up()scroll-one-line-up()scroll-one-line-up()scroll-one-line-up()\n\

  10.  Netscape

  SĂ Netscape o[Wœ삷͂łB 2.02, 3.01, 4.02,
  4.04, 4.05, 4.5 ŃeXg܂Bg Sergey V. Kovalyov 
  Alexey Solovyov  1998N611 Alexey Marinichev R
  gr[givj܂B
   /.Xdefaults Ɉȉǉ܂:

  !## NETSCAPE
  Netscape*drawingArea.translations:  #replace    \
          <Btn1Down>:           ArmLink()   \n\
          <Btn2Down:           ArmLink()   \n\
          ~Shift<Btn1Up>:       ActivateLink()  \n\
          ~Shift<Btn2Up>:       ActivateLink(new-window)  \
                                          DisarmLink()    \n\
          Shift<Btn1Up>:        ActivateLink(save-only)  \
                                          DisarmLink()    \n\
          Shift<Btn2Up>:        ActivateLink(save-only)  \
                                          DisarmLink()    \n\
          <Btn1Motion>:             DisarmLinkIfMoved()  \n\
          <Btn2Motion>:             DisarmLinkIfMoved()  \n\
          <Btn3Motion>:             DisarmLinkIfMoved()  \n\
          <Motion>:             DescribeLink()  \n\
          <Btn3Down>:           xfeDoPopup()    \n\
          <Btn3Up>:             ActivatePopup() \n\
          Ctrl<Btn4Down>: PageUp()\n\
          Ctrl<Btn5Down>: PageDown()\n\
          Shift<Btn4Down>: LineUp()\n\
          Shift<Btn5Down>: LineDown()\n\
           None<Btn4Down>: LineUp()LineUp()LineUp()LineUp()LineUp()LineUp()\n\
           None<Btn5Down>: LineDown()LineDown()LineDown()LineDown()LineDown()LineDown()\n\
          Alt<Btn4Down>: xfeDoCommand(forward)\n\
          Alt<Btn5Down>: xfeDoCommand(back)\n

  Netscape*globalNonTextTranslations: #override\n\
   Shift<Btn4Down>: LineUp()\n\
   Shift<Btn5Down>: LineDown()\n\
   None<Btn4Down>:LineUp()LineUp()LineUp()LineUp()LineUp()LineUp()\n\
   None<Btn5Down>:LineDown()LineDown()LineDown()LineDown()LineDown()LineDown()\n\
   Alt<Btn4Down>: xfeDoCommand(forward)\n\
   Alt<Btn5Down>: xfeDoCommand(back)\n

  ĹAALT L[ Netscape ̃EBhE1y[WSĂXN[
  @\ǉ܂BȂȂAeZNV̍Ō 2s
  (Alt<Btn><Down>) 폜邾łBL[ł̃XN[Lɂ
  ꍇ́AL̉Ɉȉ 6sǉĂF

   <Key>KP_9: PageUp()\n\
   <Key>KP_3: PageDown()\n\
   <Key>KP_8: LineUp()\n\
   <Key>KP_2: LineDown()\n\
   <Key>KP_4: ColumnLeft()\n\
   <Key>KP_6: ColumnRight()\n

  ǐLF Alexey MarinichevWilliam M. Perryɂ֘AȂnbN : 
  ꂪ{ɂƂ킩܂ (t[ɓKp̂ł͂
  )F Btn3 GgLƒu܂F

          <Btn3Down>: \n\
          <Btn3Down>,<Btn3Up>: xfeDoCommand(back)\n\
          <Btn3Down>,<Btn3Motion>: xfeDoPopup()\n\

  ƁAE{^ENbNŃobNANbNƃhbOŃj[\
  ܂BӁF t[XN[ɂ͍ŏɂ̓Nb
  NKv܂BȂ Netscape ͂ȂXN[ł
  ƂmĂ悤ɂ͌܂(΁F|C^ʒu𔻒f
  ɂ͓݂܂)B

  11.  XEmacs

  ʏ́A William M. Perry  mwheel.el
  <ftp://ftp.cs.indiana.edu/pub/elisp/mwheel.el> emacs pbP[Wg
  ׂłBÃN𓮂O mwheel.el ̃x[^
  <http://www.inria.fr/koala/colas/mouse-wheel-scroll/mwheel.el> (Feb 23
  1998) ̃[JRs[A܂͉L̎쐬̃R[hg
  Ƃł܂B

  .el t@C (ftHg  /.emacs) ɂǂꂩĂB

  ;;=============================================================================
  ;;                    scroll on  mouse wheel
  ;;=============================================================================

  ;; scroll on wheel of mouses
  (define-key global-map 'button4
    '(lambda (&rest args)
      (interactive)
      (let ((curwin (selected-window)))
        (select-window (car (mouse-pixel-position)))
        (scroll-down 5)
        (select-window curwin)
  )))
  (define-key global-map [(shift button4)]
    '(lambda (&rest args)
      (interactive)
      (let ((curwin (selected-window)))
        (select-window (car (mouse-pixel-position)))
        (scroll-down 1)
        (select-window curwin)
  )))
  (define-key global-map [(control button4)]
    '(lambda (&rest args)
      (interactive)
      (let ((curwin (selected-window)))
        (select-window (car (mouse-pixel-position)))
        (scroll-down)
        (select-window curwin)
  )))

  (define-key global-map 'button5
    '(lambda (&rest args)
      (interactive)
      (let ((curwin (selected-window)))
        (select-window (car (mouse-pixel-position)))
        (scroll-up 5)
        (select-window curwin)
  )))
  (define-key global-map [(shift button5)]
    '(lambda (&rest args)
      (interactive)
      (let ((curwin (selected-window)))
        (select-window (car (mouse-pixel-position)))
        (scroll-up 1)
        (select-window curwin)
  )))
  (define-key global-map [(control button5)]
    '(lambda (&rest args)
      (interactive)
      (let ((curwin (selected-window)))
        (select-window (car (mouse-pixel-position)))
        (scroll-up)
        (select-window curwin)
  )))

  Ċ֘AbƂāAL[ XEmacs ̃irQ[gȉ̃R
  [hgpł܂B

  ;;=============================================================================
  ;;                    scroll on numpad
  ;;=============================================================================

  (define-key global-map 'kp_9 'scroll-down)
  (define-key global-map 'kp_3 'scroll-up)
  (define-key global-map 'kp_6
    '(lambda (&rest args) (interactive)  (other-window 1)))
  (define-key global-map 'kp_4
    '(lambda (&rest args) (interactive)  (other-window -1)))
  (define-key global-map 'kp_2
    '(lambda (&rest args) (interactive)  (scroll-up 1)))
  (define-key global-map 'kp_8
    '(lambda (&rest args) (interactive) (scroll-down 1)))
  (define-key global-map 'kp_7 'beginning-of-buffer)
  (define-key global-map 'kp_1 'end-of-buffer)
  (define-key global-map 'kp_5
    '(lambda (&rest args) (interactive)  (recenter 0)))

  12.  Gnu Emacs

  ʂ XEmacs ̏ꍇƓl mwheel.el
  <ftp://ftp.cs.indiana.edu/pub/elisp/mwheel.el> emacs pbP[Wg
  ׂłB ``XEmacs ̃ZNV''B AL̉
  Elisp gp邱Ƃł܂B Sylvia Knight
  <http://www.cl.cam.ac.uk/~sfk1000/>, Sylvia.Knight@cl.cam.ac.uk ̍D
  ɂ---1998N22ɑĂ܂:

  (defun up-slightly () (interactive) (scroll-up 5))
  (defun down-slightly () (interactive) (scroll-down 5))
  (global-set-key [mouse-4] 'down-slightly)
  (global-set-key [mouse-5] 'up-slightly)

  (defun up-one () (interactive) (scroll-up 1))
  (defun down-one () (interactive) (scroll-down 1))
  (global-set-key [S-mouse-4] 'down-one)
  (global-set-key [S-mouse-5] 'up-one)

  (defun up-a-lot () (interactive) (scroll-up))
  (defun down-a-lot () (interactive) (scroll-down))
  (global-set-key [C-mouse-4] 'down-a-lot)
  (global-set-key [C-mouse-5] 'up-a-lot)

  L̂悤5sł͂ȂAy[WԂXN[ꍇ́A
  John Rowe ĂꂽL GNU Emacs R[h܂B

  (defun scroll-up-half ()
    "Scroll up half a page."
    (interactive)
    (scroll-up (/ (window-height) 2))
  )

  (defun scroll-down-half ()
    "Scroll down half a page."
    (interactive)
    (scroll-down (/ (window-height) 2))
  )
  (global-set-key [(mouse-5)] 'scroll-up-half)
  (global-set-key [(mouse-4)] 'scroll-down-half)

  13.  TCL / TK AvP[V

  Bruce Stephens ̏F ̃R[ht@CAႦ
  /.mscroll.tcl ̒ɓ܂BĂ source  /.mscroll.tcl Ƃ
   tcl AvP[V̒ŃCN[h܂B

  proc mscroll {bindtag} {
      bind $bindtag <Button-5> [list %W yview scroll 5 units]
      bind $bindtag <Button-4> [list %W yview scroll -5 units]
      bind $bindtag <Shift-Button-5> [list %W yview scroll 1 units]
      bind $bindtag <Shift-Button-4> [list %W yview scroll -1 units]
      bind $bindtag <Control-Button-5> [list %W yview scroll 1 pages]
      bind $bindtag <Control-Button-4> [list %W yview scroll -1 pages]
  }

  āAV`֐ւ̃p[^ƂāA^邱Ƃ
  āA]EBWFbgŃoCfBO錾܂BႦ
  TkMan ̍ŌɉLǉ܂B

  source ~/.mscroll.tcl
  mscroll Text

  13.1.  exmh

  exmh ł́A /.tk/exmh/user.tcl ̒Ŏ̂悤ɂ܂F

  source ~/.mscroll.tcl
  proc User_Init {} {
      mscroll TScroll
  }
  proc User_Layout {} {
      mscroll .ftoc.t
  }

  ɃOEBhETcl ̃vvgňȉ̃R}h͂Kv
  ܂ (menu Pref/Hack support/)B

  auto_mkindex .tk/exmh/

   exmh ċNĂB

  14.  Filerunner

  Filerunner <http://www.cd.chalmers.se/~hch/filerunner.html> ́Ao[
  W 2.4.1 ̓l[eBuɃzC[}EXT|[gĂ܂B
   filerunner 2.4 ւ̃pb` <http://www.inria.fr/koala/colas/mouse-
  wheel-scroll/filerunner-patches.txt> ̗u܂B
  filerunner 2.3 ł삷͂łB

  (Filerunner ́A܂łɌ Windows, Amiga,Macintosh ̃t@C
  }l[W̒ł͍ō̂̂łƂ̂̕]łBĂ݂Ă
  I)

  15.  KDE

  zC[T|[gĂ܂(beta 4)B jamus jegier Ɋӂ܂B KDE
  credits <http://www.kde.org/credits.html> B 
  pb` Felix Ide ŏɎɃ[őĂ܂B KDE Beta4 
  ̃pb` <http://www.inria.fr/koala/colas/mouse-wheel-
  scroll/KDEbeta4-mousewheel.patch> ̃[JRs[ł܂B
  A͂ɎvȃfBXgr[V̈ꕔƂĔzzĂ
  ł傤Aʏ͂킴킴_E[hKv͂Ȃł傤B

  ӁF KDE ̓ftHgł xrdb g悤ɐݒ肳Ă悤łB
  ]  /.Xdefaults  app-default t@C̓ǂݍ݂𖳌ɂ܂B
  KA xrdb -remove R[Ă폜ĂB

  ۂɂ͏Ɍقǖł͂Ȃ Joe Votour ͎Ƀ[ňȉ
  悤ɌĂ܂ (1999N23)F

       KDE 1.1pre1  (Ȃ̃y[WɃXgĂ) IMWheel v
       Og΃zC[}EXT|[g܂B͂̏
        KDE ̃EFuTCgɂ KDE documentation/FAQ 肵
       ܂B҂ɂ Qt zC[}EX̃T|[g_
       (̓o[W 2.0 ɂȂƎv܂) KDE ̓l[eBu
       T|[g𓝍ł傤B XFree86 ZAxisMapping @\
       ́A(Ȃ̃y[Wɂ悤) xrdb -remove sꍇ
       ̂ݎgp邱Ƃł܂BA KDE ł͂Ȃv
       OɂSĂ KDE ̋@\(KDE1.1 ͔ KDE vOA
       Ⴆ Netscape  KDE ̃bN & tB[悤ɂ
       )𖳌ɂ܂B܂AX^[gAbvɂ𖳌ɂ
       @ȂƂ(Autostart tH_ɒuXNv
       g͎gAĂ悤ɂ͌܂)̂ŁA xrdb 
       KDE ̃ZbVJnOɎsKv܂Bv
        -- IMWheel vOg܂傤AΖ͉
       ܂B

  A Jamus Jegier <http://jamus.home.ml.org/info> pb`
  Ԃڂqׂ E[󂯎܂F

       KDE p̎̃pb`ɂďڂqׂƎv܂B͌
       j[XłANAƎv܂B̃pb`
       ̓zC[@\ǉ܂łB́A3ȏ̃{^
       ǂȃ}EXɗȂoOC͂ł
       BNR[h́Ã}EX{^̐ݒł
       B[R[h͉L̂悤Ȃ̂Ɍ܂F

       struct mousestuff;
       if mouse_buttons=2 do ... if mouse_buttons=3 do ...
       set_mouse(mousestuff)
       ̂悤Ƀ}EX 2 ܂̓{^ȂAmousestuff 
       `ԂłBX Window System ̓zC[}EX 5 {^
       ̃}EXƂČ̂Ń}EX̐ݒ͑䖳ɂĂ܂A}E
       XɗȂ܂B͂ꂪNA邱Ƃ]݂
       B
       jamus

  ܂ Qt2.0 ł́A}EXzC[lCeBuɃT|[g悤v撆
  悤łAkvt  KDE 1.1 Ɋ܂܂o[Wł́AłɃ}EXzC
  [̃T|[gR[hɐ܂荞ݍς݂ł̂ŁÂ܂܎g܂B

  y󒍁F2000N9 Qt2.2 J܂z

  16.  NEdit

  Chuck Homic ƁA Tim B. Laursen  Tobias Winterhalter ɂB:

  !# NEdit
  NEdit*text.Translations: #override\n\
          Shift<Btn4Down>,<Btn4Up>: scroll_up(1)\n\
          Shift<Btn5Down>,<Btn5Up>: scroll_down(1)\n\
          Ctrl<Btn4Down>,<Btn4Up>: previous_page()\n\
          Ctrl<Btn5Down>,<Btn5Up>: next_page(1)\n\
          <Btn4Down>,<Btn4Up>: scroll_up(3)\n\
          <Btn5Down>,<Btn5Up>: scroll_down(3)\n

  ͈x 3sXN[̂DłAL 3 ȊOɕύX
  ł܂B .Xdefaults ܂ .nedit ɒuƂł܂B
  -Chuck
  ӁF wvEBhEł́AXN[ł܂B
  - Tim

  17.  GlQuake (and Quake2)

  Linux  Glquake  svgalib gp܂Bo[W1.3.0 ̂݃z
  C[}EXT|[g܂Bsunsite _E[hł܂B (oC
  i
  <ftp://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.libc5.bin.tar.gz>
  ܂̓\[X
  <ftp://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz>
  ̉BAÂ svgalib o[W qkHack Library <http://www-
  hmw.caribel.pisa.it/fxmesa/fxqkhack.html> ŃnbN邱Ƃł܂B
   X  libsvga G~[gA (Quake 1  II)ƂĂ܂
  삵܂I)

  ́AɃzC[L[R[hM悤 qkHackLib nbN
   (mouseman+ logitech 4{^}EXŁAオ "i"A"j"Aew{^
  "k")B̃o[W[Jɓł܂F qkHackLib-
  v0.5-colas.tgz <http://www.inria.fr/koala/colas/mouse-wheel-
  scroll/qkHackLib-v0.5-colas.tgz> .

  18.  ImWheel

  IMWheel <http://solaris1.mysolution.com/~jcatki/imwheel/> ́AzC[
  }EXT|[gĂȂÂvOT|[g}ꂵ̂̃nb
  NłBAXN[邽߂̃L[{[hANZ[^𗝉
  B͒PɁA}EX{^̉L[̉ɕϊ܂BA
  EBhẼNXƖOɂĐݒ\ȑfGȋ@\܂B

  19.  GTK / GNOME / GIMP

  GTK+ 1.2.x o[W̓}EXzC[T|[gĂ܂I

  20.  ꂽAv ( X, tty)

  20.1.  Pine

  Roy Stogner ɂF

  }EXzC[ X ł͂ȂAvŎgp邽߂ɁÃAvN
  ÃAvpɃ\[Xg悤 xterm ݒ肷邱Ƃł
  BႦΎ́AقƂǂ̃EBhEꂽ[[_ pine 
  DȂ̂ .Xdefaults ɂ͈ȉ̂悤Ȃ̂܂܂Ă܂B

  !# There are non-ascii characters here; sorry if it messes with your
  !# mail reader

  pine*vt100.translations: #override\n\
   Shift<Btn4Down>,<Btn4Up>:string("^[OA")\n\
   Shift<Btn5Down>,<Btn5Up>:string("^[OB")\n\
   Ctrl<Btn4Down>,<Btn4Up>:string("^[OA^[OA^[OA^[OA^[OA")\n\
   Ctrl<Btn5Down>,<Btn5Up>:string("^[OB^[OB^[OB^[OB^[OB")\n\
   <Btn4Down>,<Btn4Up>: string("^[OA")\n\
   <Btn5Down>,<Btn5Up>: string("^[OB")\n\

  ӁF ^[ ͈ ASCII s "escape" ɒuKv
  ܂B

  xterm ł "string()" ̓́A^ꂽs̃AvɃ^Cv
  ܂BĊʂ̒ ASCII ł͂Ȃ̂͏㉺L[̃R[h
  B́AႦ vi ł "Ctrl-V, L[" œ͂ł܂B

   "xterm -name pine -title Pine -e pine" Ɠ͂ pine  ŗL
  \[Xɏ] xterm ̒ pine N܂B

  21.  zC[lCeBuɃT|[gvO

  Star Office <http://www.stardivision.com/> ́AۓI Linux (
   OS) p̃ItBXXC[gŁAlgp͖łBo[W 5.0 
  zC[T|[g܂Bŏ̃o[W̓XN[tȂ
  ŁAŏ̃o[Wp̃pb`肷悤ӂĂI

  22.  삵ȂvO

  ɂ́A\[XɃpb`ĂKv܂BɃpb`
  āÃpb`Ƀ[őĂB邢́AƗǂ͍̂
  ҂Ƀpb`Ă悤ɗvA܂̓pb`ނɑď̃[
  XɎ荞ނ悤vĂI ʂ̉͑OóF ``ImWhell'' 
  gƂł...

  o  svgalib

  Abvf[ǵF L̃\tgEFA͏zC[̃T|[g
  ͂łF

  o   xforms <http://bragg.phys.uwm.edu/xforms> ̍ T.C. Zhao 
     199N37Ɍ܂FuzC[}EX͎̃o[Wő̓T
     |[g܂v

  o   The JX toolkit <http://www.its.caltech.edu/~jafl/jx/> ́AT|[g
     ǉłB

  23.  X ȊOAUnix ȊO

  ̂ցF

  o   Buzzkill's mouse-wheel world <http://buzzkill.stomped.com/>  PC
     Q[d_IɈĂ܂B

  24.  FAQ - 悭鎿ƁA̓

  Q - KDE 삵Ȃ悤Ɍ܂

  A - ܂Bg KDE ܂gƂ܂B KDE 
  tH[j[XO[vŎ₵Ă(Ċmȉ񓚂
  ꂽ玄ɋĂ)B

  Q - Windows Av̂悤ɁA{^܂܂ɂă}EX̃X
  N[𓮂upjOv̂łB

  A - ̓c[LbgŎĂ̂荂xȓłˁB̕
  ɂ͉͂܂񂪁A̋@\̓c[Lbg (TCL+TK)A܂͂
  ꎩgɎĂvO (Idraw, spreadsheets...  ̂悤
  h[ñvO) Ō邱Ƃł܂B

  Q - ̃}EX^gbN{[^|C^͓삵܂H

  A - ŏ̃Xebv́AX T[o (XFree ܂͂̑)ŃzC[T|[
  g邱ƂłBꂪT|[gĂȂꍇ́A͉邱
  ł܂B

  Q - OɂȂɃ[ôɕԎȂ̂łH

  A - ׂ͂R܂BāÁuob`vɂă[
  X܂B͑SẴzC[}EXɊ֘A[
  xɓǂŕԎoƂ悭ł傤Bob`̊ԁAȂĂꃖ
  ͑҂ƂɂȂł傤 :-( vȃX|X]݂ȂA X Mouse
  Wheel WWW Board <http://www.inria.fr/koala/colas/mouse-wheel-
  scroll/wwwboard> ̃[JtH[gĂ݂ĂB

  Q - button2 ȊOɁAɂuewv{^gB܂ 4 
  邢́Aȏ̃{^}EXgB

  A - ͍Ǝv܂BX vgR 5 ̃{^̂݃T|[g
  ĂƂƁAxmodmap  2 ̕Iȃ{^𓯂_lɍĊ
  蓖Ă邱ƂĂȂłB]āAɂ͂̉􂪂
  ܂Bł悢̂(ĐzC[̎gp)A X T[o
  {^Cxgł͂ȂAzC[CxgŃL[{[ĥӂCx
  g𑗐M悤ɂׂłB XFree ɂꂪǉƗǂłˁB

  25.  News

  F̃y[W(󒍁FIWỉp̃z[y[Ŵ)XVꂽ
  Ƃ[Œm点ė~́At[EEFuy[WEj^OE
  T[rX NetMind URL-Minder <http://www.netmind.com/URL-
  minder/new/register.html> 𗘗p邱Ƃ߂܂B

  ύXF

  o   1999N722 BBS VXe

  o  ̒x␳邽߂ :-) X Mouse Wheel WWW Board
     <http://www.inria.fr/koala/colas/mouse-wheel-scroll/wwwboard> [
     JtH[쐬

  o  y[WɐFXǉ (obNOꂽ[ǂ)

  o   1999N421 ǉ邽߂̎ԂlXȏ

  o   GTK 1.2 T|[g

  o  }EXǉ

  o   1999N329

  o  Alexei V. Barantsev ɂ XEmacs R[h̏C (`mouse-position' 
      `mouse-pixel-position')

  o  Knopex Wineasy 4D p Arnd Bergmann ɂ imwheel  gpm ւ̃pb
     `

  o   ``mhub'' ̏ǉ

  o   1999N221

  o  FUJISHIMA Satsuki ɂAǂ logitech }EXƂm
     

  o   1999N23

  o   Joe Votour ɂ鐳m KDE ̃Xe[^X

  o   Asmo Saarikoski AOEM  logitech ͓삷͂ƕ

  o   GTK tg̃j[X

  o   Roy Stogner ɂV ``Curses'' ZNVł pine ̃nbN

  o   Primax Navigator }EXXgAbv

  o   1999N19

  o  n[hEFÃZNVŁAǂ̃}EXȂ̃XgJnB
     OEM logitech

  o

  o   l[eBuɃzC[T|[gvOpɁAV
     ``Native'' T|[g̃ZNV쐬

  o   1998N109

  o  n[hEFA ``Hardware section'' ɕ

  o   1998N98

  o   () GTK ZNVJn

  o   1998N93

  o  ̕ W3C HTML Validation Service <http://validator.w3.org>
     (HTML 3.2 )pX܂

  o  Ɛ

  o   Exmh ZNV

  o   1998N828

  o  ``ImWhell'' ̃ZNVǉ

  o   1998N818

  o   ``rxvt'' ̃ZNVǉ (Rauf Gungor Ɋ)

  o   ``glquake'' ZNVɂ qkHacklib ̃pb`ւ̃NXV

  o   1998N812

  o   Netscape ZNV: ALT ǉăty[W̃XN[

  o   1998N716

  o   NEdit ̃wṽXN[͕s\

  o   svgalib 1.3.0 ̓lCeBuɃ}EXT|[gĂ

  o   1998N79 oP[V߂Ă... 61̃[{b
     NXN[ɂB

  o  NEdit

  o   non-X zC[}EXւ̃N

  o   non-working vÕZNV

  o   Netscape ̂悢

  o   glquake ̃ZNV (yeah!)

  o   1998N629

  o   Metro Link ɂ MS Intellimouse ւ̌yǉ

  o  \[X # ɂ fixed RgJn (athena)

  o   1998N55

  o  ̐VZNVJn

  o   Felix Ide ɂ KDE ̃ZNV

  o   1997N1230 ̃y[W(󒍁FIWỉp̃z[y[W)a
     

  26.  {ɂ

  |Ɋւ邲ӌ JF vWFNg <JF@linux.or.jp> ĂɘAĂ
  B

  ZF

  o  U   Yuji Senda        <ysenda@pop01.odn.ne.jp>

  o  ˌ Setoguchi Takashi <setzer@mx3.tiki.ne.jp>

  o  쓈   Tsutomu Kawashima <kawawa@mail.interq.or.jp>

  o     MIZUHARA Bun      <mizuhara@acm.org>

  o     TAKEI Nobumitsu   <takei@webmasters.gr.jp>

