Windowsでは、中央のボタンをクリックするのに慣れていて、「高速スクロール」オプションを上下に提供します。Linuxでこの動作を取得するにはどうすればよいですか?現在、代わりに中央クリック時に戻るボタンを使用しているようです。
CentOSでGnomeを使用しています。
Windowsでは、中央のボタンをクリックするのに慣れていて、「高速スクロール」オプションを上下に提供します。Linuxでこの動作を取得するにはどうすればよいですか?現在、代わりに中央クリック時に戻るボタンを使用しているようです。
CentOSでGnomeを使用しています。
回答:
このWindowsの機能は、Unixの世界に実際に導入されたことはありません。Unixの世界では、マウスの中ボタンの主な目的は、クリップボードの内容(より正確には、自動コピーされるマウスで選択されたテキスト)を貼り付けることです。WindowsでLinuxスタイルの中マウスボタンをサポートするFirefoxやChromeなどのクロスプラットフォームアプリケーションがいくつかありますが、それ以外のほとんどのアプリケーションはこの種のきめ細かいスクロールをサポートしていません。
それにもかかわらず、システムレベルでかなり接近することができます。マウスボタンを押すと、マウスの動きがホイールイベントに変換されるようにマウスボタンを設定することができます。これは以前と同じ機能ですが、アプリケーションがホイールイベントを受信するため、モーションが途切れる可能性があります。ホイールイベントは、通常、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
構成できます)。
ルートアクセス権があり、すべてのユーザー(ホームマシンで受け入れ可能)に対して変更を行いたい場合は、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
Evdev Wheel Emulation Timeout
パラメータを下げすぎると、マウスの中央ボタン(クリック)機能が完全に失われる可能性があります。たとえば、Evdev Wheel Emulation Timeout
その値を下回ると、Evdev Middle Button Timeout
Middle Button Clickイベントは生成されなくなります。個人的な経験から、以下は合理的にうまく機能しているようです
xinput --set-prop 'Generic USB Mouse' 'Evdev Middle Button Emulation' 1
。xinput --set-prop 'Generic USB Mouse' 'Evdev Middle Button Timeout' 50
。xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Timeout' 100
。それは合理的なクリックとスクロール機能を提供しますが、トリガーが速すぎるとEvdev Wheel Emulation Timeout
Device "evdev"
の"EmulateWheelButton"
値の前後に二重引用符を追加して配置することで機能するバージョンを導き出しました"2"
。(
Device "evdev"
意味をなさないと思いますDriver "evdev"
か?これMatchProduct
は、単なる汎用USBマウスではなく、すべての入力デバイスのオプションを設定するディレクティブの代替になると思います。
Pointer_EnableKeys
ワラコロ:マウスキーを押すか、ここで正確に何が欲しいのか、正確にそれを手に入れることができない場合に何を解決するのかを正確に説明する新しい質問をします)。