「ロジクール トラックマン マーブル」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎Plasma と Wayland: 記事を追加)
 
(同じ利用者による、間の2版が非表示)
265行目: 265行目:
 
scroll_method on_button_down
 
scroll_method on_button_down
 
}
 
}
  +
  +
=== Hyprland ===
  +
  +
Hyprland は、ホイールエミュレーションのための限られたオプションもサポートしています。以下のブロックを設定ファイルに追加してください:
  +
  +
{{hc|hyprland.conf|2=
  +
device {
  +
name = logitech-usb-trackball
  +
scroll_method = on_button_down
  +
}
  +
}}
  +
  +
{{Note|使用しているデバイスが上記の例と同じ名前であることを確認してください。確認方法は {{ic|hyprctl devices}} コマンドを使用します。}}
  +
  +
{{ic|on_button_up}} や {{ic|edge}} も、[https://wiki.hyprland.org/Configuring/Variables/#input-1 Hyprland の入力ドキュメント]に従って設定することができます。
  +
  +
左マウスボタンと右マウスボタンを同時にクリックすると中央クリックのエミュレーションが動作するようで、追加の設定は不要のようです。
   
 
=== Plasma と Wayland ===
 
=== Plasma と Wayland ===
272行目: 289行目:
 
event="$(basename $(readlink /dev/input/by-id/usb-Logitech_USB_Trackball-event-mouse))"
 
event="$(basename $(readlink /dev/input/by-id/usb-Logitech_USB_Trackball-event-mouse))"
 
qdbus org.kde.KWin /org/kde/KWin/InputDevice/$event org.kde.KWin.InputDevice.scrollOnButtonDown true
 
qdbus org.kde.KWin /org/kde/KWin/InputDevice/$event org.kde.KWin.InputDevice.scrollOnButtonDown true
  +
  +
By default the small left button is used. If you want to use the small right button, set
  +
  +
qdbus org.kde.KWin /org/kde/KWin/InputDevice/$event org.kde.KWin.InputDevice.scrollButton 276
  +
  +
For other buttons, follow the table below:
  +
{| class="wikitable"
  +
! Button     !! Kwin button code    !! Function (default)
  +
|-
  +
| Large button left || 272 || normal click
  +
|-
  +
| Large button right || 273 || right click
  +
|-
  +
| Small button Left || 275 || browser forward
  +
|-
  +
| Small button right || 276 || browser back
  +
|}
   
 
== サンプル設定 ==
 
== サンプル設定 ==
386行目: 420行目:
   
 
左の大きいボタンでテキストを選択して右のボタンで選択範囲を大きくできます。左の小さいボタンは中クリック (セレクションの貼り付け) として機能します。
 
左の大きいボタンでテキストを選択して右のボタンで選択範囲を大きくできます。左の小さいボタンは中クリック (セレクションの貼り付け) として機能します。
 
=== Chromium ブラウザ ===
 
 
デフォルトでは、[[Chromium]] は中クリックを貼り付けコマンドとして扱います。これは Linux の伝統であり、開発者の気まぐれではありません。Windows と同じように、中ボタンで (貼り付けではなく) 自動スクロールを発動させることができます:
 
 
* ブラウザ拡張 ''AutoScroll'' で中クリックを自動スクロールにできます。
 
* この拡張はホイールマウスを使っている Linux ユーザー用で、Marble Mouse のユーザーは対象ではありません。
 
* ウェブページの何もない部分をクリックしたときに自動スクロールが始まります。
 
* When you program one of the small buttons to act as scroll modifier (mouse setup), you can manually scroll web pages '''without''' fixing the browser. That is a press‑and‑hold function. (I recommend installing AutoScroll even though it is not absolutely necessary for scrolling.)
 
* After you assign the scroll modifier to one of the small buttons, the small buttons act a bit differently from one another. The difference is seen when you compare their "press‑and‑hold" behaviors.
 
 
'''AutoScroll''' をインストールしてください。同じような名前の ''Auto Scroll'' 拡張が実装しているのは別の機能です。
 
 
このセクションの情報は Google Chrome にも当てはまります。
 
   
 
=== Firefox ブラウザ ===
 
=== Firefox ブラウザ ===

2024年7月13日 (土) 13:45時点における最新版

ロジクール トラックマン マーブル は4つのボタンとトラックボールを搭載したポインティングデバイスです。マーブルマウス とも呼ばれます。トラックマン マーブルは左右対称なので、どちらの手でも使用できます。トラックボールでスクロールできるようにするには、いくつかの設定が必要です。詳細な画像については、Logitech Marble Mouse (あるいは こちら) を参照してください。

インストール

マウスは起動時や起動したシステムに「ホットプラグ」されたときに自動的に検出されます。特別なインストールは必要ありません。

サンプル設定

使用可能なオプションについては、libinputの詳細設定 を参照してください。

libinput

GDM 3.16 と XFCE 4.12 は libinput を使用します。2019年1月23日の時点で、次の設定手順で機能することがわかっています。

  1. xf86-input-libinput をインストール
  2. /etc/X11/xorg.conf.d/10-libinput.conf を編集
  3. 以下の内容を追加します:
Section "InputClass"
  Identifier   "Marble Mouse"
  MatchProduct "Logitech USB Trackball"
  Driver       "libinput"
  Option       "ScrollMethod"    "button"
  Option       "ScrollButton"    "8"
  Option       "MiddleEmulation" "true"
EndSection

上記の設定は以下の動作になります:

  • 左側の小さなボタンを押しながらトラックボールを動かすと、水平・垂直スクロールが可能になります。
  • 左右の二つの大きなボタンを同時に押すことで、chord-clicks が有効になります
  • 小さな左ボタンで前のページに戻ります。
  • 小さな右ボタンで次のページに進みます。

または:

Section "InputClass"
  Identifier    "Marble Mouse"
  MatchProduct  "Logitech USB Trackball"
  Driver        "libinput"
  Option        "ScrollMethod"        "button"
  Option        "ScrollButton"        "9"
  Option        "MiddleEmulation"     "true"
  Option        "HorizontalScrolling" "false"
  Option        "ButtonMapping"       "1 2 3 4 5 6 7 9 8"
EndSection

上記の設定は以下の動作になります:

  • 右側の小さなボタンを押しながらトラックボールを動かすと、垂直スクロールが可能になります。
  • 水平スクロールは無効です。
  • 左右の二つの大きなボタンを同時に押すことで、chord-clicks が有効になります
  • 小さな左ボタンで前のページに戻ります。
  • 小さな右ボタンで次のページに進みます。

基本機能

デバイスの設定と関係なく、Marble Mouse ボタンの Hardware ID は一定です。

特に設定をしていない場合、ボタンは以下の機能にマッピングされます:

ID ハードウェアアクション 結果
1 左の大きいボタン 通常クリック
2 両方の大きいボタン 中クリック †
3 右の大きいボタン 右クリック
4 (not a button) -
5 (not a button) -
6 (not a button) -
7 (not a button) -
8 左の小さいボタン ブラウザの戻る
9 右の小さいボタン ブラウザの進む
ノート:
  • 大きいボタンを両方同時に押すと中クリックになります。
  • † 同時クリックは設定ディレクティブによって有効になります。Emulate3buttons が必要です。
  • この文章では中クリックホイールクリックを同じ意味で使います。
  • 右クリックの代わりに、オルタネートクリックを使用することもできます。通常、これはコンテキストメニューをポップアップ表示します。
  • 上記の結果はどれも修飾キーを押さなかった場合です。
  • Ctrl などの修飾キーを押しながらボタンをクリックすると別の結果になることがあります。
ID ハードウェアアクション 結果
4 ボールを下に回す カーソルが下に移動
5 ボールを上に回す カーソルが上に移動
6 ボールを左に回す カーソルが左に移動
7 ボールを右に回す カーソルが右に移動
ノート:
  • 修飾キーを押さなかった場合、カーソルが移動します。
  • 修飾キーを押しながら回した場合、別の結果になることがあります。
  • Marble Mouse のトラックボールでホイールマウスと同じように文章をスクロールできます。スクロール修飾を押しながらトラックボールを回すとスクロールします。ただし設定で機能を有効にする必要があります。
ノート: マーブルマウスのトラックボールは、ホイールマウスのようにドキュメントのスクロールを実行できます。スクロールはトラックボールが転がっているときに、スクロール修飾 を押したままにすると発生します。この機能を有効にするには、少なくとも最小設定 を用意する必要があります。

「ホイールモード」でトラックボールを使う場合、通常とは異なるジェスチャーが必要になることがあります。例えば、ホイールマウスでは、Ctrl + ホイール回転 という操作でウェブブラウザのフォントの大きさを変更できます。トラックボールでは、必要な操作は Ctrl + スクロール装飾 + ボール回転 になります。

設定

おそらくサンプル設定が役に立ちます。使ってみて下さい。

設定セクションの情報はあまり興味を引かないかもしれません。ほとんどの Arch ユーザーは udev のホットプラグに必要な新しいバージョンの X サーバーを使っているはずです。

ノート: There is currently (as at May 2012) an issue with Gnome 3 and middle click emulation. See #"Both-large-buttons" combination-click below.

Gnome 3 is used, for example, in Ubuntu 12.04.

ボタンとトラックボール

サンプル設定ファイルを記述したら自由に修正してください。編集する行は3つか4つだけです。

ボタンの割り当て

ボタンが押されたときの新しいアクションを割り当てることができます。パラメータの順番を設定することで割り当てます。

ボタン 1, 2, 3, 8, 9 の値を変更できます (ボタン 2 は両方の大きいボタンを押した時のイベントです)。パラメータ 4, 5, 6, 7 は変更しないでください。デフォルトの設定:

Option "ButtonMapping" "1 2 3 4 5 6 7 8 9"

左利き用にボタンアクションを調整する (左と右の大きいボタンを入れ替えます):

Option "ButtonMapping" "3 2 1 4 5 6 7 8 9"

下の設定はボタン 2 のアクションをブラウザの進むにします。2番目のパラメータ (両方の大きいボタンのクリック) の値である 9 がブラウザの進むです。また、小さいボタンの割り当ても両方変えています。8番目と9番目のパラメータの値である 2 は中クリックです。

Option "ButtonMapping" "1 9 3 4 5 6 7 2 2"

パラメータは番号順に並んでいます。変更できるパラメータは 1, 2, 3, 8, 9 です。パラメータ 4, 5, 6, 7 はトラックボールの移動に対応するパラメータなので変更しないほうが良いでしょう。

両方の大きいボタンのクリック

上述のとおり、ボタン 2 は両方の大きいボタンを同時に押したときのイベントです。設定ディレクティブが存在しない場合、何が起こるかわかりません。何らかのコマンドは発行されますが、結果は定かではありません。同時クリックを有効にしてください:

Option "Emulate3Buttons" "true"

2012年5月現在、GNOME 3 と中クリックのエミュレーションには問題が存在します [1]。GNOME が Xorg の設定を上書きするために、エミュレーションが無効化されます。次のコマンドで GNOME の設定を変えられます:

$ gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true

You only need to do this once (per user) as Gnome remembers the settings between sessions. There is a launchpad bug on the issue in case you are interested.

スクロール修飾

Marble Mouse にはスクロールホイールやスクロールリングが存在しません。スクロール修飾を割り当てることでそれを補うことができます: マウスボタンを使ってトラックボールでスクロールを可能にします。スクロール修飾ボタンが押されているときは、トラックボールはスクロールするようにします。スクロール修飾はデフォルトで割り当てられていますが (基本機能を参照)、デフォルトではスクロール修飾は有効になっていません。スクロール修飾を有効にするだけでなく、別のボタンに割り当てることも可能です。

ノート: スクロールボタンには、スクロール機能に加えて「クリック」機能があります。スクロール修飾は「クリック」とは別の「長押し」機能です。スクロール修飾には小ボタンを使うのが最適です。残念ながら、これらのボタンの標準的な「クリック」アクションは扱いにくいものになっています。小さなボタンのクリックアクションは再割り当てする事をお勧めします。

以下を設定することで、ボタンをスクロール修飾に指定できます:

Option "EmulateWheel" "true"
Option "EmulateWheelButton" "8"

水平スクロールを無効にする

特定の行の設定により水平スクロールは有効になっています。コメントアウトして、水平スクロールを無効にできます。

# 番号記号(ハッシュマーク)は設定行を無効にします。

# Option "XAxisMapping" "6 7"

設定を変更しなければ両方(縦・横)のスクロールを使用可能ですが、この制限(上記の設定)が役立つと感じる人もいます。同様の方法で、垂直スクロールを無効にすることはできません。

右側または左側

前のセクションでは、右側または左側で使用するための設定方法を説明しました。

  • 場合によっては、左利きと右利きの切り替えて使いたい場合があります。
  • 反復運動過多損傷(repetitive strain injury)の初期の兆候を感じたときにこれを使います。

反対の配置に切り替えるには、手動で設定ファイルを編集して、Xサーバを再起動します。ファイル内のコメントによって変更する行を確認できます。必要に応じて、切り替えを自動化するスクリプトを工夫してもいいかもしれません。

Other desktop environments may have widgets to simplify — or complicate, depending how you view it — switching between right and left. With Ubuntu 10.10, for example, you need only mark a box in the mouse control panel to effect a button switch. (You must change the configuration file to get the correct scroll modifier assignment, however. Also, Ubuntu ignores large button assignments in the configuration file; the control panel makes them unnecessary.)

システム全体またはユーザーごと

ノート: Section undergoing revision. Please jump to the sample configuration

If you want the configuration to be system wide, you can add this line to the InputDevice-Section.

Option "ButtonMapping" "1 8 3 2 9"

For a per-user-configuration you need to put this in your ~/.xinitrc.

xinput set-button-map "Logitech USB Trackball" 1 8 3 4 5 6 7 2 9 10 11 12 13

Xorg のホットプラグを使う

以下のエントリを /etc/X11/xorg.conf に追加:

Section "InputClass"
    Identifier   "Logitech Trackball"
    MatchProduct "Trackball"
    Option       "ButtonMapping"      "1 8 3 4 5 6 7 2 9"
    Option       "EmulateWheel"       "True"
    Option       "EmulateWheelButton" "9"
    Option       "XAxisMapping"       "6 7"
EndSection

使用されるパラメータの詳細については、evdev(4) § CONFIGURATION DETAILSを参照してください。

Xorg のホットプラグを使わない

/etc/X11/xorg.conf のマウスデバイスエントリは以下のようになります:

Section "InputDevice"
    Identifier "Mouse0"
    Driver     "mouse"
    Option     "CorePointer"
    Option     "Device"             "/dev/input/mice"
    Option     "Protocol"           "ExplorerPS/2"
    Option     "Buttons"            "9"
    Option     "ZAxisMapping"       "4 5"
    Option     "XAxisMapping"       "6 7"
    Option     "EmulateWheelButton" "9"
    Option     "EmulateWheel"       "true"
EndSection

"Protocol""Auto" オプションでも動作します。Identifier には好きな名前を付けられますが、Section "ServerLayout"InputDevice と同一である必要があります。

Gnome 3 と Wayland

Waylandを使用している場合は、前述の設定ファイルは効果がありません。ただし、Gnome 3 はマウスホイールのエミュレーションを有効にし、マウスカーソルの加速動作を調整するための限定的な設定オプションが提供されています。

マウスホイールエミュレーション

Gnome にはスクロール修飾ボタンを割り当てるオプションがあります。以下のように入力します。

gsettings set org.gnome.desktop.peripherals.trackball scroll-wheel-emulation-button <button_id>

<button_id> は修飾として機能させるボタンのIDです(see #基本機能)。マウスホイールエミュレーションを無効にするには、これを 0 に設定します。

加速度プロファイル

トラックボールは、"flat" または "adaptive" 加速度プロファイルを使用するか、"default" プロファイルを使用するかを設定することができます。これを行うには

gsettings set org.gnome.desktop.peripherals.trackball accel-profile <profile>

を任意の値に設定します。

Sway と Wayland

Wayland を実行している場合、前述の設定ファイルは何の効果もありません。Sway はマウスホイールのエミュレーションを有効にしたり、マウスカーソルの加速動作を調整するための、限定された設定オプションがあります。Sway 設定ファイルに以下のセクションを追加すると、小さな左ボタンが押されているときに、マーブルマウスによるスクロールを有効にします。

input "1133:50184:Logitech_USB_Trackball" {
    scroll_method on_button_down
}

Hyprland

Hyprland は、ホイールエミュレーションのための限られたオプションもサポートしています。以下のブロックを設定ファイルに追加してください:

hyprland.conf
device {
    name = logitech-usb-trackball
    scroll_method = on_button_down
}
ノート: 使用しているデバイスが上記の例と同じ名前であることを確認してください。確認方法は hyprctl devices コマンドを使用します。

on_button_upedge も、Hyprland の入力ドキュメントに従って設定することができます。

左マウスボタンと右マウスボタンを同時にクリックすると中央クリックのエミュレーションが動作するようで、追加の設定は不要のようです。

Plasma と Wayland

Wayland で Plasma Desktop のセッションを実行する場合、qdbus でスクロールを設定することができます。正しいイベント番号を見つける必要がありますが、これは例えば /dev から判断することができます:

event="$(basename $(readlink /dev/input/by-id/usb-Logitech_USB_Trackball-event-mouse))"
qdbus org.kde.KWin /org/kde/KWin/InputDevice/$event org.kde.KWin.InputDevice.scrollOnButtonDown true

By default the small left button is used. If you want to use the small right button, set

qdbus org.kde.KWin /org/kde/KWin/InputDevice/$event org.kde.KWin.InputDevice.scrollButton 276

For other buttons, follow the table below:

Button     Kwin button code     Function (default)
Large button left 272 normal click
Large button right 273 right click
Small button Left 275 browser forward
Small button right 276 browser back

サンプル設定

サンプル設定は Marble Mouse の基本機能を修正・拡張します。

サンプルでは、小さいボタンのどちらかをクリックすることでホイールクリックができます。ホイールクリックは中クリックと同じです。さらに、小さいボタンのどちらかとトラックボールを組み合わせてスクロールができます。スクロールができるのは小さいボタンのどちらかだけですが、ホイールクリックはどっちでもかまいません。両方の大きいボタンを押すとブラウザの戻るイベントになります。進むイベントのボタンはありません。

ID ハードウェアアクション 結果 (サンプル設定) 新しい割り当て
1 左の大きいボタン 通常クリック 1
2 両方の大きいボタン ブラウザの戻る 8
3 右の大きいボタン 右クリック 3
8 左の小さいボタン † ホイールクリック 2
9 右の小さいボタン ‡ ホイールクリック 2
ノート:
  • 両方の大きいボタンを同時に押すとブラウザの戻るになります。
  • 小さいボタンのどちらか片方を押すと中クリックになります。
  • † 小さいボタンを押しながらトラックボールのスクロールができるようになる、スクロール修飾です。
  • ‡ このボタンをスクロール機能にマッピングすることもできます。左利きの場合はこちらのボタンの方が楽です。左手の親指の近くにあるためです。

設定ファイル

以下の行を /etc/X11/xorg.conf.d/10-evdev.conf に追加してください (横スクロールを無効にした右利き向けの設定):

ノート: 他の Linux ディストリビューションでは設定ファイルが別の場所にあることがあります。Ubuntu だと /usr/share/X11/xorg.conf.d/10-evdev.conf です。
#       - - - Logitech Marble Mouse Settings - - -
#
#       The Logitech Marble Mouse buttons are mapped [A-D] from left to right: 
#       A (large); B (small) |  C (small); D (large). 
#
#       Preferred options for right-handed usage:
#       A = normal click [1]  
#       B = middle-click [2] 
#       C = middle-click [2] 
#       D = right-click [3]
#       Hold button B while rolling trackball to emulate wheel-scrolling. 
#
#       Preferred options for left-handed usage:
#       A = right-click [3]  
#       B = middle-click [2] 
#       C = middle-click [2]
#       D = normal click [1]
#       Hold button C while rolling trackball to emulate wheel-scrolling.
#       Pressing both large buttons simultaneously (b) produces a "back" action.

Section "InputClass"
        Identifier  "Marble Mouse"
        MatchProduct "Logitech USB Trackball"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"

#       Physical button #s:     A b D - - - - B C    
#       Option "ButtonMapping" "1 8 3 4 5 6 7 2 2"   right-hand placement
#       Option "ButtonMapping" "3 8 1 4 5 6 7 2 2"   left-hand placement
#       b = A & D 
        Option "ButtonMapping" "1 8 3 4 5 6 7 2 2"

#       EmulateWheel: Use Marble Mouse trackball as mouse wheel 
#       Factory Default: 8; Use 9 for right side small button
        Option "EmulateWheel" "true"
        Option "EmulateWheelButton" "8"

#       EmulateWheelInertia: How far (in pixels) the pointer must move to
#       generate button press/release events in wheel emulation mode.
#       Factory Default: 50
        Option "EmulateWheelInertia" "10"

#       Axis Mapping: Enable vertical [ZAxis] and horizontal [XAxis] scrolling
        Option "ZAxisMapping" "4 5"
#       Option "XAxisMapping" "6 7"

#       Emulate3Buttons: Required to interpret simultaneous press of two large
#       buttons, A & D, as a seperate command, b.
#       Factory Default: true
        Option "Emulate3Buttons" "true"
EndSection

X の再起動

Xorg の設定ファイルに変更を加えても X セッションを再起動しないと反映されません。X セッションを再起動するには、ウィンドウマネージャからログアウトしてからログインし直して下さい。

最小設定

evdev を使う

以下が (Arch Way に則った) 最小設定です。全ての設定を外しても Marble Mouse で基本的なポインティングとクリックはできますが、スクロールはできません。また、両方の大きいボタンを同時クリックしたときに何が起こるかは定かでありません。/etc/X11/xorg.conf.d/10-evdev.conf に追加してください:

Section "InputClass"
        Identifier  "Marble Mouse"
        MatchProduct "Logitech USB Trackball"
        Option "EmulateWheel" "true"
        Option "EmulateWheelButton" "8"
        Option "XAxisMapping" "6 7"
        Option "Emulate3Buttons" "true"
EndSection

その他の設定

コンソール (gpm)

詳しくはコンソールマウスサポートを見て下さい。コンソールで type オプションを imps2 に設定することで gpm を使うことができます。以下のように /etc/conf.d/gpm を編集してください:

GPM_ARGS="-m /dev/input/mice -t imps2"

左の大きいボタンでテキストを選択して右のボタンで選択範囲を大きくできます。左の小さいボタンは中クリック (セレクションの貼り付け) として機能します。

Firefox ブラウザ

古いバージョンの Firefox ではハードウェアの横スクロールが戻ると進むにマッピングされていますが、そのようにマッピングされているとトラックボールで縦スクロールするのが不可能になります。少しでも横の動きをすると URL が移動してしまうからです。修正するには:

  • ロケーションバーに about:config と入力
  • mousewheel.horizscroll.withnokey.action という名前の変数を検索して 0 に設定
  • mousewheel.horizscroll.withnokey.numlines という変数を 1 に設定

参照