| Wheel Mouse |
いくつかのページを調べてX上でホイールマウスを使えるようにした。 設定などは このページ を参照にした。使ってみると結構便利。tipsから独立ページさせた。
| 設定 |
logitechかmicrosoftのIntelliMouseならば確実に使えると思う。 設定は非常に簡単で、/etc/X11/XF86Configの
Section "Pointer"
Protocol "IMPS/2"
・
・
ZAxisMapping 4 5
・
・
・
EndSection
|
と直すだけで対応しているソフトではホイールを使うことができる。 対応しているソフトは例えばmozilla0.9.5とかである。試してみよう。
| XEmacsホイールマウスで使う |
.emacsに、以下のような設定を書き足せばよい。
;; 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)
)))
;;And, on a related topic, you may also want this code to navigate in XEmacs with the numeric keypad:
;; 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)))
;;;; end wheel section
|
これでスクロールできるようになる。 シフトを押しながらスクロールさせると1行づつ、 コントロールを押しながらスクロールさせると1ページ単位で スクロールできる。
| kterm でホイールマウスで使う |
.Xdefaultに、以下のような設定を書き足せばよい。
!# Scrolling on wheel mouse: half a page normally, line per line with shift kterm.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. kterm.vt100.Scrollbar.translations: #override\n\ <Btn5Down>: StartScroll(Forward)\n\ <Btn4Down>: StartScroll(Backward)\n\ |
これでスクロールできるようになる。 シフトを押しながらスクロールさせると1行づつ、 コントロールを押しながらスクロールさせると1ページ単位で スクロールできる。
| IMWheel |
スクロール対応していないソフトには、 IMWheelというソフトがある。 インストールしてみるといいかも
$ wget http://jonatkins.org/imwheel/files/imwheel-1.0.0pre1.tar.gz $ tar xvfz imwheel-1.0.0pre1.tar.gz imwheel-1.0.0pre1/ imwheel-1.0.0pre1/Makefile.in imwheel-1.0.0pre1/README imwheel-1.0.0pre1/stamp-h.in ・ ・ $ cd imwheel-1.0.0pre1 $ ./configure ・ ・ $ make ・ $ su # make install
これを実行するとinstallerをダウンロードしてインストールを開始する。
インストール終了したら、 自分のホームディレクトリに 「/usr/local/bin/imwheel &」と書いた .xinitrcを作っておいてXを再起動すればよい。