Trackpoint khó kiểm soát sau khi cập nhật Debian


8

Tôi đang thử nghiệm debian và sau khi khởi động lại (sau 3 tuần hoặc lâu hơn, bao gồm một loạt các bản cập nhật gói, tôi tin rằng bao gồm cả hạt nhân) vào một ngày khác, điều chỉnh tốt - thứ mà một người chơi golf sẽ gọi - vị trí con trỏ chuột trở nên rất khó khăn, có cảm giác như con trỏ vẫn đang di chuyển, mặc dù điểm theo dõi đã trở lại vị trí trung tâm của nó. Sử dụng trackpoint không còn thú vị nữa, chỉ mất vài giây để chọn một loạt các từ.

Tôi không nghĩ rằng đó chỉ là một thiết lập cấu hình hiệu suất theo dõi. Nó có thể là một số ngưỡng hoặc vô hiệu hóa một số thuật toán thông minh (hoặc kích hoạt thuật toán thông minh Wannabe) để tăng cường khả năng sử dụng của điểm theo dõi.

Đây là bàn phím USB ngoài của IBM / Lenovo (nó không phải là máy tính xách tay ThinkPad, mặc dù tôi đã gắn thẻ câu hỏi này 'thinkpad', vì chưa có thẻ 'trackpoint' và danh tiếng hiện tại của tôi không cho phép tạo thẻ).

Phiên bản xinput của tôi:

$ xinput --version
xinput version 1.6.0
XI version on server: 2.2

Và đây là đạo cụ của thiết bị:

$ xinput list-props 10
Device 'Synaptics Inc. Composite TouchPad / TrackPoint':
        Device Enabled (125):   0
        Coordinate Transformation Matrix (127): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (247):     1
        Device Accel Constant Deceleration (248):       2.500000
        Device Accel Adaptive Deceleration (249):       1.000000
        Device Accel Velocity Scaling (250):    12.500000
        Synaptics Edges (251):  1632, 5312, 1572, 4284
        Synaptics Finger (252): 25, 30, 256
        Synaptics Tap Time (253):       180
        Synaptics Tap Move (254):       221
        Synaptics Tap Durations (255):  180, 180, 100
        Synaptics ClickPad (256):       0
        Synaptics Tap FastTap (257):    0
        Synaptics Middle Button Timeout (258):  75
        Synaptics Two-Finger Pressure (259):    282
        Synaptics Two-Finger Width (260):       7
        Synaptics Scrolling Distance (261):     100, 100
        Synaptics Edge Scrolling (262): 1, 0, 0
        Synaptics Two-Finger Scrolling (263):   0, 0
        Synaptics Move Speed (264):     1.000000, 1.750000, 0.039809, 40.000000
        Synaptics Edge Motion Pressure (265):   30, 160
        Synaptics Edge Motion Speed (266):      1, 401
        Synaptics Edge Motion Always (267):     0
        Synaptics Off (268):    0
        Synaptics Locked Drags (269):   0
        Synaptics Locked Drags Timeout (270):   5000
        Synaptics Tap Action (271):     0, 0, 0, 0, 0, 0, 0
        Synaptics Click Action (272):   1, 1, 1
        Synaptics Circular Scrolling (273):     0
        Synaptics Circular Scrolling Distance (274):    0.100000
        Synaptics Circular Scrolling Trigger (275):     0
        Synaptics Circular Pad (276):   0
        Synaptics Palm Detection (277): 0
        Synaptics Palm Dimensions (278):        10, 200
        Synaptics Coasting Speed (279): 20.000000, 50.000000
        Synaptics Pressure Motion (280):        30, 160
        Synaptics Pressure Motion Factor (281): 1.000000, 1.000000
        Synaptics Grab Event Device (282):      1
        Synaptics Gestures (283):       1
        Synaptics Capabilities (284):   1, 1, 1, 1, 1, 1, 1
        Synaptics Pad Resolution (285): 1, 1
        Synaptics Area (286):   0, 0, 0, 0
        Synaptics Noise Cancellation (287):     25, 25
        Device Product ID (242):        1739, 9
        Device Node (243):      "/dev/input/event6"

Cập nhật Tôi quên có 2 thiết bị có thể có liên quan, thiết bị này thực sự có vẻ phù hợp hơn thiết bị synap:

$ xinput list-props 11
Device 'TPPS/2 IBM TrackPoint':
    Device Enabled (135):   1
    Coordinate Transformation Matrix (137): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (260):     0
    Device Accel Constant Deceleration (261):       1.000000
    Device Accel Adaptive Deceleration (262):       1.000000
    Device Accel Velocity Scaling (263):    10.000000
    Device Product ID (255):        2, 10
    Device Node (256):      "/dev/input/event9"
    Evdev Axis Inversion (302):     0, 0
    Evdev Axes Swap (304):  0
    Axis Labels (305):      "Rel X" (145), "Rel Y" (146)
    Button Labels (306):    "Button Left" (138), "Button Middle" (139), "Button Right" (140), "Button Wheel Up" (141), "Button Wheel Down" (142)
    Evdev Middle Button Emulation (307):    0
    Evdev Middle Button Timeout (308):      50
    Evdev Third Button Emulation (309):     0
    Evdev Third Button Emulation Timeout (310):     1000
    Evdev Third Button Emulation Button (311):      3
    Evdev Third Button Emulation Threshold (312):   20
    Evdev Wheel Emulation (313):    0
    Evdev Wheel Emulation Axes (314):       0, 0, 4, 5
    Evdev Wheel Emulation Inertia (315):    10
    Evdev Wheel Emulation Timeout (316):    200
    Evdev Wheel Emulation Button (317):     4
    Evdev Drag Lock Buttons (318):  0

Bất cứ ý tưởng những gì để xoay núm?

Cập nhật Tôi khác các thuộc tính trên so với các thuộc tính của máy khác (máy tính xách tay Lenovo nơi Trackpoint hoạt động tốt) cũng đang chạy thử nghiệm debian và chúng giống hệt nhau. Phiên bản của xinput cũng vậy. Vì vậy, tôi đoán rằng chúng tôi có thể loại trừ phiên bản xinput cũng như cài đặt xinput cho các thiết bị đó khỏi những cân nhắc của chúng tôi. Tôi sẽ thử đặt tay lên một bàn phím USB khác của IBM và kiểm tra xem nó có phải không - sau tất cả - một vấn đề về phần cứng ...

[Sau đây là bản chỉnh sửa cho câu hỏi này được thực hiện bởi Barry Grumbine (cảm ơn, người đàn ông), đã bị https://unix.stackexchange.com/users/2180/shawn-j-goff (không cảm ơn, người đàn ông) từ chối . Bởi vì tôi thấy nó rất hữu ích và sự từ chối của Shawn đã che giấu chút thông tin này từ tôi (cho đến bây giờ) và những người khác, tôi sẽ dán nó vào đây:]

Thông tin bổ sung
Có một báo cáo lỗi Debian mở mà tôi tin rằng mô tả vấn đề này # 682413 Vấn đề dường như có liên quan đến mô-đun hạt nhân synaptics_usb . Theo synaptics_usb.c , dòng 30:

[...] Hỗ trợ touchstick chưa được thử nghiệm nhiều [...]


Bạn đang thiếu evdevtrình điều khiển, tôi đã trải nghiệm những điều tương tự trên Gentoo Bạn có thể liệt kê tất cả xf86-input-*các gói bạn đã cài đặt không?
cúc

quy ước đặt tên là khác nhau trong debian, nhưng tôi có những điều sau đây xserver-xorg-input-*s cài đặt: evdev, synaptics, wacom, intel. Có khoảng hơn chục thứ mà tôi chưa cài đặt và dường như không liên quan.
Eugene Beresovsky

Câu trả lời:


4

Tôi đã có cùng một vấn đề, nhưng tôi nghĩ cuối cùng tôi đã tìm ra giải pháp.

xinput --set-prop 11 'Device Accel Constant Deceleration' 3

cho phép touchstick / trackpoint ổn định ở cự ly gần, tức là khi cố gắng chọn văn bản. Thay đổi '3' lên hoặc xuống cho đến khi bạn nhận được thứ gì đó bạn thích, tôi đã thử 2, 3 và 4 và giải quyết '3'. Sau đó chơi với,

xset m 5 1

để điều chỉnh gia tốc. '5' là hệ số nhân gia tốc và '1' là số pixel bạn cần để di chuyển con trỏ trước khi tăng tốc, '5' cho phép tôi nén trên màn hình một cách độc đáo.

Điều cuối cùng cần làm là kết hợp các cài đặt này vào .xinitrc của tôi:

xinput --set-prop 11 'Device Accel Constant Deceleration' 3 &
xset m 5 1 &
exec ck-launch-session startxfce4

Tôi tìm thấy tất cả thông tin này trên ArchWiki .

Lưu ý cuối cùng: Tôi nghĩ rằng vấn đề này đã xuất hiện do mô-đun hạt nhân synaptics_usb được thêm gần đây không có mặc định chắc chắn cho điểm theo dõi, do đó, vấn đề đã được "phơi bày" bởi mô-đun hạt nhân mới, nhưng không phải là vấn đề với chính synaptics_usb.

[EDIT:] Thêm thông tin .xinitrc của tôi không hoạt động trên Debian tests / LightDM / XFCE không chắc tại sao. Quyết định thực hiện điều chỉnh xorg.conf.

Tạo tập tin cấu hình:

$ cat /usr/share/X11/xorg.conf.d/50-synaptics_trackpoint.conf
Section "InputClass"
        Identifier "Synaptics TrackPoint"
        MatchProduct "Stick"
        # set the following to 1 1 0 respectively to disable acceleration.
        Option "AccelerationNumerator" "5"
        Option "AccelerationDenominator" "1"
        Option "AccelerationThreshold" "1"
        # linear deceleration (mouse speed reduction)
        Option "ConstantDeceleration" "2"
        # some curved deceleration
        Option "AdaptiveDeceleration" "1"
EndSection

Khởi động lại, vẫn không có xúc xắc. Tôi phát hiện ra rằng XFCE đã ghi đè cấu hình Xorg, vì vậy tôi đã xóa nó:

$ rm ~/.config/xfce4/xfconf/xfce-perchannel-xml/pointers.xml

Khởi động lại một lần nữa, hoạt động như mong đợi.

Một số lưu ý khắc phục sự cố của tôi :

# Get the current acceleration values.
xinput --get-feedbacks 11

# Get the current deceleration values.
xinput --list-props 11 | grep Deceleration

# What does Xorg know about this?
grep -i stick /var/log/Xorg.0.log

# Set acceleration.
xinput --set-ptr-feedback 11 1 5 1

# Set deceleration.
xinput --set-prop 11 'Device Accel Constant Deceleration' 2

Tham khảo thêm

Trang người dùng Xorg PulumAccelencies Wiki xorg.conf


Cảm ơn Barry. Đã sử dụng hơn 5 ThinkPad và bàn phím USB này trong 5 năm qua, tôi chưa bao giờ có bất kỳ lý do nào để sử dụng các cài đặt accel / decel. Tôi đã chơi xung quanh với các cài đặt của bạn ở trên và mặc dù chúng làm cho nó tốt hơn, nhưng việc đặt con trỏ vẫn không được mượt mà. Tôi tự hỏi nếu có một cách để chỉ bật hành vi mặc định. Tôi đã thử Hồ sơ Accel thiết bị (không có bất kỳ thay đổi nào khác), nhưng nó cũng không hoàn hảo.
Eugene Beresovsky

1
Chà ... chúng tôi đang sử dụng Kiểm tra Debian. Phải mong đợi một chút kỳ lạ. Tôi đang tự hỏi thiết bị nào Accel Profile_ (s) bạn đã thử. Tôi chưa chơi với thuộc tính thiết bị đó, tài liệu Con trỏ X.Org dường như chỉ ra rằng nó có liên quan đến giá trị _thrưỡng (ví dụ '1' trong ví dụ của tôi). Có lẽ thay đổi ngưỡng sẽ làm cho một sự khác biệt. Nó cũng nói rằng AccelerationProfile 1 có thể là thiết bị cụ thể cho synap, và AccelerationProfile 2 là cấu hình được đề xuất.
Barry Grumbine

Barry, là câu trả lời tốt nhất (và duy nhất;), bạn xứng đáng nhận được tiền thưởng! Chỉ cần xác nhận với một bàn phím tương tự khác rằng đó không phải là vấn đề về phần cứng, vì vậy trừ khi một bản sửa lỗi sao chép và dán một dòng khác xuất hiện, tôi đoán tôi sẽ phải làm mờ các nút xin thông báo. Cảm ơn câu trả lời chi tiết của bạn!
Eugene Beresovsky

+1 - Tôi đang cố gắng cung cấp cho bạn một số tín dụng cho chỉnh sửa bạn đã thực hiện cho câu hỏi của tôi (xem phần cuối câu hỏi), bằng cách nâng cao nhận xét của bạn xuống đây. Vì bản chỉnh sửa đã bị người khác từ chối, tôi không thể làm như vậy bằng cách chấp nhận chỉnh sửa như bình thường.
Eugene Beresovsky

1

Thực sự có một số vấn đề với trình điều khiển synaptics_usb với Trackpoint. Ngay cả với các tinh chỉnh được đề cập ở đây, nó vẫn còn khá đau. Một bản vá có sẵn http://thread.gmane.org/gmane.linux.kernel.input/31935 mặc dù tôi chưa thử nghiệm nó.

Tôi tìm thấy cách khắc phục nhanh nhất là quay trở lại trình điều khiển usbhid. Thật không may, các thiết bị Synaptics được liệt kê vào danh sách đen (bị bỏ qua) theo mặc định bởi hid-quirks để không gây ra tranh chấp cho thiết bị. May mắn thay, có ít nhất các hạt nhân gần đây để đánh dấu nó bằng cách chuyển ID USB và cờ đặc biệt để ẩn giấu các quirks.

Đầu tiên, thu thập thông tin thiết bị USB:

$ lsusb
...
Bus 001 Device 008: ID 06cb:0009 Synaptics, Inc. Composite TouchPad and TrackPoint

Nếu usbhid được tải dưới dạng mô-đun (lsmod | grep usbhid), hãy tạo như sau:

/etc/modprobe.d/usbhid.conf:
  options usbhid quirks=0x06cb:0x0009:0x40000000 # 0x4 is to unignore
  blacklist synaptics_usb  # Prevent synaptics_usb from being loaded

Sau đó, bạn có thể kiểm tra bằng cách:

$ sudo rmmod synaptics_usb 
$ sudo rmmod usbhid  (keeping in mind your usb keyboard might stop working here)
$ sudo modprobe usbhid

Nếu usbhid được biên dịch vào kernel như trong bản phân phối của tôi, nó sẽ cần được thêm vào các tham số khởi động kernel. Trong trường hợp của tôi (CentOS 7) tôi đã làm như sau:

 /etc/default/grub:
  GRUB_CMDLINE_LINUX="[...] usbhid.quirks=0x06cb:0x0009:0x40000000"

 $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

 /etc/modprobe.d/synaptics_usb.conf:
  blacklist synaptics_usb

Sau đó khởi động lại! Trackpoint bây giờ sẽ được nhận ra bởi usbhid.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.