Use o trackpad do laptop como mesa digitalizadora

14

Estou interessado em usar o trackpad do meu laptop como um tablet de desenho, ou seja, usando coordenadas absolutas em vez de relativas, semelhantes a Inklet para OSX.

A mesma pergunta foi feita em ubuntuforums.org em maio de 2010, mas a pergunta nunca foi respondida. Eu estou querendo saber se isso foi feito no Linux. Também estou tentando descobrir quais termos de pesquisa usar. Eu procurei por 'modo absoluto de touchpad do laptop linux' e encontrei um problema com controladores de track pads que colocam o trackpad no modo absoluto. mas estou realmente procurando por um programa que use as posições absolutas em vez de uma configuração de driver.

    
por Barton Chittenden 11.01.2013 / 05:06

2 respostas

7

Veja os drivers, não os aplicativos

Você não encontrará um programa fazendo isso, por causa desses três tipos de touchpads, os drivers tentam abstrair para uma única representação para os aplicativos:

  • Os touchpads que reportam dados de posições absolutas estão sendo traduzidos pelo driver do Xorg para o movimento relativo dos aplicativos. Um aplicativo regular não pode falar diretamente com o touchpad (por design), então você realmente precisa procurar uma solução no driver.
  • Os touchpads capazes de modos relativo e absoluto precisam de alternância de modos, que é muito específica do hardware e não reconhece o aplicativo.
  • Alguns touchpads mais básicos não têm a capacidade de informar as posições absolutas.

Infelizmente, mesmo que você tenha um touchpad capaz de reportar todos os valores absolutos, a maioria dos drivers do touchpad não permite usá-los em aplicativos Linux. Os dados absolutos estão realmente lá, pois o motorista pode detectar se você está tocando nas bordas para rolagem, por exemplo. Teste isso por si mesmo usando evtest em um terminal virtual (para suspender X). O meu touchpad Synaptics reporta as posições absolutas da seguinte forma:

Event type 3 (EV_ABS)
  Event code 0 (ABS_X)
    Value   3332
    Min     1472
    Max     5648
    Fuzz       8
    Resolution      39
  Event code 1 (ABS_Y)
    Value   2017
    Min     1408
    Max     4806
    Fuzz       8
    Resolution      79

A capacidade de realmente colocar um dispositivo Synaptics no modo absoluto no Xorg foi removida recentemente por este commit no driver xf86-input-synaptics :

Remove absolute mode

Moving a touchpad in absolute mode is unusual - touchpads are disconnected
from the output device, so direct interaction is hard. There appears to be
little usage of it (I haven't seen bug reports from people claiming to use
it). Joe Shaw, author of the code and only known user doesn't have a use for
it anymore, so purge it from the repo.

Driver básico para todo o sistema: evdev

A única maneira que vejo isso para ser possível neste momento no Linux é usar o driver evdev no Xorg. Foi discutido em 2010 na lista de discussão do Xorg (um trecho abaixo):

  
    

Eu tenho que pegar o absoluto     posição de um dedo no touchpad, em vez de apenas relativa     movimento.

  
     

o driver synaptics não faz isso, mas o driver evdev faz isso. assim   você precisa configurar seu servidor X para usar o driver evdev para o   touchpad em vez disso. O snippet de configuração a seguir fará isso   você forneceu o servidor 1.8 ou posterior.

Section "InputClass"
    Identifier "evdev touchpad"
    MatchIsTouchpad "on"
    Driver "evdev"
    Option "Mode" "absolute"
EndSection
     

Salvar como /etc/X11/xorg.conf.d/99-evdev-touchpad.conf e reiniciar   o servidor. Observe que isso só altera o comportamento do touchpad   em si, não os dados nos eventos, mas, novamente, os dados são sempre   absoluto de qualquer maneira. Além disso, usando evdev em vez de synaptics você está   perdendo a capacidade de rolagem de dois dedos, tocando, etc.

Conclusão: crie uma solicitação de recurso

Eu vejo espaço para uma solicitação de recurso no bugtracker upstream para o driver synaptics (e possivelmente outros ). Seria muito útil ter uma interface no Xorg para poder ler os valores de posição absoluta do touchpad. Os principais bloqueadores que vejo são que isso pode ser muito específico do hardware e, portanto, difícil de implementar.

Acho que falar com Joe Shaw e Peter Hutterer também pode ser de grande valor para ver o que exatamente é a história, como torná-la uma grande solicitação de recurso e o que esperar dela.

    
por gertvdijk 19.01.2013 / 22:21
0

Isso depende muito do hardware. Seu trackpad precisa dar suporte à posição absoluta de um toque. Um trackpad portátil normal funciona mais como um mouse, fornecendo apenas informações de direção, velocidade e aceleração. Então, onde quer que você toque, ele só se moverá da direção atual do cursor.

    
por Gladen 17.01.2013 / 11:39

Tags