Cách tốt nhất để định cấu hình Trackpoint của Thinkpad là gì?


40

Các trang ThinkWiki hữu ích trước đây có vẻ khá lỗi thời. Tôi đang cố gắng thay đổi vĩnh viễn cài đặt độ nhạy và tốc độ Trackpoint của mình và cho phép cuộn nút chuột giữa. Tôi đã thử cấu hình trackpoint trong quá khứ, nhưng các cài đặt không được lưu vĩnh viễn (chúng bị mất sau khi khởi động lại).

Tôi đã thử gpointing-device-settings. Sử dụng nó, tôi có thể di chuyển nút chuột giữa để hoạt động, nhưng tôi không thể thay đổi cài đặt tốc độ hoặc độ nhạy của trackpoint. Tất cả các phương pháp trên trang ThinkWiki mà tôi đã thử không hoạt động như được chỉ dẫn trong Ubuntu 11.04. Ai đó có thể giải thích cách chỉnh sửa vĩnh viễn cài đặt Trackpoint để tôi có thể sử dụng chính xác không?

Câu trả lời:


47

Thật không may, dường như không có cách dễ dàng. Những gì tôi sẽ mô tả là làm thế nào để tạo một công việc Upstart mới để đặt các giá trị khi khởi động thông qua hệ thống tệp ảo trong / sys.

  1. Tìm đường dẫn thiết bị của trackpoint của bạn

    Chạy phần sau trong gnome-terminal (nhấn Alt+ F2, gõ gnome-terminalvà nhấn Enter):

    find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//'
    

    Trong trường hợp của tôi, điều này trả về /sys/devices/platform/i8042/serio1/serio2- thay đổi thành bất cứ điều gì nó trả lại cho bạn trong các bước sau.

  2. Tìm giá trị cho độ nhạy và tốc độ

    Chạy các lệnh sau trong gnome-terminal:

    echo 220 | sudo tee /sys/devices/platform/i8042/serio1/serio2/sensitivity
    

    cho độ nhạy 220 (điều này sẽ hỏi bạn mật khẩu của bạn) và

    echo 100 | sudo tee /sys/devices/platform/i8042/serio1/serio2/speed
    

    với tốc độ 100. Khi bạn đã tìm thấy các giá trị mà bạn cảm thấy thoải mái, hãy thay đổi vĩnh viễn bằng cách sử dụng công việc Upstart:

  3. Tạo quy tắc udev mới

    Bây giờ chúng ta cần áp dụng các cài đặt trong khi khởi động hệ thống. Do đó, nhấn Alt+ F2, gõ gksu gedit /etc/udev/rules.d/trackpoint.rulesvà nhấn Enter(điều này sẽ hỏi bạn mật khẩu của bạn). Sau đó dán như sau:

    SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="220", ATTR{speed}="110"
    

    (Cập nhật) Như WAIT_FORkhông được chấp nhận, trên các hệ thống mới hơn, bạn có thể sử dụng DEVPATHthay thế:

    SUBSYSTEM=="serio", DRIVERS=="psmouse", DEVPATH=="/sys/devices/platform/i8042/serio1/serio2", ATTR{sensitivity}="220", ATTR{speed}="110"     
    

    Lưu tệp và khởi động lại hoặc chạy các lệnh trên:

    sudo udevadm control --reload-rules
    sudo udevadm trigger 
    

5
Cảm ơn đã trả lời rất chi tiết. Vì vậy, tôi đã thực hiện thêm một số hoạt động đào và chỉnh sửa từ các bài viết ThinkWiki tối qua và tôi đã phát hiện ra một cái gì đó khác có hiệu quả. Hai bước đầu tiên phải giống nhau. Thay vì một công việc Upstart, tôi đã sử dụng các quy tắc udev. Tôi đã tạo một tệp bằng cách nhấn Alt + F2, gõ gksu gedit /etc/udev/rules.d/trackpoint.rulesvà dán như sau: SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="200", ATTR{speed}="150"Sau đó khởi động lại. Có bất kỳ lý do nào tôi nên sử dụng quy tắc Upstart vs udev không?
Jonathan Blackhall

IMO phương pháp udev là cách tốt hơn, cảm ơn! Chỉnh sửa nó thành câu trả lời. :-)
htorque

1
LƯU Ý: sử dụng DEVPATH=="(hai bằng), nếu không nó sẽ không hoạt động. Không thể chỉnh sửa bài đăng chỉ với một thay đổi char, vì vậy chỉ cần để lại nhận xét ..
baldr

Quy tắc udev dường như không hoạt động trong Ubuntu 16.04. Xem các câu trả lời sau cho các cách tiếp cận khác (ví dụ: từ Nguyễn Thành Tung).
MakisH

16

VÌ VẬY, CÁI GÌ GIÚP TÔI ĐỂ KIẾM TRACKPOINT THÊM NHIỀU HƠN.

1. Cách thức dễ dàng là làm trong thiết bị đầu cuối:

 $ xinput --list --short

Bạn sẽ thấy một cái gì đó như thế này:

omicron@omicron:~$ xinput --list --short
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint    id=10.  [slave  pointer  (2)]
⎜   ↳ ImPS/2 Generic Wheel Mouse                id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint    id=9    [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                        id=11   [slave  keyboard (3)]

2. Tìm thiết bị theo dõi của bạn. Trong trường hợp của tôi, nó là id = 10.

3. Sau đó làm trong thiết bị đầu cuối:

$ xinput --set-prop "10" "Device Accel Constant Deceleration" 0.5

"10" ở đây là ID thiết bị (Lite-On Technology Corp Bàn phím USB ThinkPad với Trackpoint id = 10), đặt ID của bạn ở đây và "0,5" là mức độ nhạy. Bạn có thể thử nghiệm độ nhạy bằng cách đặt các số lớn hơn 0 đến 1000. Nhưng bạn chắc chắn không cần nó. Con số càng nhỏ thì tốc độ càng cao.

Tôi sử dụng 0,4 hoặc 0,45

4. QUAN TRỌNG. Khi tốc độ được chọn, sao chép tập lệnh cuối cùng của bạn để tự động khởi động.

nhập mô tả hình ảnh ở đây

PS Nếu cài đặt ngừng hoạt động một ngày, hãy kiểm tra lại ID. Có thể có một số thay đổi đối với bảng thiết bị của bạn và ID có thể thay đổi.

Hy vọng nó sẽ giúp bạn.

Thưởng thức ThinkPad của bạn!


2
Thật không may, tôi nhận được: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatKhông chắc chắn làm thế nào để làm điều đó ... bất kỳ đề xuất? (Thinkpad T420, Ubuntu 18.04)
JamesBB

1
Tôi nghĩ rằng bạn bị hạn chế đối với các thuộc tính được hiển thị bởi xinput list-props $device_id(trong đó device_id= 10 trong ví dụ trên). Ví dụ: trên Thinkpad X1c5 của tôi chạy 18.04, tôi có một thuộc tính được gọi là libinput Accel Speedcó thể điều chỉnh được
sxc731

1
BTW, thay đổi nắp cao su Trackpoint cũng có thể giúp ích. Của tôi vô cùng khó khăn (đến mức ngón tay của tôi bị đau) và sau khi sử dụng nó một cách triệt để (chỉ trong vòng 18 tháng, điều này chưa từng xảy ra trên nhiều chiếc ThinkPad trước đây), tôi đã quyết định đầu tư khoảng 15 đô la vào việc thay thế mũ (Lenovo part no 4XH0L55146, đi kèm 10 trong số đó). Kết quả thật đáng kinh ngạc: Trackpoint của tôi đã đi quá khó để thực sự quá nhạy cảm. Cài đặt phù hợp với tôi bây giờ (X1c5 với TPPS/2 ALPS TrackPointngày 18.04) là "libinput Accel Speed" -1.0(là cài đặt tăng tốc tối thiểu). YMMV tất nhiên
sxc731

1
Tôi có thinkpad E480 và Ubuntu 18.04 và xinput --set-prop "12" "libinput Accel Speed" -0.5lệnh đã hoạt động
Xavitoj Cheema

1
Câu trả lời được đánh giá cao nhất đã ngừng hoạt động sau khi cập nhật hệ thống gần đây nhất vì một số lý do (Arch / Manjaro). Điều này làm việc cho tôi. Cảm ơn.
xji

13

Đối với Thinkpad T530 và Ubuntu 15.10 của tôi. Chỉ dùng:

sudo -i gedit /etc/udev/rules.d/10-trackpoint.rules

và sau đó thêm nội dung sau vào, sau đó khởi động lại. Giá trị cài đặt sẽ được giữ.

ACTION=="add",
SUBSYSTEM=="input",
ATTR{name}=="TPPS/2 IBM TrackPoint",
ATTR{device/sensitivity}="190",
ATTR{device/speed}="180",
ATTR{device/inertia}="6",
ATTR{device/press_to_select}="0"

Điều này hoạt động ngay cả khi các tệp cần thiết trong các câu trả lời khác (serio1 / độ nhạy) không tồn tại
Soupy

Điều này dường như đã làm việc cho tôi. :) (ThinkpadT420, Ubuntu18.04). Chỉ cần chơi với các cài đặt, một chút tẻ nhạt phải khởi động lại mỗi lần, nhưng tôi có thể sống với điều đó.
JamesBB

2
@JamesBB chạy udevadm trigger --action add --subsystem allsẽ khiến udev áp dụng các quy tắc cho tất cả các thiết bị hiện tại.
CameronNemo

@CameronNemo - sẽ thử điều đó, cảm ơn! Có vẻ cần --subsystem-match all, nhưng tôi nghĩ rằng đó là làm việc.
JamesBB

4

@ Vitaly-dubyna có câu trả lời đúng. Trên debian phương pháp của ông hoạt động hoàn hảo. Để làm cho cuộc sống của bạn dễ dàng hơn, hãy đặt một tệp .xsessionrctrong thư mục chính của bạn với tất cả các cài đặt để nó sẽ được tải sau mỗi lần khởi động lại.

làm cho việc sử dụng tập tin mới vim, pico, gedit-

vim .xsessionrc 

sau đó dán cái này vào trong

xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 1
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 2
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 200
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 7 6 4 5
xinput set-prop "TPPS/2 IBM TrackPoint" "Device Accel Constant Deceleration" 0.4

trong đó 4 dòng đầu tiên là để thiết lập cuộn dọc và cuộn ngang với trackpoint và dòng cuối cùng là để kiểm soát tốc độ / và độ nhạy.

Lưu ý rằng vì ID thiết bị có thể thay đổi tùy thuộc vào việc một số thiết bị đầu vào có được bật / tắt trong BIOS hay không, nên sử dụng tên thiết bị trong dấu ngoặc kép. Đối với hầu hết các thinkpad TPPS/2 IBM TrackPointlà tài liệu tham khảo.


** CHỈNH SỬA: ** Tháng 11 năm 2015

#get the device ID for the trackpad. We know it contains the string "TPPS"
ibm_trackpad_id=$(xinput | grep 'TPPS' | cut -d"=" -f2 | cut -f1)
echo $ibm_trackpad_id > ~/temp/ibm_trackpad_id

#set desired params for trackpoint
xinput set-prop $ibm_trackpad_id "Evdev Wheel Emulation" 1
xinput set-prop $ibm_trackpad_id "Evdev Wheel Emulation Button" 2
xinput set-prop $ibm_trackpad_id "Evdev Wheel Emulation Timeout" 200
xinput set-prop $ibm_trackpad_id "Evdev Wheel Emulation Axes" 7 6 5 4
xinput set-prop $ibm_trackpad_id "Device Accel Constant Deceleration" 0.15

# get wireless mouse device ID 
logitech_mouse_id=$(xinput | grep "Logitech" | cut -d"=" -f2 | cut -f1)
echo $logitech_mouse_id > ~/temp/logitech_mouse_id

# this is device dependent. Map the buttons on your mouse the functionality you want. 
xinput set-button-map $logitech_mouse_id 1 2 3 4 5 6 7 9 8 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

# set props for external mouse
xinput set-prop $logitech_mouse_id "Device Accel Constant Deceleration" 1.7
xinput set-prop $logitech_mouse_id "Device Accel Adaptive Deceleration" 2
xinput set-prop $logitech_mouse_id "Evdev Wheel Emulation" 1
xinput set-prop $logitech_mouse_id "Evdev Wheel Emulation Axes" 7 6 5 4
xinput set-prop $logitech_mouse_id "Evdev Wheel Emulation Button" 8

1
"Evdev Wheel Emulation Axes"Cài đặt của bạn sử dụng cuộn tự nhiên theo chiều ngang, cuộn bình thường theo chiều dọc. Tôi đoán hầu hết muốn cuộn hoàn toàn tự nhiên (sử dụng 7 6 5 4) hoặc cuộn hoàn toàn bình thường (sử dụng 6 7 4 5).
tanius

Kể từ Ubuntu 17.10, evdevtrình điều khiển mà giải pháp này dựa vào không còn được cài đặt theo mặc định. Thay vào đó, bạn vẫn có thể cài đặt nó sudo apt install xserver-xorg-input-evdevhoặc sử dụng libinputtrình điều khiển mặc định . Trong trường hợp đó, câu trả lời của @htorque là cách định cấu hình tốc độ và độ nhạy.
tanius

3

Điều này dựa trên câu trả lời của Vitaly Dubyna, nhưng được cập nhật để hoạt động cho các phiên bản Thinkpad và Xorg gần đây (2019) (nhờ các bình luận cho câu trả lời đó).

Từ dòng lệnh, nhập lệnh này (chỉ phần sau $):

$ xinput | grep -i trackpoint
TPPS/2 Elan TrackPoint   id=12 

Lưu ý id = 12 (có thể khác trên hệ thống của bạn).

$ xinput --list-props 12
...
libinput Accel Speed (300):     0.000000
libinput Accel Speed Default (301):     0.000000
...

Thử nghiệm với cài đặt tốc độ; giá trị âm cho phép. Ví dụ,

$ xinput --set-prop 12 'libinput Accel Speed' -0.25

Khi bạn hài lòng, hãy thêm lệnh dưới dạng một ứng dụng khởi động (thường trong menu Bắt đầu> Tùy chọn> Ứng dụng khởi động).

Tên cài đặt ở trên được xác nhận cho các mẫu Thinkpad X1c5 (Ubuntu 18.04), E480 (18.04) và E490 (Mint 19.1).


2

Định cấu hình libinputtùy chọn qua xorg.conf.d và udev

Kể từ Ubuntu 17.10, libinputtrình điều khiển hiện là tiêu chuẩn.

Một số tùy chọn của nó có thể được cấu hình thông qua cơ chế X.org, nhưng tốc độ và độ nhạy cần phải được cấu hình với các quy tắc udev để đưa vào các tham số trình điều khiển kernel. (Xem câu trả lời của @htorque cho điều đó.)

Để định cấu hình các tùy chọn khác, hãy tạo một tệp /etc/X11/xorg.conf.d/52-trackpoint-tweaks.conf(hoặc có tên tương tự). Các tập tin nên có nội dung này:

Section "InputClass"
    Identifier         "Trackpoint tweaks"
    MatchProduct       "TPPS/2 IBM TrackPoint"
    MatchDevicePath    "/dev/input/event*"

    # The default driver now, so optional to put in this line. 
    # But does not hurt mentioning where the options will go.
    Driver             "libinput"

    Option             "NaturalScrolling"      "true"
EndSection

Để thấy hiệu quả, tất nhiên bạn phải khởi động lại X. Để biết danh sách các tùy chọn X.org có sẵn khác, hãy xem maninput (4) .

Để biết danh sách các thuộc tính xinput tương ứng (nhưng được đặt tên khác), hãy xem xinput --list-prop "TPPS/2 IBM TrackPoint"hoặc một lần nữa man (4) libinput . Bạn có thể sử dụng những thứ này để kiểm tra hiệu ứng ngay lập tức bằng xinput --set-prop […]các lệnh mà không phải khởi động lại X mỗi lần. Và sau đó sử dụng các tương đương trong 52-trackpoint-tweaks.conftệp để thực hiện các thay đổi vĩnh viễn, như được hiển thị ở trên.



0

Tôi có một thinkpad và có mọi thứ được thiết lập như mong muốn thông qua một ứng dụng có tên Pointing Devices, đây chỉ là hộp thoại cài đặt chuột nâng cao hơn một chút.

Tôi không nhớ có bao nhiêu tùy chọn cho độ nhạy, nhưng không giống như màn hình cài đặt chuột tích hợp, cái này nhận ra độc lập trackpoint và trackpad và cho phép kiểm soát tốt hơn như cài đặt nút cuộn (là nút 2 trong cấu hình của tôi) và cho phép độ nhạy phát hiện lòng bàn tay.


Không có tùy chọn cho độ nhạy hoặc tốc độ với cài đặt thiết bị điểm.
Jonathan Blackhall

0

Trên Ubuntu 12.04 Unity 2D trên Thinkpad sl410 Tôi sử dụng Mouse And Touchpadcửa sổ tiêu chuẩn trong Cài đặt. Thay đổi Gia tốc hoặc Tốc độ cũng thay đổi độ nhạy của điểm theo dõi. Mặc dù hành vi bị đảo ngược - Giảm tốc độ gây ra sự tăng độ nhạy của trackpoint. Cài đặt vẫn tồn tại giữa các lần khởi động lại.


0

Định cấu hình evdevtùy chọn qua xorg.conf.d (ĐỔI)

Trình evdevđiều khiển là trình điều khiển mặc định cho điểm theo dõi trong các phiên bản trước của Ubuntu, nhưng kể từ Ubuntu 17.10, cách tiếp cận bên dưới không được dùng nữa và không còn hoạt động nữa. Điều này là do evdevtrình điều khiển không được cài đặt theo mặc định nữa vì libinputtrình điều khiển là tiêu chuẩn bây giờ - xem câu trả lời khác của tôi để định cấu hình đó.

Nếu bạn muốn, bạn vẫn có thể sử dụng evdevgiải pháp bên dưới sau khi cài đặt trình điều khiển với sudo apt install xserver-xorg-input-evdev( nguồn ).

Mọi thứ có thể được cấu hình độc đáo trong một /etc/X11/xorg.conf.d/52-trackpoint-tweaks.conftệp (hoặc có tên tương tự - trên Ubuntu, bạn phải tạo thư mục và tệp, nhưng cơ chế hoạt động; có thể một trong các tên thư mục x11thay vì X11trong một số phiên bản).

Các tập tin nên có nội dung này:

Section "InputClass"
    Identifier "Trackpoint tweaks"
    MatchProduct       "TPPS/2 IBM TrackPoint"
    MatchDevicePath    "/dev/input/event*"

    # Specify the driver, as else Ubuntu 17.10 will use libinput.
    Driver             "evdev"

    # Configure wheel emulation, using middle button and "natural scrolling".
    Option             "EmulateWheel"            "on"
    Option             "EmulateWheelButton"      "2"
    Option             "EmulateWheelTimeout"     "200"
    Option             "EmulateWheelInertia"     "7"
    Option             "XAxisMapping"            "7 6"
    Option             "YAxisMapping"            "5 4"

    # Set up an acceleration config ("mostly linear" profile, factor 5.5).
    Option             "AccelerationProfile"     "3"
    Option             "AccelerationNumerator"   "55"
    Option             "AccelerationDenominator" "10"
    Option             "ConstantDeceleration"    "3"
EndSection

Để thấy hiệu quả, tất nhiên bạn phải khởi động lại X. Để chơi với các cài đặt này trong khi X đang chạy, hãy sử dụng xinput, nhưng lưu ý rằng tên tùy chọn khác nhau ở đó.

Như @Vitaly Dubyna đã chỉ ra, "Giảm tốc không đổi" có thể được sử dụng để kiểm soát độ nhạy - nó giảm quy mô tất cả các chuyển động với yếu tố đó, do đó, giá trị "3" làm cho tất cả các chuyển động chậm hơn 3 lần so với "1" mặc định.

Tài liệu tùy chọn:

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.