web-dev-qa-db-ja.com

中央ボタンを押したままマウスの動きをスクロールさせる

Windowsでは、私は中央のボタンをクリックするのに慣れており、上または下に「高速スクロール」オプションを提供しています。 Linuxでこの動作を得るにはどうすればよいですか?現在、代わりに中央クリック時に戻るボタンを使用しているようです。

CentOSではGnomeを使用しています。

33
some1

このWindowsの機能は、実際にUnixの世界に浸透したことはありません。 Unixの世界では、マウスの中ボタンの主な目的は、クリップボードの内容(より正確には、自動コピーされるマウスで選択されたテキスト)を貼り付けることです。 FirefoxやChromeなどのクロスプラットフォームアプリケーションのいくつかは、WindowsでLinuxスタイルの中央マウスボタンをサポートし、その逆も同様です。きめの細かいスクロール。

それにもかかわらず、システムレベルでかなり近づくことができます。マウスボタンを押すと、マウスの動きがホイールイベントに変換されるように、マウスボタンを設定できます。これは慣れ親しんだ機能と同じですが、アプリケーションはホイールイベントを受け取るため、通常、1行または1列全体のスクロールとして解釈されるため、モーションが途切れる場合があります。

この構成で遊ぶには、 xinput プログラムを使用します(GUIフロントエンドがあるかどうかはわかりません)。まず、次のコマンドを実行して、ポインティングデバイスの名前を確認します。

$ xinput --list       
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Generic USB Mouse                         id=8    [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation          id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=9    [slave  keyboard (3)]

たとえば、上記の出力では、ポインターデバイスはGeneric USB mouseです。次のコマンドを実行して、調整可能なプロパティを一覧表示できます。

xinput --list-props 'Generic USB Mouse'

探しているプロパティのセットは、「Evdev Wheel Emulation」のものです。次の設定では、マウスの中央ボタン(ボタン2)を押すと、マウスを動かすとホイールイベントが送信されます(4 =上、5 =下、6 =左、7 =右)。

xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5

他のパラメータ(慣性、タイムアウト)を微調整したい場合があります。

これらのコマンドをスクリプトに含めることができます。 #!/bin/sh を最初の行として追加し、スクリプトファイルを実行可能にします(例:chmod +x ~/bin/activate-wheel-emulation.sh)。次に、セッションの開始時に実行するコマンドのリストにそのスクリプトを追加します(gnome-session-propertiesを使用すると、それを構成できます)。

Rootアクセスがあり、すべてのユーザー(ホームマシンで受け入れ可能)を変更したい場合は、 X.orgサーバー構成ファイル を使用するほうが簡単です。 rootとして、_ マウスドライバー の設定を含む/etc/X11/xorg.conf.d/wheel-emulation.confというファイルを作成します。設定は同じですが、構成が少し異なります。

Section "InputClass"
    Identifier "Wheel Emulation"
    MatchProduct "Generic USB Mouse"
    Option "EmulateWheel" "on"
    Option "EmulateWheelButton" "2"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
EndSection

これはFirefoxの設定から実行できることがわかりました。

  1. プルダウンメニューから:[編集]-> [設定]
  2. 次に、タブを選択します。詳細->一般
  3. 次に、「自動スクロールを使用する」をチェックします

スクリーンショット

ss

26
some1

chromeの場合、この拡張機能を自動スクロールに使用できます

AutoScroll

拡張機能のインストール後にchromeを再起動することを忘れないでください

1
codegames