web-dev-qa-db-ja.com

タッチパッドを使用してマウスを短距離移動できない

最近、新しいLenovo Y50を入手し、Ubuntu 14.04を実行しています。以前のDell XPS 17では、指をわずかに動かしてもタッチパッドは優れた反応を示しました-指を非常に短い距離動かすことで、マウスを一度に1ピクセルずつ動かすことができました。狭いウィンドウの境界をつかむ。ただし、この新しいマシンでは、指を0.5センチほど動かすまでマウスは反応しません。その時点で、マウスは数十ピクセルほどジャンプします。マウスがこのように移動すると、I am指をよりゆっくり動かすことで、任意の正確な距離を移動できます。まだマウスを動かしていない場合でも、この厳密な精度が必要です。 (注:この問題はnotがUSBマウスの使用時に発生します。)

noise cancellationxinputが役立つ場合があるため、ノイズキャンセル値をゼロに設定しましたが、これは役に立ちませんでした。手のひらの検出もゼロに設定されます。小さなタッチパッドの動きでマウスの精度を達成する方法を知っている人はいますか?

ありがとうございました!

参考のため、xinputプロパティ:

$ xinput list-props 'ETPS/2 Elantech Touchpad'
Device 'ETPS/2 Elantech Touchpad':
    Device Enabled (155):   1
    Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (278): 1
    Device Accel Constant Deceleration (279):   1.750000
    Device Accel Adaptive Deceleration (280):   1.000000
    Device Accel Velocity Scaling (281):    12.500000
    Synaptics Edges (282):  127, 3061, 112, 1973
    Synaptics Finger (283): 1, 1, 0
    Synaptics Tap Time (284):   180
    Synaptics Tap Move (285):   10
    Synaptics Tap Durations (286):  180, 180, 100
    Synaptics ClickPad (287):   1
    Synaptics Middle Button Timeout (288):  0
    Synaptics Two-Finger Pressure (289):    282
    Synaptics Two-Finger Width (290):   7
    Synaptics Scrolling Distance (291): 45, 45
    Synaptics Edge Scrolling (292): 0, 0, 0
    Synaptics Two-Finger Scrolling (293):   1, 1
    Synaptics Move Speed (294): 1.000000, 1.750000, 0.052507, 0.000000
    Synaptics Off (295):    0
    Synaptics Locked Drags (296):   0
    Synaptics Locked Drags Timeout (297):   5000
    Synaptics Tap Action (298): 2, 3, 0, 0, 1, 3, 0
    Synaptics Click Action (299):   1, 3, 0
    Synaptics Circular Scrolling (300): 0
    Synaptics Circular Scrolling Distance (301):    0.100000
    Synaptics Circular Scrolling Trigger (302): 0
    Synaptics Circular Pad (303):   0
    Synaptics Palm Detection (304): 0
    Synaptics Palm Dimensions (305):    1000, 1000
    Synaptics Coasting Speed (306): 20.000000, 50.000000
    Synaptics Pressure Motion (307):    30, 160
    Synaptics Pressure Motion Factor (308): 1.000000, 1.000000
    Synaptics Resolution Detect (309):  1
    Synaptics Grab Event Device (310):  1
    Synaptics Gestures (311):   1
    Synaptics Capabilities (312):   1, 0, 0, 1, 1, 1, 1
    Synaptics Pad Resolution (313): 32, 32
    Synaptics Area (314):   0, 0, 0, 0
    Synaptics Soft Button Areas (315):  1594, 0, 1709, 0, 0, 0, 0, 0
    Synaptics Noise Cancellation (316): 0, 0
    Device Product ID (271):    2, 14
    Device Node (272):  "/dev/input/event5"

参考のため、synclientパラメーター:

$ synclient
Parameter settings:
    LeftEdge                = 127
    RightEdge               = 3061
    TopEdge                 = 112
    BottomEdge              = 1973
    FingerLow               = 1
    FingerHigh              = 1
    MaxTapTime              = 180
    MaxTapMove              = 100
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 45
    HorizScrollDelta        = 45
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0525072
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 3
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 0
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 0
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 1000
    PalmMinZ                = 1000
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    ResolutionDetect        = 1
    GrabEventDevice         = 1
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 0
    VertHysteresis          = 0
    ClickPad                = 1
    RightButtonAreaLeft     = 1594
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 1709
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0
3
Michael Tingley

Lenovo t540pは、デフォルトの加速プロファイル= 1(デバイスに依存)で同じ症状を示しました。

これは、XOrgのポインターアクセラレーションと関連する "acceleration profile" に関連しているようです。デバイスアクセラレーションプロファイルを-1(なし)に設定すると、ディスプレイ上でマウスカーソルが非常に短い距離を移動しても、デッドスポットの症状は消えるように見え、非常に正確ですが、ほとんど役に立ちません。

線形デバイスの加速度プロファイルAccelerationProfile 6)に切り替えたところ、すぐに改善されました。最初の移動のsiはまだありますが、カーソルは以前のようにジャンプしません。

「デッドスポット」の原因をさらに調査する必要がありますが、ファームウェアの動作が原因である可能性があります。 synaptics man page は、現在制御が困難または不可能な可能性のあるファームウェアノイズキャンセルに言及しています。

ノイズキャンセル

シナプスには、ヒステリシスに基づいたノイズキャンセルが組み込まれています。これは、着信座標が実際に事前定義された寸法のボックスをシフトして着信座標をカバーし、ボックス自体の中心のみが入力として使用されることを意味します。明らかに、ボックスが小さいほど良いですが、通過するノイズモーションの可能性も高くなります。

アクセラレーションプロファイルと関連する設定の調整

以下は、システムの設定を調整するために使用するスクリプトです。

#!/bin/bash
DEVICE="SynPS/2 Synaptics TouchPad"
xinput --set-prop "$DEVICE" "Device Accel Profile" 6
xinput --set-prop "$DEVICE" "Device Accel Constant Deceleration" 12
xinput --set-prop "$DEVICE" "Device Accel Velocity Scaling" 20

好みの設定が見つかったら、/etc/X11/xorg.conf.d/51-synaptics-quirks.confファイル(/usr/share/X11/xorg.conf.dからコピー)に追加するか、99-your-config-file-name.confなどの名前で新しい別個の.confファイルを作成することを選択できます。

Option "AccelerationProfile" "6"
# May want to set "ConstantDeceleration" and "VelocityScale" or other 
# values here as well
7
Inactivist

以下を実行することで、問題を解決できました(ThinkPad T460s)。

$ synclient HorizHysteresis=0
$ synclient VertHysteresis=0

シナプス設定ソフトウェアsynclientを使用します。

これらのパラメータは、@ MichaelTingleyによる元の質問で既に0に設定されていましたが、私の場合は28に設定されていました。

これらを/etc/X11/xorg.conf.d/70-synaptics.confに追加することにより、これらの設定を永続的に設定できます。

Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    Option "HorizHysteresis" "0"
    Option "VertHysteresis" "0"
EndSection

そして、@ Inactivistの徹底した回答に感謝しました。

0
twall