Bir Thinkpad'in TrackPointini yapılandırmanın en iyi yolu nedir?


40

Daha önce faydalı olan ThinkWiki sayfaları oldukça modası geçmiş görünüyor. TrackPoint duyarlılığımı ve hız ayarlarımı kalıcı olarak değiştirmeye ve orta fare düğmesi kaydırmayı etkinleştirmeye çalışıyorum. Configure-trackpoint'i geçmişte denedim, ancak ayarlar kalıcı olarak kaydedilmedi (yeniden başlattıktan sonra kayboluyorlar).

Denedim gpointing-device-settings. Kullanarak, orta fare düğmesinin çalışmaya gelmesini sağlayabilirim, ancak iz noktasının hızını veya hassasiyet ayarlarını değiştiremiyorum. Denediğim ThinkWiki sayfasındaki tüm yöntemler Ubuntu 11.04'te belirtilen şekilde çalışmaz. Birisi, doğru kullanabilmem için TrackPoint ayarlarını kalıcı olarak nasıl düzenleyeceğimi açıklayabilir mi?

Yanıtlar:


47

Maalesef kolay bir yol yok gibi görünüyor. Açıklayacağım şey, / sys altındaki sanal dosya sistemi üzerinden önyüklemedeki değerleri ayarlamak için yeni bir Başlatma işi nasıl oluşturulacağıdır.

  1. İzleme noktanızın cihaz yolunu bulun

    Aşağıdakileri bir gnome terminalinde çalıştırın ( Alt+ F2, type gnome-terminalve hit tuşlarına basın Enter):

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

    Benim durumumda bu döner /sys/devices/platform/i8042/serio1/serio2- aşağıdaki adımlarda sizin için neyin döndüğü ile değiştirin.

  2. Hassasiyet ve hız için değerleri bulun

    Bir gnome-terminalinde aşağıdaki komutları çalıştırın:

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

    220 hassasiyet için (bu sizden şifrenizi isteyecektir) ve

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

    100 hızında. Rahat olduğunuz değerleri bulduğunuzda, bir Upstart işi kullanarak değişikliği kalıcı yapın:

  3. Yeni bir udev kuralı oluşturun

    Şimdi sistemin başlatılması sırasında ayarları uygulamamız gerekiyor. Bu nedenle, Alt+ F2, gksu gedit /etc/udev/rules.d/trackpoint.rulesyazıp isabet tuşuna basın Enter(bu işlem parolanızı isteyecektir). Sonra aşağıdakileri yapıştırın:

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

    (Güncelleme) olarak WAIT_FORkullanabilirsiniz yeni sistemlerde, kullanımdan kaldırıldı DEVPATHyerine:

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

    Dosyayı kaydedin ve yukarıdaki komutları yeniden başlatın veya çalıştırın:

    sudo udevadm control --reload-rules
    sudo udevadm trigger 
    

5
Çok detaylı cevap için teşekkürler. Bu yüzden, dün gece ThinkWiki makalelerinden biraz daha kazma ve ince ayarlamalar yaptım ve işe yarayan başka bir şey keşfettim. İlk iki adım aynı olmalıdır. Upsev işi yerine udev kuralları kullandım. Alt + F2 tuşlarına basarak bir dosya oluşturdum gksu gedit /etc/udev/rules.d/trackpoint.rules, aşağıdakini yazıp yapıştırdım: SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="200", ATTR{speed}="150"Sonra yeniden başlat. Upstart vs udev kurallarını kullanmamın bir nedeni var mı?
Jonathan Blackhall

IMO udev yaklaşımı daha iyi, teşekkürler! Bunu cevabına girdi. :-)
htorque

1
NOT: kullanın DEVPATH=="(iki eşittir), aksi takdirde işe yaramaz.
Gönderiyi

Uudev kuralı, 16.04 Ubuntu'da çalışmıyor gibi görünüyor. Diğer yaklaşımlar için sonraki cevaplara bakınız (örneğin, Nguyen Thanh Tung'ten bir cevap).
MakisH

16

SO, ne daha hassas hissetmek için bana yardımcı oldu.

1. Kolaylaştırmanın yolu terminalde yapmaktır:

 $ xinput --list --short

Bunun gibi bir şey göreceksiniz:

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. Trackpoint cihazınızı bulun. Benim durumumda bu id = 10.

3. Sonra terminalde yapın:

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

"10" burada cihaz kimliğidir (Lite-On Technology Corp. TrackPoint kimliğine sahip ThinkPad ThinkPad USB Klavye = 10), kimliğinizi buraya koyun ve "0.5" hassasiyet seviyesidir. 0'dan 1000'e kadar olan sayıları koyarak hassasiyeti deneyebilirsiniz. Ama kesinlikle buna ihtiyacınız yok. Sayı ne kadar küçük olursa, hız o kadar yüksek olur.

0,4 veya 0,45 kullanıyorum

4. ÖNEMLİ. Hız seçildiğinde, son komut dosyanızı otomatik başlatmaya kopyalayın.

görüntü tanımını buraya girin

PS Ayarlar bir gün durduysa, ID'yi tekrar kontrol edin. Cihazlar tablonuzda bazı değişiklikler olabilir ve kimlik değişebilir.

Umarım size yardımcı olur.

ThinkPad'inizin tadını çıkarın!


2
Ne yazık ki alıyorum: Bunun property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatnasıl yapılacağından emin değilim ... herhangi bir öneriniz var mı? (Thinkpad T420, Ubuntu 18.04)
JamesBB

1
Bence gösterilen özelliklerle sınırlısınız xinput list-props $device_id( device_idyukarıdaki örnekte = 10). Örneğin, 18.04'te çalışan Thinkpad X1c5’imde, libinput Accel Speedtweakable görünen bir özellik var
sxc731

1
BTW, Trackpoint lastik kapağını değiştirmek de yardımcı olabilir. Maden umutsuzca zordu (parmağım ağrıyordu) ve iyice yıprattıktan sonra (sadece 18 ay içinde, önceki pek çok ThinkPad üzerinde hiç olmadı) Değiştirme kapaklarına yaklaşık 15 dolar yatırmaya karar verdim (Lenovo parça no 4XH0L55146, birlikte gelir) Bunlardan 10'u). Sonuç şaşırtıcı: Trackpoint'im gerçekte çok hassas olmaktan çok zor olmaktan geçti. Şimdi benim için çalışan ayar (18.04'te X1c5 TPPS/2 ALPS TrackPoint): "libinput Accel Speed" -1.0(minimum hızlanma ayarı). Elbette YMMV
sxc731 23:18

1
E480 ve Ubuntu 18.04 xinput --set-prop "12" "libinput Accel Speed" -0.5
nolu tuş takımını düşünüyorum

1
En çok oy alan cevap, nedense en son sistem güncellemesinden sonra çalışmayı durdurdu (Arch / Manjaro). Bu benim için çalıştı. Teşekkürler.
xji

13

Thinkpad T530 ve Ubuntu 15.10 için. Sadece kullan:

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

ve sonra aşağıdaki içeriği ekleyin, sonra yeniden başlatın. Ayar değeri korunacaktır.

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"

Bu, diğer cevaplar (serio1 / hassasiyet) gerekli dosyaların mevcut olmadığında bile çalışır
Soupy

Bu benim için çalıştı gibi görünüyor. :) (ThinkpadT420, Ubuntu18.04). Sadece ayarlarla oynamanız gerekiyor, her seferinde yeniden başlatmak biraz sıkıcı, ancak bununla yaşayabilirim.
JamesBB

2
@JamesBB koşusu udevadm trigger --action add --subsystem all, udev'in kuralları mevcut tüm cihazlara uygulamasını sağlayacaktır.
CameronNemo

@CameronNemo - Bunu deneyeceğim, teşekkürler! İhtiyacı var gibi görünüyor --subsystem-match allama bence işe yarıyor.
JamesBB,

4

@ vitaly-dubyna doğru cevabı var. Debian'da metodu kusursuz çalışıyor. Hayatınızı kolaylaştırmak için, .xsessionrcher yeniden başlatmanın ardından yüklenecek şekilde tüm ayarları içeren bir dosyayı ana dizininize yerleştirin.

Yeni bir dosya faydalanmak vim, pico, gedit-

vim .xsessionrc 

sonra bunu içine sok

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

ilk 4 satır trackpoint ile dikey ve yatay kaydırma ayarlamak ve son satır hız / ve hassasiyeti kontrol etmek.

Aygıt kimliğinin bazı giriş aygıtlarının BIOS'ta etkin / devre dışı olup olmamasına bağlı olarak değişebileceği için, cihazın adını tırnak içinde kullanmak tercih edilir. Çoğu thinkpad TPPS/2 IBM TrackPointiçin referanstır.


** EDIT: ** Kası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
Kişisel "Evdev Wheel Emulation Axes"ayar dikey, yatay, normal kaydırma doğal kaydırma kullanır. Sanırım çoğu tamamen doğal kaydırma (kullanım 7 6 5 4) veya tamamen normal kaydırma (kullanım 6 7 4 5) istiyor .
tanius

Ubuntu 17.10'dan itibaren, evdevbu çözümün dayandığı sürücü artık varsayılan olarak yüklenmiyor. Hala onunla kurabilir sudo apt install xserver-xorg-input-evdevveya şimdi varsayılan libinputsürücüyü kullanabilirsiniz . Bu durumda, @htorque tarafından verilen cevap hız ve hassasiyeti yapılandırma yoludur.
tanius

3

Bu Vitaly Dubyna'nın cevabına dayanıyor ancak son zamanlarda (2019) Thinkpads ve Xorg sürümleri için çalışmak üzere güncellendi (bu cevabın yorumları sayesinde).

Komut satırından bu komutu girin (sadece $ işaretinden sonraki bölüm):

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

Not kimliği = 12 (sisteminizde farklı olabilir).

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

Hız ayarı ile deneme; negatif değerlere izin verilir. Örneğin,

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

Memnun kaldığınızda, komutu başlangıç ​​uygulaması olarak ekleyin (genellikle Başlat menüsü> Tercihler> Başlangıç ​​uygulamaları altında).

Yukarıdaki ayar adı Thinkpad X1c5 (Ubuntu 18.04), E480 (18.04) ve E490 (Mint 19.1) için onaylanmıştır.


2

libinputSeçenekleri xorg.conf.d ve udev ile yapılandırın

Ubuntu 17.10'dan itibaren libinputsürücü artık standart.

Seçeneklerinden bazıları X.org mekanizmasıyla yapılandırılabilir, ancak çekirdek sürücüsü parametrelerine koymak için hız ve hassasiyetin udev kuralları ile yapılandırılması gerekir. ( Bunun için @htorque tarafından verilen cevaba bakınız .)

Diğer seçenekleri yapılandırmak için bir dosya /etc/X11/xorg.conf.d/52-trackpoint-tweaks.conf(veya benzer şekilde adlandırılmış) oluşturun. Dosyanın bu içeriğe sahip olması gerekir:

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

Efekti görmek için elbette X'i yeniden başlatmanız gerekir. Diğer mevcut X.org seçeneklerinin listesi için man (4) libinput sayfasına bakınız .

Karşılık gelen (ancak farklı olarak adlandırılır) Xinput özelliklerinin bir listesi için, bakınız xinput --list-prop "TPPS/2 IBM TrackPoint"tekrar ya da erkek (4) libinput . Bunları, xinput --set-prop […]her seferinde X'i yeniden başlatmak zorunda kalmadan, hemen komutlarla efektleri test etmek için kullanabilirsiniz . Ardından 52-trackpoint-tweaks.conf, değişiklikleri yukarıda gösterildiği gibi kalıcı hale getirmek için dosyadaki eşdeğerleri kullanın .



0

Bir düşünme panelim var ve biraz daha gelişmiş bir fare ayarları iletişim kutusu olan İşaretleme Aygıtları adlı bir uygulamada istediğiniz gibi ayarlamalar yaptım.

Duyarlılık için kaç seçenek olduğunu hatırlamıyorum, ancak yerleşik fare ayarları ekranından farklı olarak, bu, izleme noktasını ve izleme panelini bağımsız olarak yeniden düzenledi ve kaydırma düğmesini ayarlamak gibi daha fazla kontrol için izin verdi (yapılandırmamda düğme 2 idi) ve avuç içi algılama hassasiyetinin sağlanması.


Noktalama aygıt ayarları ile hassasiyet veya hız için seçenek yoktur.
Jonathan Blackhall

0

Ubuntu'da 12.04 Thinkpad sl410'da Unity 2D üzerinde Mouse And TouchpadAyarlar'daki standart pencereyi kullanıyorum . Hızlanma veya Hızın değiştirilmesi aynı zamanda bir iz noktasının hassasiyetini de değiştirir. Davranış tersine çevrilmiş olsa da - hızın azaltılması, hareket noktası duyarlılığının artmasına neden olur. Ayarlar, yeniden başlatmalar arasında devam eder.


0

evdevSeçenekleri xorg.conf.d (DEPRECATED) aracılığıyla yapılandırma

evdevSürücü Ubuntu önceki sürümlerinde trackpoint için varsayılan sürücü, ama Ubuntu 17.10 itibariyle aşağıda yaklaşım kaldırılmıştır ve artık kutunun dışında çalışmıyor. Bunun nedeni, şuanda standart evdevolarak libinputsürücü olarak varsayılan olarak yüklenmemiş sürücünün artık standart olmasıdır - bunu yapılandırmak için diğer cevabımı görün .

İsterseniz evdev, sürücüyü sudo apt install xserver-xorg-input-evdev( kaynak ) ile yükledikten sonra aşağıdaki çözümü kullanabilirsiniz .

Her şey bir in güzel yapılandırılabilir /etc/X11/xorg.conf.d/52-trackpoint-tweaks.confdosyası (veya benzer ada - Ubuntu üzerine, dizin ve dosya oluşturmak zorunda, ama mekanizma çalışır; belki dizin isimlerinden biri x11yerine X11bazı sürümlerinde).

Dosyanın bu içeriğe sahip olması gerekir:

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

Efekti görmek için elbette X'i yeniden başlatmanız gerekir. X çalışırken bu ayarlarla oynamak için, kullanın xinput, ancak seçenek adlarının burada farklı olduğunu unutmayın.

@Vitaly Dubyna'nın belirttiği gibi, "Sürekli Yavaşlama" hassasiyeti kontrol etmek için kullanılabilir - bu faktörle tüm hareketleri azaltır, bu nedenle "3" değeri tüm hareketleri varsayılan "1" e kıyasla 3 kat daha yavaş yapar.

Seçenek dokümantasyonu:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.