「マウスのアクセラレーション」の版間の差分
(同期) |
細 (文字列「[[zh-CN:」を「[[zh-hans:」に置換) |
||
2行目: | 2行目: | ||
[[Category:X サーバー]] |
[[Category:X サーバー]] |
||
[[en:Mouse acceleration]] |
[[en:Mouse acceleration]] |
||
− | [[zh- |
+ | [[zh-hans:Mouse acceleration]] |
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|マウスボタン}} |
{{Related|マウスボタン}} |
2017年1月29日 (日) 00:36時点における版
関連記事
マウスのアクセラレーションを設定する方法は使用しているウィンドウプロトコル (Xorg または Wayland) によって異なります。
- Xorg ではマウスのアクセラレーションを設定する方法は複数あります:
- xorg の設定ファイルを編集する。
- xorg-server-utils パッケージには
xset
とxinput
が入っています。 - ほとんどのデスクトップ環境にはマウスを設定するための設定 GUI が備わっています。
- Wayland を使用している場合、libinput でマウスイベントを制御できます。libinput による設定を反映させるのはコンポジタの仕事です。全てのコンポジタで共通の設定方法はまだ存在しません [1]。
マウスのアクセラレーションを設定する
xorg 設定
詳しくは man xorg.conf
を見て下さい。例:
/etc/X11/xorg.conf.d/50-mouse-acceleration.conf
Section "InputClass" Identifier "My Mouse" MatchIsPointer "yes" # set the following to 1 1 0 respectively to disable acceleration. Option "AccelerationNumerator" "2" Option "AccelerationDenominator" "1" Option "AccelerationThreshold" "4" EndSection
/etc/X11/xorg.conf.d/50-mouse-deceleration.conf
Section "InputClass" Identifier "My Mouse" MatchIsPointer "yes" # some curved deceleration # Option "AdaptiveDeceleration" "2" # linear deceleration (mouse speed reduction) Option "ConstantDeceleration" "2" EndSection
class セクションの中で "MatchProduct", "MatchVendor" などの match を使うことで、特定のハードウェアだけに設定を適用することもできます。lsusb
を実行することで match で使用できるプロダクト名とメーカーを確認できます:
$ lsusb -v | grep -e idProduct -e idVendor
デバイスがわからない場合、xinput list
を実行してみてください。Logitech Unifying Recceiver を使用しているデバイスは同一の USB 接続を共有するため、lsusb
を使用してもマウスは認識されません。
xset を使う
現在の値を知るには:
$ xset q | grep -A 1 Pointer
新しい値をセットするには:
$ xset m ACCELERATION THRESHOLD
ACCELERATION で設定された倍だけデフォルトよりはやく動き、マウスを最小 THRESHOLD ピクセル以上動かすと動きだします。ACCELERATION は分数にすることもでき、マウスをスローダウンさせたいなら 1/2。3 では速すぎるが、2では遅すぎるときには 5/2 などにします。
デフォルトの設定に戻すには:
$ xset m default
詳しい情報は man xset
を見て下さい。
設定を永続的にするには、xorg の設定(上記)をするか xprofile にコマンドを加えます。後者はディスプレイマネージャにおけるマウスの速度に影響がありません。
xinput を使う
まず、接続されているデバイスのリストを得ます (バーチャルポインタは無視します):
$ xinput list
ID を覚えておいてください。ID が変わってしまう場合、コマンドでフルネームを使うこともできます。
利用できるプロパティと現在の値のリストを得ます
$ xinput list-props 9
9
は使いたいデバイスの ID です。もしくは名前を使います
$ xinput list-props 'Bobs mouse brand'
Bobs mouse brand
は xinput list
によって表示されたマウスの名前にしてください
例として、Constant Deceleration
プロパティを 2 にするには:
$ xinput list-props 9
Device 'mouse brand': Device Enabled (121): 1 Device Accel Profile (240): 0 Device Accel Constant Deceleration (241): 1.000000 Device Accel Adaptive Deceleration (243): 1.000000 Device Accel Velocity Scaling (244): 10.000000
$ xinput --set-prop 'mouse brand' 'Device Accel Constant Deceleration' 2
設定を永続的にするには、xorg の設定(上記)をするか xprofile にコマンドを加えます。後者はディスプレイマネージャにおけるマウスの速度には影響がありません。
設定サンプル
あなたの期待通りのマウス設定をするには複数の方法を使わなくてはいけないかもしれません。一般的なオプティカルマウスを設定のサンプルです:
まず、デフォルトの移動速度を3倍遅くします。
$ xinput --set-prop 9 'Device Accel Constant Deceleration' 3 &
それから、アクセラレーションを有効にして6ユニット動いた後、3倍速くします。
$ xset mouse 3 6 &
結果に満足したら、コマンドを ~/.xinitrc
に保存します。
マウスのアクセラレーションの無効化
マウスのアクセラレーションは最近の X サーバーのバージョンでは劇的に変わりました、xset
を使ってアクセラレーションを無効化することは今までのようにはできませんし推奨されません。
最近の PointerAcceleration
での変更は ここ で読むことができます。
全てのアクセラレーション/デクラレーションを無効化するには、次のファイルを作ります:
/etc/X11/xorg.conf.d/50-mouse-acceleration.conf
Section "InputClass" Identifier "My Mouse" MatchIsPointer "yes" Option "AccelerationProfile" "-1" Option "AccelerationScheme" "none" Option "AccelSpeed" "-1" EndSection
そして X を再起動してください。
libinput-1.1.0-1 と xf86-input-libinput-0.15.0-1 から物理的なマウスの移動と仮想上のマウスの移動を1対1でマッピングするフラットアクセラレーションプロファイルを使用することができます。有効化するには以下のファイルを作成してください:
/etc/X11/xorg.conf.d/50-mouse-acceleration.conf
Section "InputClass" Identifier "My Mouse" Driver "libinput" MatchIsPointer "yes" Option "AccelProfile" "flat" EndSection
そして X を再起動してください。