[Chrome] トラックポイントのスクロールで前後ページに移動する問題の対処法
2018/04/07
ThinkPadのトラックポイントや、トラックポイントキーボード、あるいはTrackWheelを使っている場合に、Google Chromeでスクロール中に意図しないページ移動(進む/戻る)が発生する問題の対処法です。
テストしたChromeのバージョン:Chrome 51
勝手にページ移動が発生する
最近Google Chromeでスクロールをしていると、なぜか前後のページに遷移してしまうことが頻繁に発生するようになってしまいました。試してみると、どうやらトラックポイントの横スクロールがページ遷移操作になってしまっているようでした。
トラックポイントを使っている方はご存じの通り、スクロールは真ん中のボタンを押しながらトラックポイントを操作することで行います。普通のマウスのスクロールホイールであれば、縦横のスクロールが明確に区別されているので問題が発生しないのでしょうが、トラックポイントのスクロールでは横スクロールと縦スクロールが明確に区別していないために、意図せず発生した横向きのスクロールがページ遷移になってしまっているようです。
この現象は、以下のいずれでも発生しました。
- ThinkPad内蔵トラックポイント + 純正ドライバのスクロール機能
- トラックポイントキーボード + 純正ドライバのスクロール機能
- トラックポイントキーボード + TrackWheel
(TrackWheelは、トラックポイントのスクロール機能のAutoHotkeyによる実装です。中央ボタン単独押しでのホイールクリック、ソフトウェアの追加に対応しています。)
対処方法
この問題を解決する方法としては2通りあります。
対処方法 | デメリット |
---|---|
Chromeの設定を変更する | Chromeのアップデートで設定できなくなる可能性がある |
トラックポイントのスクロール設定の変更 | ドライバによっては設定変更ができない 横長ページでの横スクロールができなくなる |
Chromeの設定変更の方が良さそうですね。
「オーバースクロール時の履歴表示」
Chromeで
chrome://flags
を開きます。
「オーバースクロール時の履歴表示」が今回の機能です。
設定は「有効」「無効」「シンプル」の3通りあります。
この機能は、タッチパネルを備えるPCで、ページをスワイプすることで前後のページに移動することを目的とした機能です。戻る/進むボタンをタッチで押すのは結構難しいですし、マウスジェスチャーなども使えませんからね。そして恐らく横スクロールに対応したマウス(ホイールを左右に倒すなど)でも前後に移動できるのだと思います。
タッチパネルでは便利な機能ですが、今回はそれがトラックポイントのスクロールでも動作したのが問題でした。
有効
「有効」にしていると、スワイプ操作や横スクロールに合わせて前後のページにアニメーション付きで遷移します。スワイプに合わせて前のページが(白黒で)見えるので、直感的ですね。
シンプル
「シンプル」だと、スワイプや横スクロールをしたときに、移動することを示すアイコンが大きく表示されます。この表示が完全に見えるところまでスワイプ/スクロールをすると、前後のページに遷移します。
設定を変更する
「無効」にして、下の「今すぐ再起動」ボタンを押してChromeを再起動すれば、スワイプや横スクロールでの前後ページ遷移は起きなくなります。
WindowsやChromeの変更に翻弄される
この前のChrome文字化けもそうですが、WindowsやChromeがちょこちょこ設定を変更してくるお陰で、変なところが影響されて新たな問題が発生してしまっています。
せっかく安定して使えているのになんで変えるかなぁなんて思ってしまいますね。