Qual é a melhor maneira de configurar o TrackPoint de um Thinkpad?

41

As páginas do ThinkWiki anteriormente úteis parecem bastante desatualizadas. Estou tentando alterar permanentemente minhas configurações de sensibilidade e velocidade do TrackPoint e ativar a rolagem do botão do meio do mouse. Eu tentei o configure-trackpoint no passado, mas as configurações não foram salvas permanentemente (elas são perdidas após a reinicialização).

Eu tentei gpointing-device-settings. Com ele, posso fazer a rolagem do botão do meio do mouse funcionar, mas não posso alterar as configurações de velocidade ou sensibilidade do trackpoint. Todos os métodos na página do ThinkWiki que eu tentei não funcionam como indicado no Ubuntu 11.04. Alguém pode explicar como editar permanentemente as configurações do TrackPoint para que eu possa usá-lo corretamente?

Jonathan Blackhall
fonte

Respostas:

47

Infelizmente, parece não haver uma maneira fácil. O que descreverei é como criar um novo trabalho Upstart para definir os valores na inicialização através do sistema de arquivos virtual em / sys.

  1. Encontre o caminho do dispositivo do seu trackpoint

    Execute o seguinte em um terminal gnome (pressione Alt+ F2, digite gnome-terminale pressione Enter):

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

    No meu caso, isso retorna /sys/devices/platform/i8042/serio1/serio2- mude para o que for retornado para você nas etapas a seguir.

  2. Encontre valores para sensibilidade e velocidade

    Execute os seguintes comandos em um terminal gnome:

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

    para uma sensibilidade de 220 (isso solicitará sua senha) e

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

    para uma velocidade de 100. Depois de encontrar valores com os quais você se sinta confortável, torne a alteração permanente usando um trabalho Upstart:

  3. Crie uma nova regra do udev

    Agora precisamos aplicar as configurações durante o início do sistema. Portanto, pressione Alt+ F2, digite gksu gedit /etc/udev/rules.d/trackpoint.rulese pressione Enter(isso solicitará sua senha). Em seguida, cole o seguinte:

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

    (Atualização) Conforme WAIT_FORpreterido, em sistemas mais novos, você pode usar DEVPATH:

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

    Salve o arquivo e reinicie ou execute os comandos acima:

    sudo udevadm control --reload-rules
    sudo udevadm trigger 
    
htorque
fonte
5
Obrigado pela resposta muito detalhada. Então, pesquisei mais alguns artigos dos ThinkWiki na noite passada e descobri outra coisa que funcionou. Os dois primeiros passos devem ser os mesmos. Em vez de um trabalho inicial, usei regras do udev. Criei um arquivo pressionando Alt + F2, digitando gksu gedit /etc/udev/rules.d/trackpoint.rulese colando o seguinte: SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="200", ATTR{speed}="150"Em seguida, reinicie. Existe alguma razão para eu usar as regras Upstart vs udev?
precisa
OMI, a abordagem udev é a melhor, obrigado! Editou isso na resposta. :-)
htorque 26/02
11
NOTA: use DEVPATH=="(dois iguais), caso contrário não funcionará. Não é possível editar o post com apenas uma mudança char, então apenas deixou um comentário ..
Balder
A regra do udev parece não funcionar no Ubuntu 16.04. Veja as respostas posteriores para outras abordagens (por exemplo, a de Nguyen Thanh Tung).
precisa saber é o seguinte
16

ASSIM, O QUE ME AJUDOU A FAZER O TRACKPOINT MAIS SENSÍVEL.

1. A maneira mais fácil é fazer no terminal:

 $ xinput --list --short

Você verá algo assim:

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. Encontre o seu dispositivo de trackpoint. No meu caso, é id = 10.

3. Em seguida, faça no terminal:

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

"10" aqui é o ID do dispositivo (teclado ThinkPad USB da Lite-On Technology Corp. com TrackPoint id = 10), coloque seu ID aqui e "0,5" é o nível de sensibilidade. Você pode experimentar a sensibilidade colocando números maiores que 0 a 1000. Mas você definitivamente não precisa disso. Quanto menor o número, maior a velocidade.

Eu uso 0,4 ou 0,45

4. IMPORTANTE. Quando a velocidade for escolhida, copie seu último script para iniciar automaticamente.

insira a descrição da imagem aqui

PS Se as configurações pararem de funcionar um dia, verifique o ID novamente. Pode haver algumas alterações na tabela de dispositivos e o ID pode mudar.

Espero que ajude você.

Aproveite o seu ThinkPad!

Vitaly Dubyna
fonte
2
Infelizmente eu recebo: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatNão sei como fazer isso ... alguma sugestão? (Thinkpad T420, Ubuntu 18.04)
JamesBB 01/06
11
Eu acho que você está restrito às propriedades mostradas por xinput list-props $device_id(onde device_id= 10 no exemplo acima). Por exemplo, no meu Thinkpad X1c5 correndo 18.04, tenho uma propriedade chamada libinput Accel Speedque parece tweakable
sxc731
11
BTW, alterar a tampa de borracha do Trackpoint também pode ajudar. O meu estava irremediavelmente duro (a ponto de meu dedo doer) e depois de desgastá-lo completamente (em apenas 18 meses, o que nunca aconteceu em muitos ThinkPads anteriores), decidi investir cerca de US $ 15 em bonés de reposição (peça Lenovo nº 4XH0L55146, vem com 10 deles). O resultado é surpreendente: meu Trackpoint passou de muito difícil a realmente muito sensível. A configuração que funciona para mim agora (X1c5 com TPPS/2 ALPS TrackPoint18.04) é "libinput Accel Speed" -1.0(sendo a configuração mínima de aceleração). YMMV, é claro
sxc731
11
Tenho ThinkPad E480 e Ubuntu 18.04 e xinput --set-prop "12" "libinput Accel Speed" -0.5comando funcionou
Xavitoj Cheema
11
A resposta mais votada parou de funcionar após a atualização mais recente do sistema por algum motivo (Arch / Manjaro). Isso funcionou para mim. Obrigado.
xji 5/04
13

Para o meu Thinkpad T530 e Ubuntu 15.10. Apenas use:

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

adicione o seguinte conteúdo em e reinicie. O valor da configuração será mantido.

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"
Nguyen Thanh Tung
fonte
Isso funciona mesmo quando não existem os arquivos necessários em outras respostas (serio1 / sensibilidade)
Soupy
Isso parece ter funcionado para mim. :) (ThinkpadT420, Ubuntu18.04). Só preciso brincar com as configurações, um pouco tedioso tendo que reiniciar a cada vez, mas posso conviver com isso.
JamesBB 01/06
2
A execução de @JamesBB udevadm trigger --action add --subsystem allfará com que o udev aplique as regras a todos os dispositivos presentes.
CameronNemo 7/07
@CameronNemo - vai tentar isso, obrigado! Parece precisar --subsystem-match all, mas acho que está funcionando.
JamesBB 10/01
4

@ vitaly-dubyna tem a resposta certa. No debian, seu método funciona perfeitamente. Para facilitar sua vida, coloque um arquivo .xsessionrcem seu diretório pessoal com todas as configurações para que ele seja carregado após cada reinicialização.

fazer um novo uso de arquivos vim, pico, gedit-

vim .xsessionrc 

então coloque isso dentro

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

onde as 4 primeiras linhas devem configurar a rolagem vertical e horizontal com o trackpoint e a última linha é controlar a velocidade / e a sensibilidade.

Observe que, como o ID do dispositivo pode mudar dependendo de alguns dispositivos de entrada serem ativados / desativados no BIOS, é preferível usar o nome do dispositivo entre aspas. Para a maioria dos thinkpads TPPS/2 IBM TrackPointé a referência.


** EDIT: ** Nov 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
Jonathan
fonte
11
Sua "Evdev Wheel Emulation Axes"configuração usa rolagem natural horizontalmente, rolagem normal verticalmente. Eu acho que a maioria quer rolagem natural (uso 7 6 5 4) ou rolagem normal (uso 6 7 4 5).
tanius
A partir do Ubuntu 17.10, o evdevdriver em que esta solução se baseia não é mais instalado por padrão. Você ainda pode instalá-lo sudo apt install xserver-xorg-input-evdevou usar o libinputdriver agora padrão . Nesse caso, a resposta de @htorque é a maneira de configurar velocidade e sensibilidade.
11132 tanius
4

Isso é baseado na resposta de Vitaly Dubyna, mas atualizado para funcionar nas versões recentes (2019) dos Thinkpads e do Xorg (graças aos comentários a essa resposta).

Na linha de comandos, insira este comando (somente a parte após o $):

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

Nota id = 12 (pode ser diferente no seu sistema).

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

Experimente a configuração de velocidade; valores negativos permitidos. Por exemplo,

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

Quando estiver satisfeito, adicione o comando como um aplicativo de inicialização (normalmente no menu Iniciar> Preferências> Aplicativos de inicialização).

O nome da configuração acima é confirmado para os modelos Thinkpad X1c5 (Ubuntu 18.04), E480 (18.04) e E490 (Mint 19.1).

Han-Kwang Nienhuys
fonte
2

Configurar libinputopções via xorg.conf.d e udev

A partir do Ubuntu 17.10, o libinputdriver agora é o padrão.

Algumas de suas opções podem ser configuradas através do mecanismo X.org, mas a velocidade e a sensibilidade precisam ser configuradas com as regras do udev para incluir os parâmetros do driver do kernel. (Veja a resposta de @htorque para isso.)

Para configurar as outras opções, crie um arquivo /etc/X11/xorg.conf.d/52-trackpoint-tweaks.conf(ou nome semelhante). O arquivo deve ter este conteúdo:

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

Para ver o efeito, você precisa reiniciar o X, é claro. Para a lista das outras opções disponíveis do X.org, consulte man (4) libinput .

Para obter uma lista das propriedades xinput correspondentes (mas com nomes diferentes), consulte xinput --list-prop "TPPS/2 IBM TrackPoint"ou novamente man (4) libinput . Você pode usá-los para testar efeitos imediatamente com xinput --set-prop […]comandos, sem precisar reiniciar o X todas as vezes. E, em seguida, use os equivalentes no 52-trackpoint-tweaks.confarquivo para tornar as alterações permanentes, como mostrado acima.

tanius
fonte
1

Se você estiver usando o Ubuntu 15.04 ou posterior (que terá o SystemD instalado em vez do Upstart), existe um método publicado aqui que você pode usar:

https://askubuntu.com/a/611076/253579

Akiva
fonte
0

Eu tenho um thinkpad e consegui tudo configurado como desejado através de um aplicativo chamado Pointing Devices, que é um pouco mais de diálogo de configurações avançadas do mouse.

Não me lembro quantas opções havia para a sensibilidade, mas, diferentemente da tela de configurações do mouse, esta reconheceu o trackpoint e o trackpad de forma independente e permitiu maior controle como definir o botão de rolagem (era o botão 2 na minha configuração) e ativando a sensibilidade da detecção de palma.

Andrew
fonte
Não há opções para sensibilidade ou velocidade com as configurações do dispositivo de apontamento.
Jonathan Blackhall
0

No Ubuntu 12.04 Unity 2D no Thinkpad sl410, uso a Mouse And Touchpadjanela padrão em Configurações. Alterar a aceleração ou a velocidade também altera a sensibilidade de um trackpoint. Embora o comportamento seja invertido - diminuir a velocidade causa aumento da sensibilidade do trackpoint. As configurações persistem entre as reinicializações.

Ayrat
fonte
0

Configurar evdevopções via xorg.conf.d (DEPRECATED)

O evdevdriver era o driver padrão para o trackpoint em versões anteriores do Ubuntu, mas a partir do Ubuntu 17.10, a abordagem abaixo foi preterida e não funciona mais imediatamente. Isso ocorre porque o evdevdriver que não está mais instalado por padrão, já que o libinputdriver é o padrão agora - veja minha outra resposta para configurar isso.

Se desejar, você ainda pode usar a evdevsolução abaixo depois de instalar o driver com sudo apt install xserver-xorg-input-evdev( fonte ).

Tudo pode ser configurado muito bem em um /etc/X11/xorg.conf.d/52-trackpoint-tweaks.confarquivo (ou com o mesmo nome - no Ubuntu, você precisa criar diretório e arquivo, mas o mecanismo funciona; talvez um dos nomes de diretório esteja em x11vez de X11em algumas versões).

O arquivo deve ter este conteúdo:

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

Para ver o efeito, você precisa reiniciar o X, é claro. Para jogar com essas configurações enquanto o X está em execução, use xinput, mas observe que os nomes das opções são diferentes lá.

Como apontado por @Vitaly Dubyna, a "Desaceleração Constante" pode ser usada para controlar a sensibilidade - reduz todos os movimentos com esse fator; portanto, o valor "3" torna todos os movimentos três vezes mais lentos do que o padrão "1".

Documentação da opção:

tanius
fonte