web-dev-qa-db-ja.com

Ubuntu MATE 17.04-マウスアクセラレーションを無効にすると、ポインターの動きが完全に停止する

しばらくの間、私はマウスの動作に悩まされていましたが、マウスではなく、使用している表面で非難していました。今日、マウスパッドの表面が良くなり、ワイヤー接続のマウスもワイヤレスマウスも使用せず、マウスを正確に使用できないことがわかりました。いくつか調べてみると、何らかの理由でデフォルトでマウスアクセラレーションがオンになっていることがわかりました。最も推奨されるソリューションは次のとおりです。
1)コマンドxset m 0 0の使用(これは機能しているように見えますが、永続的な解決策とは思えません)
2)/ usr/share/X11/xorg.conf.d /に.confファイルを作成します。内容は次のとおりです。

Section "InputClass"
           Identifier "My Mouse"
           Driver "libinput"
           MatchIsPointer "yes"
           Option "AccelProfile" "flat"
EndSection

3)xinput set-prop [device-id] [Accel Profile Enabled id] 0,1を使用する

しかし、問題は、これらの方法で加速プロファイルを「フラット」に設定すると、マウスポインターが完全に移動しなくなることです。マウスは動作し、左クリック\右クリックすると接続され、リストされます。しかし、どんな動きも無視されます。

たとえば、次のプロパティがあります。
libinput Accel Profile Enabled (278): 1, 0
コマンドの実行後xinput set-prop 11 278 0, 1マウスの動きは無視されます。 xinput set-prop 11 278 1, 0を実行すると、すべてが正常に戻ります。

これは私が持っている両方のマウスで起こります。
質問:Ubuntu MATE 17.04でマウスアクセラレーションを適切に無効にし、「フラット」プロファイルを設定する方法と、私の場合の問題の原因は何ですか。

1
Ethuil UI

周りを検索した後、私はこの問題の核心を見つけることができました。

フラット(加速なし)プロファイルを設定した後、マウスの動きを無視できるのはなぜですか?

この質問への答えは簡単で、問題はlibinputポインター設定Accel Speed。紛らわしいのですが、加速なしのフラットプロファイルを使用している場合、この設定は実際にはほとんどのユーザーが使用する一種の「感度」設定として機能しますが、カーソル速度に対応して0%から200%の範囲です。 -1は0%、0は100%、1は200%のカーソル速度です。
私が理解したことから、マウスを動かすと、ポインター(カーソル)はX + X*Asの距離を移動します。ここで、Xはカーソルの必要量の基本値です移動し、AsはAccel Speedオプションの値です。つまり、何らかの理由でこの設定の値が-1になった場合、マウス制御用のGUIを使用して、または手動で設定して感度を調整しようとすると、マウスの動きは次のように計算されます。 -1」は基本的に「XX」で、カーソルがまったく動かないことを意味します。

したがって、同様の問題がある場合、最初にすべきことは、このオプションの値を調べることです。

1)コマンドでデバイスを一覧表示します:
xinput list

2)マウスのIDを検索し、このコマンドを使用して、オプションの現在の値を確認します。
xinput list-props 12
「12」は「xinput list」出力からのデバイスのIDです。

3)「libinput Accel Speed」が-1で、フラットプロファイルを使用している場合、コマンドで変更できます。
xinput --set-prop 12 'libinput Accel Speed' 0

したがって、フラットプロファイルを有効にした後にマウスが動かなくなった場合、単にconsole\terminalに切り替えてこれらの3つのステップを実行すると、問題を修正することができます。

誰かが答えを探してこれにつまずく場合に備えて、加速を無効にして加速速度を調整するために使用したソリューションを追加しています。

フラットプロファイルを設定する\マウスアクセラレーションを永続的に無効にする方法

Libinputを永続的にフラットプロファイルに設定し、基本的な感度を変更しないようにするには、このファイルを編集するだけです。
/usr/share/X11/xorg.conf.d/40-libinput.conf
識別子「libinput pointer catchall」を持つセクションが必要です。デフォルトでは、私のものは次のようになりました。

[...]
Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection
[...]

「Driver」行の後に2行追加することで、必要な特定の設定を強制的に使用できます。

[...]
Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "AccelProfile" "flat"
        Option "AccelSpeed" "0.0"
EndSection
[...]

オプション「AccelProfile」は、システムにフラットで加速なしのプロファイルを使用するよう指示します。
オプション「AccelSpeed」は、基本的なポインター速度の変更子のデフォルトを設定しますが、これはほとんど感度です。 「1」に設定するとポインターの速度が2倍になり、-1に設定すると0に設定され、0.5に設定すると150%になります。

変更を保存したら、service lightdm restartでGDEを再起動するか、PCを手動で再起動して、libinputが正しい値を使用しているかどうかを確認します。

コマンドを実行することにより:
xinput list-props {1..50} 2>/dev/null | fgrep 'libinput Accel Profile Enabled ('
システムがフラットプロファイルを使用しているかどうかを確認できます。

フラットプロファイルの場合、次のような0、1の値を返す必要があります。
libinput Accel Profile Enabled (282): 0, 1

同様のコマンドでAccel Speedの値を確認します。
xinput list-props {1..50} 2>/dev/null | fgrep 'libinput Accel Speed ('
再起動後に40-libinput.confファイルで設定した内容に対応する値がある場合、すべてが正常に機能します。
代替ソリューションおよび詳細については、これらのリンクを参照できます。
https://wiki.archlinux.org/index.php/Mouse_acceleration#Using_xinput
マウスの速度を設定します(ポインタの加速ではありません!)

1
Ethuil UI