中央ボタンを押しながらマウス移動スクロールを作成する

中央ボタンを押しながらマウス移動スクロールを作成する

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

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

答え1

Windowsのこの機能は、実際にはUnixの世界には適用されませんでした。 Unixの世界でマウスの中央ボタンの主な用途は、クリップボードの内容(またはより正確にはマウスで選択したテキストが自動的にコピーされるテキスト)を貼り付けることです。一部のクロスプラットフォームアプリ(FirefoxやChromeなど)は、Windows上でLinuxスタイルのマウスの中央ボタンをサポートし、その逆も同様ですが、他のほとんどのアプリはこの種の細かいスクロールをサポートしていません。

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

この構成を使用するにはx入力プログラム(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 サーバー構成ファイル。ルートとして、次/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

答え2

これはFirefoxのデフォルト設定でできることがわかりました。

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

スクリーンショット

   春夏シーズン

答え3

これはUbuntu 20.04/20.10で動作します。すべてのアプリケーションでどこでも動作します。 Waylandでこれを行う方法はわかりませんが、libinputを操作するので可能です。

この回答は許可された回答の例にすぎません。

#/usr/share/X11/xorg.conf.d/41-libinput.conf
Section "InputClass"
        Identifier "Logitech USB Receiver Mouse"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "ScrollButton" "2"
        Option "ScrollMethod" "button"
        Option "NaturalScrolling" "true"
EndSection

答え4

chrome自動スクロールにこの拡張機能を使用できるため

自動スクロール

拡張機能をインストールした後、Chromeを再起動することを忘れないでください

関連情報