web-dev-qa-db-ja.com

19.04へのアップグレード後に開始された非常に遅いスクロールUSBホイールマウス(サスペンドから復帰した後)を修正するにはどうすればよいですか?

アップグレード前の今朝、スクロールホイールを回したときに、ホイールが回転している間はアクティブなプログラムがスクロールしました。サスペンドから復帰した後(ラップトップを閉じて)19.04にアップグレードした後、ホイールを回すとビューが数行スクロールし、その後停止します。スクロールホイールをさらに数回回転させるまで、ビューは再びスクロールしません。

マイクロソフトワイヤレスモバイルマウス4000

これは、Windowsの仮想ボックスブートアップを含むすべてのプログラムで発生し、サスペンドから復帰した後にのみ発生するようです。 USBレシーバーをいったん取り外し、再度差し込むと感度が回復しますが、私にはそれは解決策ではありません。回避策を実行してください。

マウスの設定を妨げるサスペンド中のシステム動作を停止するにはどうすればよいですか?物理的な介入なしにそれをどのように復元しますか(可能であればウェイクアップ時に自動的に)

そして、なぜアップグレードはそれを壊したのか、それともそれは偶然の一致なのだろうか?

4
Dennis

ResetMsMice

WindowsとLinuxのデュアルブートでめちゃくちゃ速いスクロールが発生したときにMicrosoft Miceをリセットする特別なプログラムがリリースされました。非常に遅いスクロールのUbuntu 19.04サスペンド/レジューム問題で動作することが確認されました。

このサイトに移動します: https://sourceforge.net/projects/resetmsmice/

次のリンクをクリックしてください:resetmsmice_1.1.3_AMD64.deb

すぐに~/Downloadsフォルダにダウンロードされます。

それをインストールするには、以下を使用します:

Sudo dpkg -i ~/Downloads/resetmsmice_1.1.3_AMD64.deb
rm -f ~/Downloads/resetmsmice_1.1.3_AMD64.deb

プログラムは起動時に自動的に実行されますが、次のようにしていつでもターミナルから呼び出すことができます。

resetmsmice

再開後に自動的に呼び出すには、geditを使用してスクリプトを作成する必要があります。

Sudo -H gedit /lib/systemd/system-sleep/resetmsmiceを使用

これらの行をエディターにコピーします。

#!/bin/bash
case $1/$2 in
  pre/*)
    echo "$0: Going to $2..."
        ;;
  post/*)
    echo "$0: Waking up from $2..."
    resetmsmice
        ;;
esac

echoステートメントは、システムログでプログラムを特定するのに役立ちます。例:grep resetmsmiceファイルを保存してエディターを終了します。次に使用します:

Sudo chmod a+x /lib/systemd/system-sleep/resetmsmice

元の回答

サスペンド中にUSBマウスの電源をオフにし、レジ​​ューム中に電源をオンにすることができます。これは再起動をシミュレートします。

Sudo -H gedit /lib/systemd/system-sleep/custom-xhci_hcdを使用

これらの行をエディターにコピーします。

#!/bin/bash

# Original script was using /bin/sh but shellcheck reporting warnings.

# NAME: custom-xhci_hcd
# PATH: /lib/systemd/system-sleep
# CALL: Called from SystemD automatically
# DESC: Suspend broken for USB3.0 as of Oct 25/2018 various kernels all at once

# DATE: Oct 28 2018.

# NOTE: From comment #61 at: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/522998

TMPLIST=/tmp/xhci-dev-list

# Original script was: case "${1}" in hibernate|suspend)

case $1/$2 in
  pre/*)
    echo "$0: Going to $2..."
    echo -n '' > $TMPLIST
          for i in `ls /sys/bus/pci/drivers/xhci_hcd/ | egrep '[0-9a-z]+\:[0-9a-z]+\:.*$'`; do
              # Unbind xhci_hcd for first device XXXX:XX:XX.X:
               echo -n "$i" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
           echo "$i" >> $TMPLIST
          done
        ;;
  post/*)
    echo "$0: Waking up from $2..."
    for i in `cat $TMPLIST`; do
              # Bind xhci_hcd for first device XXXX:XX:XX.X:
              echo -n "$i" | tee /sys/bus/pci/drivers/xhci_hcd/bind
    done
    rm $TMPLIST
        ;;
esac

ファイルを保存してエディターを終了します。次に使用します:

Sudo chmod a+x /lib/systemd/system-sleep/custom-xhci_hcd

Ubuntu 19.04のアップグレードでは、新しいLinux 5.0カーネルと新しいドライバーが提供されます。将来のアップグレードが完了したら、スクリプトを非アクティブ化して、問題が新しいカーネルで修正されているかどうかを確認します。

2

スクロールホイールが機能しなくなりますchromeまたは別のアプリの新しいタブから、しばらくchromeで開いていたタブに移動します。ページを更新すると、マウスホイールのスクロールが再び機能します。右側のスクロールバーは常に機能します。

chrome stable ubuntu 19.04を使用

0
elijahblake