Logicoolマウスで追加のボタンを構成する方法


64

Ubuntu 12.04でLogitech MX 620マウスのすべてのボタンを設定する方法を教えていただけますか?

具体的には、そのうちの1つをCtrl(Webページのクリックを制御するための)キーだけにし、もう1つをCtrl+ Wタブを閉じるようにします。また、通常、クリックごとにスクロールホイールのページを下に移動します(そうしないと、スクロールするのに腕が痛くなります)。ホイールを左に押す=ページバックし、右に押す=ページ前方にします。

私はこれに対する他の答えを検索し、ここに関連するものを見つけまし

しかし、問題を解決するためにフォローアップポストを投稿したとき、誰も応答しませんでした。おそらく、「解決済み」の質問に投稿するというミスを犯したのでしょう。私の質問に関連する質問を再開する方法がわからないが、私の質問をまったく解決しない。


1
これは、マウスを完全な機能で動作させる最も簡単な方法だと思います:ralf-oechsner.de/opensource/page/logitech_performance_mx
エドワードケネディ

回答:


70

このためにいくつかのアプリケーションが必要になり、それらを実行するには

sudo apt-get install xbindkeys xautomation xev

または

sudo apt-get install xbindkeys xautomation x11-utils

編集:Ubuntu 14.04以降では、xevはx11utilsにマージされました。

ステップ1

マウスのボタンのボタン番号を見つける必要があります。を実行しますxev。少し白いウィンドウが表示され、そこにマウスを置いてマウスボタンを押します(一度に1つのボタンを実行するのが最善です)。各ボタンについて次のような出力が得られるはずです。

ButtonRelease event, serial 41, synthetic NO, window 0x4c00001,
root 0x2e9, subw 0x4c00002, time 25804905, (31,28), root:(821,80),
state 0x110, button 1, same_screen YES

(注意:xevあなたはボタンイベントを見つけるために、マウスの移動イベントを取捨選択する必要がある場合がありますので、また、マウスの動きをキャプチャ;例:xev -event mouse | grep Button --before-context=1 --after-context=2

これは、その出力から重要なことですbutton 1。これは、特定のボタンがボタン1であることを示しています。今のところこれを.txtファイルに保存します。

ステップ2

以下xbindkeysを使用して構成ファイルを作成します。

xbindkeys --defaults > $HOME/.xbindkeysrc  

次に、キー/ボタンのバインディングを構成ファイルに追加する必要があります。このファイルはで開くことができますgedit $HOME/.xbindkeysrc。これが楽しみの始まりです。xteボタンにバインドを設定するために使用します。

Ctrl追加するようにボタンを機能させるには:

"xte 'key Control_L'"
b:1  

これはCtrl、マウスボタン1にバインドします。

ボタンのボタン番号と各ボタンで何をするかを教えてくれたら、スクリプトを作成します。


@seth:ボタン8と9をそれぞれ「戻る」と「進む」に設定したいと思います。さらに良いことに、xbindkeysを使用して構成できるコマンドをどこで出力できるかを把握できれば、それは素晴らしいことです。おかげで、ダン
dbbd

11
xev出力の狂気を減らす最も簡単な方法は、grep:を介して出力を実行することxev | grep -A2 ButtonPressです。これにより、すべてのマウスモーションイベント、フォーカスイベントなどが残り、ButtonPressイベントが表示されます。
ランバート14

@dbbdどうやらあなたのメッセージを見逃したようです。私はそれを調べてあなたに戻ってきます。
セス

2
私のマウスもG300であり、これを機能させることはできません。ボタンは誤ってマップされ、2つのボタンは同じControl_Lボタンにマップされます。ボタンを押すと、ボタン自体が識別されないため、マップする方法がわかりません。
猪木

6
「xbindkeys -p」は変更を適用するために
アレックスフェデュロフ

12

@Sethの指示に従いましたが、私が欲しかったのは、サムボタンとM705が行うことですCTRL + Left-click(クロムブラウザーの新しいタブでリンクを開くため)。追加する必要があるバインディングは次のとおりです。

"xte 'keydown Control_L' 'mouseclick 1' 'keyup Control_L'"
    b:10 + Release

サムボタンがリリースされるのを待ってから、コントロールキーを押し、マウスクリックを実行してから、コントロールキーをリリースします。


上記ではなく、このソリューションは、Logitech M705マウスを使用したUbuntu Mate 16.04の魅力のように機能しました。コピーと貼り付けをサイドボタンに割り当てて、設定が次のようになるようにしました: "xte 'keydown Control_L' 'key c' 'keyup Control_L'" b:9 "xte 'keydown Control_L' 'key v' 'keyup Control_L '"b:8
ドラコ

2
「xbindkeys -p」を使用して、変更を適用します。
user3616725

8

コピーアンドペーストアクションをマウスボタンにバインドする場合:

  1. セスの回答(ステップ1、ステップ2、およびsudo apt-get install xbindkeys xautomation xev)に従ってください
  2. .xbindkeysrcファイルに次の行を追加します。

これはコピー用です:

"xte 'keydown Control_L' 'key c' 'keyup Control_L'"
b:9

これは貼り付け用です:

"xte 'keydown Control_L' 'key v' 'keyup Control_L'"
b:8

* b:9は、マウスのボタン9を意味します(ボタン番号はで確認してくださいxev

  1. すぐには動作しません.xbindkeysrc。最初にリロードするか、マシンを再起動する必要があります。

ああすごいこれは私のために完璧に働いた。過去4年間、これらのキーをセットアップしようとして、現在はこれを行うことができます。ありがとうございました!ところで、それはそれらが何であるかのボタンを知っているスーパーが重要である、私のために彼らは私のマウスに16と17であった。..
ティオTROM

注:b:9などは、構成ファイルの新しい行にある必要があります。私はそれらを同じ行に配置し、なぜそれが機能しなかったのかを解明できませんでした。
user3616725

これはGUIでは機能しましたが、Bash端末では機能しません。同じボタンでGUIとシェルの両方でコピー/貼り付けを機能させる方法はありますか?
JoeMjr2

@ JoeMjr2 Bashターミナルでは、おそらくCtrl + Shift + Vを使用して貼り付け、Ctrl + Shift + Cを押してコピーします。したがって、アプリケーション固有のマッピングを使用する方法が必要になります。でもどうしたらいいかわかりません。たぶん、ターミナルエミュレータを使用して、ホットキーを設定して、標準的な方法でコピーペーストを行うことができます。そうすれば、コピーペーストマウスボタンが機能するはずです。
ズウォリン

5

Solaarは、Logitech Unifying Receiverのマウスとキーボードを管理できるLinuxツールであり、GUIとコマンドラインインターフェイスの両方が付属しています。これを行うには、次のリポジトリを追加し、次のコマンドを実行してインストールします。

sudo add-apt-repository ppa:daniel.pavel/solaar

sudo apt-get update

sudo apt-get install solaar

これにより、マウスのDPIを増やして最大化し、バッテリーを監視し、スムーズスクロールとサイドスクロールを有効にできます。マルチウィンドウとズームボタンを機能させるには、このサイトにアクセスして、目的の機能を簡単に取得する手順をご覧ください。

http://www.ralf-oechsner.de/opensource/page/logitech_performance_mx


私はこれをC720 /クルトンで行いました。solaarを実行すると、クラッシュしてスタート画面に戻りました。再起動する必要があり(コマンドがsudo startxfce4であることがわかりました)、solaarを削除しました。
マーティコーエン

Solaarは14.04で非常にバグが多く、最終的にはまったく実行されませんでした。元の質問は12.04であったことを理解していますが、言及する価値があると思いました。誰かを時間を節約するかもしれません。
モス

12
-1。この答えは質問に答えません。solaarは、マウスボタンのマッピングを行いません。
トゥイフティ

私にとってもうまくいきませんでした。
-Woeitg

3

これらはUbuntuに付属しているはずなので、すでに持っているはずですが、念のためこれを実行してください。

sudo apt-get install libdaemon-dev libglade2-dev libgtk2.0-dev 

今、ダウンロードしてインストール

  1. btnx-config
  2. btnxこの順序。

インストールする:

解凍cdして、これらの各フォルダーに入れます。

それぞれで次を実行します:

./configure
make
sudo make install

両方をインストールしたら、実行します

sudo btnx-config

[構成]タブで、[マウスとボタンの検出]をクリックします

ここに画像の説明を入力してください

[ボタン]タブで、マウスボタンにキーまたは機能を割り当てます。チェックマークが有効になっていることを確認してください

ここに画像の説明を入力してください

最後に、[構成]タブで[btxの再起動]ボタンをクリックして、変更を有効にします。

ここに画像の説明を入力してください


ubuntu discoでうまく機能しました。1つの修正:それはただ./configureである必要があり./configure makeます。また、makeでsudoは必要ありません。
panta82

@ panta82私はREADME.mdファイルから直接それらを取った
ノーSssweat

知っている。READMEファイルに誤りがあります:)
panta82

2

私もg700sゲーミングマウスを持っています。幸いなことに、それは(マウスにとって)高価であり、製造業者は実際に高水準に構築しました。マウスの機能はマウスに保存されています。悪いニュースは、Windowsでのみ実行されるlogitechソフトウェアを使用する必要があるように正しく構成することです。

だから... 基本的には、マウスをWindowsボックスに接続し、それをあなたが望むように正確に設定する必要があります。プロファイルの切り替え機能を利用して、通常の使用に適した設定を行うことをお勧めします。つまり、Linuxデスクトップの実行、compiz機能(アプリの切り替え、ワークスペースの切り替え、最大化の切り替えなど)を行い、ゲーム用の別のプロファイルを作成します(リフレッシュレートが異なる場合があります)とゲームボタン。compizについては、4つのサイドサムボタンをalt、ctl、shift、superkeyに設定することを検討してください。これにより、スクロールホイールでの切り替えが簡単になります。Alt +スクロールホイールを上にすると、サムボタン1 +スクロールホイールが上になります。

私のスキーム:

親指ボタン1(下に進む)= alt

サムボタン2(前方上部)=シフト

親指ボタン3(下部)= ctrl

親指ボタン4(後部上部)=スーパーキー(Windowsキー)

人差し指の中央ボタン= ctrl + alt +テンキー5

あなたに近い人差し指=タブ

あなたから遠く離れた人差し指= alt-f4(compiz / linux / winX close app)

compizのデフォルト:

ワークスペースの切り替え= alt + ctl +マウスドラッグ=下の2つの親指ボタンを一緒に+マウスクリックとドラッグ; 入力すると複雑に聞こえますが、使用すると非常に効率的です。

アプリの切り替え= alt +タブ=親指の進むボタン+人差し指の近いボタン(これがうまく機能するには、親指ボタンを押し続ける必要があるため、1個のアプリを切り替えることができます)

ウィンドウのフェード(透明度)= alt +スクロールホイール=親指下前方ボタン+スクロールホイール

それから、Linuxボックスに戻して完全に機能します。

上記のキーバインディングはうまく機能しますが、バトルフィールド4では、マウスを10個のボタンを持つマウスとして認識するのに非常に時間がかかるため、4つの親指ボタンを=、\および;にマップする必要があります。しかし、明らかにLinuxではこれはばかげているので、「次のアプリ」に=キーを再バインドすることは、特にハハハハをコーディングする場合の無益さの教訓です。

VIRTUALBOXを使用してWindows 7を実行する場合に必要なリンク:

https://stackoverflow.com/questions/20021300/usb-devices-are-not-recognized-in-virtualbox-linux-host

https://www.youtube.com/watch?v=-0OyrvbZNwo



1

Logitech MX 500があり、コピーおよび貼り付けアクションでラテラルキーをマップしたかった(非常に便利です)。

このガイドを使用し、xbindkeysrcファイルを構成し、キーをマップできるようにする方法を理解しました。


2
コピーしたいテキストの開始/終了にマウスポインターを移動してから、左ボタンを押したままにして、コピーしたいテキストの終了/開始に到達し、コピーされるまでそれを押し続けます。貼り付ける場合は、中央のボタンを押して(2ボタンマウスだけを使用している場合は、左右のボタンを同時に押します)、テキストを貼り付けます。何も設定する必要はありません。これは、XWindowsシステムを搭載したすべてのUnixおよびLinuxマシンですぐに使用できます。私たちは機能のないマイクロソフト製品ではなく、GNU / Linuxを使用していないことに注意してください

@ user350566この種類のコピーと貼り付けには、いくつかの制限があります。他のクリップボード(Ctrl + C / + V)が必要な場合があります。ただ言って。
ドンキホーテ

1

Waylandで動作するソリューションを作成しました。

そのhttps://github.com/mathportillo/wayland-mouse-mapper

evemuを使用してデバイスイベント通知をカーネルに送信するため、Waylandによって制限されません

それがどのように機能するかを示す要約されたbashスクリプトは以下です(ほとんどのコマンドにはroot権限が必要です)

デバイスを見つける:

libinput list-devices

ポインタデバイス名を直接見つけるには、次を使用します。

libinput list-devices | grep pointer -B3 | grep -o '/dev/input/event[1-9]*'

使用するデバイスイベントをリストするには(event5をポインターデバイス名に変更します):

libinput debug-events --device /dev/input/event5

コマンドをデバイスイベントにバインドするには、次を使用します。

while read line; do
    echo ${line} # line represents a command
    # your code goes here
done < <(stdbuf -oL libinput debug-events --device /dev/input/event5 & )

マウスイベントをトリガーするには:

evemu-event /dev/input/event5 --sync --type EV_KEY --code KEY_PAGEUP --value 1

タイプはキーストローク以外、コードはPageUp以外、値は押された場合は1、リリースされた場合は0です。マウスはキーストロークをトリガーできます。システムはそれをキーボードと同じように解釈します。

上記のすべての概念を作業中のマッパーにマージし、Waylandで動作し、システムの起動時に開始するサービスとして構成できるスクリプトは、上記のgitリポジトリにあります。


0

Debianには、xbindkeys-configキー/ボタンのバインドを設定するのに役立つパッケージがあります。だから:

sudo apt-get install xbindkeys-config

2
このプログラムは、G300で何かを行おうとするとクラッシュするだけです。
猪木


0

そのため、ubuntuマシンでパフォーマンスMXを約6か月間使用しています。ほとんどのボタンはデフォルトのままにしておきましたが、親指ボタンをスーパーキーにしました。これは、gnomeの画面の左上隅に行くよりも便利です。そして、ズームボタンをコントロールボタンにしました。ただし、CTRLをオンにして、個別のクリックでCTRLをオフにするように設定されています。これは本当に便利です。4Kディスプレイが1つと1080が1つあるので、ズームボタンを1回クリックし、ホイールをスクロールしてWebページをズームインおよびズームアウトします。再び。ここに私のxbindkeysrc設定があります:

"/usr/bin/xte 'keydown Control_L' &"
b:13
"/usr/bin/xte 'keyup Control_L' &"
Control + b:13
"/usr/bin/xte 'key Super_L'"
b:10 + release

これは、尋ねられた質問に答えていないようです。
-TheWanderer

0

btnxすべてのブランドで機能するはずであるため、Logitechマウスを使用したボタンの再マッピングの簡単なソリューションかもしれません。簡単なグラフィカルインターフェイスがあり、使用可能なボタンについて学習できます。btnxは数年前に標準リポジトリの一部でしたが、削除されました。現在ここで入手できます:https : //launchpad.net/~oliverstar/+archive/ubuntu/ppa


0

マウスの前後ボタンで上下にスクロールします

まず、必要なパッケージをインストールします。

$ sudo apt install x11-utils xbindkeys xautomation

次に、xev提供されたx11-utilsを使用して、マウスの戻るボタンと進むボタンの正確なボタン番号を検出します。

$ xev |grep -A2 ButtonPress

私の場合は、有線垂直アンカーマウス、背中と前方には、それぞれのボタン8と9です。

ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1708382, (68,54), root:(939,498),
    state 0x10, button 8, same_screen YES
--
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1711030, (69,48), root:(940,492),
    state 0x10, button 9, same_screen YES

有線垂直アンカーマウス

.xbindkeysrc次の内容のホームディレクトリに名前の付いた隠しファイルを作成して続行します。

"xte 'keydown Down'"
b:8

"xte 'keyup Down'"
b:8 + Release

"xte 'keydown Up'"
b:9

"xte 'keyup Up'"
b:9 + Release

xteコマンドはによって提供されxautomationたパッケージ。

最後に、これらの変更を有効にするためにデスクトップからログアウトして再度ログインします。マウスの戻るボタンと進むボタンを押したままにすることで、ブラウザーやその他のプログラムで上下にスクロールできるようになりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.