「Logitech MX Master」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(トラブルシューティングを翻訳して追加)
(項目を整理)
31行目: 31行目:
 
|}
 
|}
   
  +
== Mappings for extra buttons ==
== マウスから送信されるイベント ==
 
  +
  +
Install {{AUR|logiops}} or {{AUR|logiops-git}} to customize mouse settings:
  +
  +
* Easy programmable buttons.
  +
* DPI selection.
  +
* Smartshift (hyperfast and click-to-click wheel mode).
  +
* HiresScroll.
  +
* Gestures.
  +
  +
As of August 2022, logiops does not (yet) support devices connected via the new bolt receiver. Refer to [[Wikipedia:List of Logitech products]] for a list of bolt-based devices. All bolt-based devices available in the market also have Bluetooth connectivity. Thus using Bluetooth instead can be a workaround.
  +
  +
It is possible to use just [[#Xbindkeys]] and tweak the desktop shortcuts to obtain some customization, but with some caveats (look notes below).
  +
  +
=== Logiops ===
  +
  +
It can be executed as application via command line by running
  +
  +
# logid
  +
  +
Or [[start]]ed as {{ic|logid.service}}.
  +
  +
The configuration lives in {{ic|/etc/logid.cfg}}. But the package comes with no configuration. One needs to create this specifying the name of the device to be used. To obtain that name launching from cli
  +
  +
# logid -v
  +
  +
The name of the detected device is printed.
  +
  +
Then you can create the configuration file.
  +
  +
==== Examples ====
  +
  +
See the [https://github.com/PixlOne/logiops/wiki/Configuration configuration format documentation] for more detail, including the [https://github.com/PixlOne/logiops/wiki/CIDs list of CIDs (button codes)] and the [https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h list of key codes].
  +
  +
This minimal configuration file simply makes each button work as a normal mouse button, ignoring gestures. It will allow the extra buttons to be used normally, such as in games and by Xbindkeys (see below).
  +
  +
{{hc|/etc/logid.cfg|2=
  +
devices: ({
  +
name: "Wireless Mouse MX Master 3";
  +
  +
// A lower threshold number makes the wheel switch to free-spin mode
  +
// quicker when scrolling fast.
  +
smartshift: { on: true; threshold: 20; };
  +
  +
hiresscroll: { hires: true; invert: false; target: false; };
  +
  +
// Higher numbers make the mouse more sensitive (cursor moves faster),
  +
// 4000 max for MX Master 3.
  +
dpi: 1500;
  +
  +
buttons: (
  +
  +
// Make thumb button 10.
  +
{ cid: 0x53; action = { type: "Keypress"; keys: ["KEY_FORWARD"]; }; },
  +
  +
// Make top button 11.
  +
{ cid: 0x56; action = { type: "Keypress"; keys: ["KEY_BACK"]; }; }
  +
  +
);
  +
});
  +
}}
  +
  +
For a more fully-featured configuration, see [https://github.com/PixlOne/logiops/blob/master/logid.example.cfg logid.example.cfg] or this one:
  +
  +
{{hc|/etc/logid.cfg|2=
  +
devices: (
  +
{
  +
name: "Wireless Mouse MX Master 3";
  +
smartshift:
  +
{
  +
on: true;
  +
threshold: 30;
  +
};
  +
hiresscroll:
  +
{
  +
hires: true;
  +
invert: false;
  +
target: false;
  +
};
  +
  +
  +
thumbwheel:
  +
{
  +
divert: true;
  +
invert: false;
  +
  +
left: {
  +
mode: "OnInterval";
  +
interval: 2;
  +
action: {
  +
type: "Keypress";
  +
keys: ["KEY_VOLUMEDOWN"];
  +
};
  +
};
  +
right: {
  +
mode: "OnInterval";
  +
interval: 2;
  +
action: {
  +
type: "Keypress";
  +
keys: ["KEY_VOLUMEUP"];
  +
};
  +
};
  +
  +
tap: {
  +
type: "Keypress";
  +
keys: ["KEY_MUTE"];
  +
};
  +
  +
};
  +
dpi: 1000;
  +
  +
buttons: (
  +
{
  +
cid: 0xc3;
  +
action =
  +
{
  +
type: "Gestures";
  +
gestures: (
  +
{
  +
direction: "Up";
  +
mode: "OnRelease";
  +
action =
  +
{
  +
type: "Keypress";
  +
keys: ["KEY_LEFTCTRL", "KEY_F10"];
  +
};
  +
},
  +
{
  +
direction: "Down";
  +
mode: "OnRelease";
  +
action =
  +
{
  +
type: "Keypress";
  +
keys: ["KEY_LEFTCTRL", "KEY_F7"];
  +
};
  +
},
  +
# {
  +
# direction: "Left";
  +
# mode: "OnRelease";
  +
# action =
  +
# {
  +
# type: "CycleDPI";
  +
# dpis: [50, 500, 1000, 1500, 2000, 3000, 4000];
  +
# };
  +
# },
  +
{
  +
direction: "Left";
  +
mode: "OnRelease";
  +
action =
  +
{
  +
type: "Keypress";
  +
keys: ["KEY_LEFTMETA", "KEY_LEFT"];
  +
};
  +
},
  +
  +
# {
  +
# direction: "Right";
  +
# mode: "OnRelease";
  +
# action =
  +
# {
  +
# type = "ToggleHiresScroll";
  +
# }
  +
# },
  +
{
  +
direction: "Right";
  +
mode: "OnRelease";
  +
action =
  +
{
  +
type: "Keypress";
  +
keys: ["KEY_LEFTMETA", "KEY_RIGHT"];
  +
}
  +
},
  +
  +
{
  +
direction: "None"
  +
mode: "NoPress"
  +
}
  +
);
  +
};
  +
},
  +
{
  +
cid: 0xc4;
  +
action =
  +
{
  +
type = "ToggleSmartshift";
  +
};
  +
},
  +
{
  +
# Next tab instead of fwd in history, Comment to default behavior
  +
cid: 0x53;
  +
action =
  +
{
  +
type : "Keypress";
  +
keys: ["KEY_LEFTCTRL", "KEY_PAGEUP"];
  +
};
  +
},
  +
{
  +
# Previous tab instead of back in history, Comment to default behavior
  +
cid: 0x56;
  +
action =
  +
{
  +
type : "Keypress";
  +
keys: ["KEY_LEFTCTRL", "KEY_PAGEDOWN"];
  +
};
  +
}
  +
);
  +
},
  +
{
  +
# Another device to configure
  +
name: "Other Logitech USB Receiver";
  +
  +
}
  +
);
  +
}}
  +
  +
== Xbindkeys ==
   
 
{| class="wikitable"
 
{| class="wikitable"
77行目: 292行目:
 
* Logitech ジェスチャー (親指ボタンを押しながらマウスを上下左右に移動) は Linux では認識されません。
 
* Logitech ジェスチャー (親指ボタンを押しながらマウスを上下左右に移動) は Linux では認識されません。
 
}}
 
}}
 
== ボタンのマッピング ==
 
   
 
[[マウスボタン]]のマッピングを変更するには [[xbindkeys]] と {{Pkg|xautomation}} を使います。
 
[[マウスボタン]]のマッピングを変更するには [[xbindkeys]] と {{Pkg|xautomation}} を使います。

2023年12月25日 (月) 13:50時点における版

MX Master は Logicool が発売している最上位モデルのマウスです。

使用方法

購入時に付属する Unifying Receiver USB ドングルを使用している場合、マウスは特別な設定を行わなくても動作するはずです。ドングルを PC に接続します。マウスの下にある switch ボタンを押してマウスがチャンネル 1 に設定されていることを確認し、ボタンが速く点滅し始めるまでボタンを押し続けます。数秒後に点灯し、接続されるようになります。接続されていないレシーバーに接続したい場合は、Logitech Unifying Receiver を参照してください。

Bluetooth を使用するために、マウスの底のチャンネルを変更して、connect ボタンをクリックしてください。それからお好きな Bluetooth マネージャでマウスを検索してペアリングを行ってください。今後は Bluetooth が有効になっている場合、チャンネルを切り替えたらすぐ接続されるようになります。スキャン時にマウスが表示されない場合、Bluetooth#スキャンしてもデバイスが表示されない を見てください。

マウスには 3 つのメジャーバージョンがあり、最新バージョンには 5 つのリビジョンがありますが、機能は同じです。

  • MX Master,
  • MX Master 2s,
  • MX Master 3:
MX Master 3 バリエーション
名前 リリース サポート? 販売?
MX Master 3 2019 Unifying Unifying + USB A-C
MX Master 3 for Mac 2020 Unifying USB C-C
MX Master 3 for business 2021 Bolt Bolt + USB A-C
MX Master 3S 2022
MX Master 3S for Mac Bolt USB C-C

Mappings for extra buttons

Install logiopsAUR or logiops-gitAUR to customize mouse settings:

  • Easy programmable buttons.
  • DPI selection.
  • Smartshift (hyperfast and click-to-click wheel mode).
  • HiresScroll.
  • Gestures.

As of August 2022, logiops does not (yet) support devices connected via the new bolt receiver. Refer to Wikipedia:List of Logitech products for a list of bolt-based devices. All bolt-based devices available in the market also have Bluetooth connectivity. Thus using Bluetooth instead can be a workaround.

It is possible to use just #Xbindkeys and tweak the desktop shortcuts to obtain some customization, but with some caveats (look notes below).

Logiops

It can be executed as application via command line by running

# logid

Or started as logid.service.

The configuration lives in /etc/logid.cfg. But the package comes with no configuration. One needs to create this specifying the name of the device to be used. To obtain that name launching from cli

# logid -v

The name of the detected device is printed.

Then you can create the configuration file.

Examples

See the configuration format documentation for more detail, including the list of CIDs (button codes) and the list of key codes.

This minimal configuration file simply makes each button work as a normal mouse button, ignoring gestures. It will allow the extra buttons to be used normally, such as in games and by Xbindkeys (see below).

/etc/logid.cfg
devices: ({
  name: "Wireless Mouse MX Master 3";

  // A lower threshold number makes the wheel switch to free-spin mode
  // quicker when scrolling fast.
  smartshift: { on: true; threshold: 20; };

  hiresscroll: { hires: true; invert: false; target: false; };

  // Higher numbers make the mouse more sensitive (cursor moves faster),
  // 4000 max for MX Master 3.
  dpi: 1500;

  buttons: (

    // Make thumb button 10.
    { cid: 0x53; action = { type: "Keypress"; keys: ["KEY_FORWARD"]; }; },

    // Make top button 11.
    { cid: 0x56; action = { type: "Keypress"; keys: ["KEY_BACK"];    }; }

  );
});

For a more fully-featured configuration, see logid.example.cfg or this one:

/etc/logid.cfg
devices: (
{
    name: "Wireless Mouse MX Master 3";
    smartshift:
    {
        on: true;
        threshold: 30;
    };
    hiresscroll:
    {
        hires: true;
        invert: false;
        target: false;
    }; 
    

    thumbwheel:
    {
        divert: true;
        invert: false;

        left: {
                mode: "OnInterval";
                interval: 2;
                action: {
                        type: "Keypress";
                        keys: ["KEY_VOLUMEDOWN"];
                };
        };
        right: {
                mode: "OnInterval";
                interval: 2;
                action: {
                        type: "Keypress";
                        keys: ["KEY_VOLUMEUP"];
                };
        };
    
        tap: {
            type: "Keypress";
            keys: ["KEY_MUTE"];
        };

    };
    dpi: 1000;

    buttons: (
        {
            cid: 0xc3;
            action =
            {
                type: "Gestures";
                gestures: (
                    {
                        direction: "Up";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_F10"];
                        };
                    },
                    {
                        direction: "Down";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_F7"];
                        };
                    },
#                    {
#                        direction: "Left";
#                        mode: "OnRelease";
#                        action =
#                        {
#                            type: "CycleDPI";
#                            dpis: [50, 500, 1000, 1500, 2000, 3000, 4000];
#                        };
#                    },
                    {
                        direction: "Left";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTMETA", "KEY_LEFT"];
                        };
                    },

#                    {
#                        direction: "Right";
#                        mode: "OnRelease";
#                        action =
#                        {
#                            type = "ToggleHiresScroll";
#                        }
#                    },
                    {
                        direction: "Right";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTMETA", "KEY_RIGHT"];
                        }
                    },

                    {
                        direction: "None"
                        mode: "NoPress"
                    }
                );
            };
        },
        {
            cid: 0xc4;
            action =
            {
                type = "ToggleSmartshift";
            };
        },
        {
            # Next tab instead of fwd in history, Comment to default behavior
            cid: 0x53;
            action =
            {
                type :  "Keypress";
                keys: ["KEY_LEFTCTRL", "KEY_PAGEUP"];
            };
        },
        {
            # Previous tab instead of back in history, Comment to default behavior
            cid: 0x56;
            action =
            {
                type :  "Keypress";
                keys: ["KEY_LEFTCTRL", "KEY_PAGEDOWN"];
            };
        }
    );
},
{
# Another device to configure
name: "Other Logitech USB Receiver";

}
);

Xbindkeys

物理的な操作 認識されるイベント
左ボタン button 1
ホイールボタン button 2
右ボタン button 3
ホイールを上に回す button 4
ホイールを下に回す button 5
ホイール近くの "i" ボタン Linux では認識されません
サムホイールを右 (上) に回す button 6
サムホイールを左 (下) に回す button 7
サイドの下側ボタン button 8
サイドの上側ボタン button 9
親指ボタン Ctrl+Alt+Tab
ノート:
  • 親指ボタンを押しながらマウスカーソルを移動することはできませんが、他のアクション (ホイールの回転やボタンの押下) は使うことができます。Ctrl+Alt+Tab イベントは親指ボタンを離したときに送信されます。
  • 必要であれば、Windows や Mac と同じように親指ボタンを使うことができます。KDE では System settings → Shortcuts → Global Shortcuts → KWin → Show all windows from all desktops がデフォルトでは ctrl+f10 に設定されていますが、ctrl+alt+tab に設定することが可能です。
  • ホイールの近くにある "I" ボタンは Linux では認識されませんが、フリースピンとラチェットモードを切り替えることができます。
  • Logitech ジェスチャー (親指ボタンを押しながらマウスを上下左右に移動) は Linux では認識されません。

マウスボタンのマッピングを変更するには xbindkeysxautomation を使います。

xbindkeys はボタンをリダイレクトして (xautomation に含まれている) xte はキーの押下を実行します。ホームディレクトリに .xbindkeysrc という名前の設定ファイルを作成してください。

以下はサムホイールと横のボタンのサンプル設定です:

# thumb wheel up => increase volume and unmute      
"amixer -D pulse set Master 4000+ unmute"
   b:6                                   
                                        
# thumb wheel down => lower volume       
"amixer -D pulse set Master 4000-"       
   b:7                                   
                                        
# backward button => previous song       
"xte 'key XF86AudioPrev'"                
   b:8                                   
                                        
# forward button => next song            
"xte 'key XF86AudioNext'"                
   b:9

PulseAudio を使用する場合 (Xbindkeys#ボリューム操作を参照):

# thumb wheel up => increase volume
"pactl set-sink-volume @DEFAULT_SINK@ +2%"
   b:6

# thumb wheel down => lower volume
"pactl set-sink-volume @DEFAULT_SINK@ -2%"
   b:7

ボリュームを変更したときに視覚的に分かるようにしたい場合、以下の設定を使ってください (GNOME と KDE で確認):

# thumb wheel up => increase volume
"xte 'key XF86AudioRaiseVolume'"
   b:6

# thumb wheel down => lower volume
"xte 'key XF86AudioLowerVolume'"
   b:7

設定したら xbindkeys を起動してください。問題なければデスクトップ環境の自動起動リストに追加すると良いでしょう。

親指ボタンは特殊です。Windows や Mac では Logitech のソフトウェアを使って、最大5つまでのアクション (ボタンを押しながら四方向にマウスを移動するのとボタン押下) をマッピングすることができます。2015年11月現在、Arch で方向機能を使う方法はありません。

一連のキーを送信するため、xbindkeys が混乱する場合があります。短いスリープを挿入することで xbindkeys が最初のキーに反応するようにすることができます:

# thumb button => play/pause music         
# Credit to gregmuellegger https://bbs.archlinux.org/viewtopic.php?pid=1551271#p1551271                               
# We need a sleep here since the button triggers a few more key codes. 
# It also triggers Control+Mod2+Control_L and Alt+Mod2+Alt_L. The sleep       
# prevents that X receives those keypresses simultaniously. Therefore they    
# might interfere and trigger unwanted actions. By the sleep we make sure that
# the Alt+Left is receive as distinct event.                                  
"sleep 0.1 && xte 'key XF86AudioPlay'"                                        
   m:0xc + c:23

~/.xbindkeysrc に変更を加えたら xbindkeys のプロセスを再起動してください:

$ pkill xbindkeys && xbindkeys

電源

Logitech Unifying Receiver に書かれているようにバッテリーの状態を読み込むことができます。Solaar (solaar) にはシステムトレイユーティリティが付属します。

Smart Shift

Smart Shift とは、スクロールホイールの回転速度に基づいて、スクロールホイールがラチェットモードからスムーズスクロールに自動的に切り替わることです。

Logiops

任意のマウスボタンをモード間の切り替えに割り当てることができます。デフォルト設定では、Smart Shift のしきい値は約 20 で、上部のボタン (ホイールのすぐ下) は常にスムーズとラチェットモード (ゆっくりスクロールするときのみクリック音) を切り替えるために使用されます。しきい値の数値を増やすには、スムーズスクロールモードに切り替える前にホイールをより速く回転させる必要があります。

デフォルト設定を再現するには、上記のように設定ファイルでこのスニペットを使用します:

/etc/logid.cfg
...
  smartshift: { on: true; threshold: 20; };
  buttons: (
    // Make top button (0xc4) switch modes
    { cid: 0xc4; action = { type = "ToggleSmartshift"; }; },
...

必要に応じて、しきい値を変更するか、別のボタン (cid) を使用します。

Solaar

logid の代わりに、Solaar を使用して、マウスホイールモード (ハイパーファストとクリックツークリックの間) の変更の感度を変更することもできます。solaar をインストールしてください。スライダーが表示され、0 〜 50 (両端を含む) の範囲で設定できます。0 は常にハイパーファストモードであることを意味し、50 は常にラチェットモードであることを意味します。

感度を変更するには、この値を 0 〜 50 の間で変更します。

トラブルシューティング

Bluetooth モードでのマウスの動きに遅延

Bluetooth マウス#マウスの遅延 を参照してください。

数秒間のアイドリング後に Bluetooth モードでマウスの動きが遅れる

デバイスをブラックリストに登録するには、電源管理# USB の自動サスペンド を参照してください。

Windows と比較して、サムホイールの水平スクロール動作が異なる (反転)

これは、垂直方向/水平方向の奇妙な動作 (癖) を修正するために、libinput ([1]) に追加された既知の動作です。このマウス (および他の多くの Logitech 製品も) のスクロール ホイールの構成は異なります。ただし、別のオペレーティングシステムでこのマウスを頻繁に使用し、この自動修正動作が不便である場合は、明示的にオフにすることができます。

/etc/libinput/local-overrides.quirks
...
[Logitech MX Master 3]
MatchVendor=0x46D
MatchProduct=0x4082
ModelInvertHorizontalScrolling=0

# MX Master 3 has a different PID on bluetooth
[Logitech MX Master 3]
MatchVendor=0x46D
MatchProduct=0xB023
ModelInvertHorizontalScrolling=0
...

他のデバイス用にパッチが適用された互換性のリストについては、[2] も参照してください。

MX Master 3 でスクロールイベントが見つからない

スクロールホイールがラチェットモードで、スクロールの方向を切り替えると (瞬時に 2 ステップ上にスクロールし、1 ステップ下にスクロール)、最後のステップが選択されないことがあります。これは、スムーズスクロールが無効になっている場合、または qt ウィジェットベースのアプリケーションでスクロールホイールを使用してタブを切り替えている場合に、Firefox で予測できないスクロールが発生する可能性があります。これは、MX Master 3 が高解像度スクロールデバイスとして登録されており、ラチェットモードでも高解像度イベントを送信し続けるためです [3][4]

高解像度イベントをフィルタリングして除外するには、次を使用します:

/etc/libinput/local-overrides.quirks
...
[Logitech MX Master 3]
MatchVendor=0x46D
MatchProduct=0x4082
ModelInvertHorizontalScrolling=0

# MX Master 3 has a different PID on bluetooth
[Logitech MX Master 3]
MatchVendor=0x46D
MatchProduct=0xB023
ModelInvertHorizontalScrolling=0
...