Calibrando uma tela de toque em dois monitores (um toque não é)

0

Estou usando o Debian 9. Eu tenho um pequeno PC com 2 monitores embutidos que pretendo usar como ponto de venda. Possui um monitor voltado para o cliente (tela não sensível ao toque) e um voltado para o caixa (tela sensível ao toque). Cada monitor tem uma resolução de 1366 x 768. Eu tenho um aplicativo POS que é executado como o único cliente x - não há gerenciador de janelas nem gerenciador de área de trabalho. Desta forma, o sistema consome recursos mínimos. Ou seja, posso executá-lo assim do terminal:

xinit my-pos-app $* -- :1

O aplicativo é executado corretamente, desde que eu use o mouse. No entanto, a intenção é ter esse trabalho apenas com a tela sensível ao toque.

O problema é que a tela sensível ao toque não está calibrada. Eu posso ver que quando eu o toco, um ponto a cerca de 10 cm à direita de onde eu toco está realmente sendo ativado. Então eu tentei usar xinput_calibrator - um programa que traz um gui mostrando pontos na tela para tocar e calibrar automaticamente a tela sensível ao toque. Mas com a configuração atual, é impossível concluir esta etapa. Isso ocorre porque apenas um monitor é uma tela sensível ao toque e o outro monitor não, mas xinput_calibrator não está ciente disso e coloca metade da imagem em cada monitor. Os pontos de calibração no monitor sem tela sensível ao toque obviamente não podem ser tocados e, portanto, não posso concluir o processo xinput_calibrator .

Noto quando movo o mouse para a direita do primeiro monitor que aparece à esquerda do segundo monitor. Assim, o sistema parece ter posicionado os dois monitores lado a lado. Eu não sei muito sobre este material de configuração de monitor de baixo nível, mas indo pela saída de xrandr , o sistema parece pensar que só tem 1 display:

$ xrandr
Screen 0: minimum 320 x 200, current 2732 x 768, maximum 8192 x 8192
eDP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm
x 193mm
1366x768  60.00*+  40.00
1360x768  59.80    59.96
1024x768  60.04    60.00
960x720   60.00
928x696   60.05
896x672   60.01
960x600   60.00
960x540   59.99
800x600   60.00    60.32    56.25
840x525   60.01    59.88
800x512   60.17
700x525   59.98
640x512   60.02
720x450   59.89
640x480   60.00    59.94
680x384   59.80    59.96
576x432   60.06
512x384   60.00
400x300   60.32    56.34
320x240   60.05
VGA-1 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1366x768+1366+0 (normal left inverted right x axis y axis) 344mm x 194mm
1366x768  60.00*+  40.00
HDMI-1 disconnected (normal left inverted right x axis y axis)

Além disso, xinput mostra que o ID do dispositivo para a tela de toque é 12 .

Por favor, alguém pode me dizer como configurar a tela de toque corretamente. Preciso dividir as telas em 2 usando o xrandr primeiro? Se sim, então como eu faria isso? Estou preso.

    
por mulllhausen 07.10.2018 / 03:53

1 resposta

0

Eu tenho isso funcionando agora. A primeira coisa que fiz foi instalar a última versão do driver de exibição do repositório xorg. Não tenho certeza se esse passo foi absolutamente necessário, já que não parece ter mudado a saída de xrandr , mas não doeu de qualquer maneira:

$ sudo apt-add-repository ppa:xorg-edgers/ppa
$ sudo apt-get update
$ sudo apt-get dist-upgrade
$ aptitude search <my-graphics-card-brand>
$ sudo apt-get install <corresponding package>

Agora, xrandr mostra DP-1 com mais propriedades:

$ xrandr
Screen 0: minimum 320 x 200, current 2732 x 768, maximum 8192 x 8192
eDP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1366x768      60.00*+  40.00  
   1360x768      59.80    59.96  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   960x600       60.00  
   960x540       59.99  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   800x512       60.17  
   700x525       59.98  
   640x512       60.02  
   720x450       59.89  
   640x480       60.00    59.94  
   680x384       59.80    59.96  
   576x432       60.06  
   512x384       60.00  
   400x300       60.32    56.34  
   320x240       60.05  
VGA-1 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1366x768+1366+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1360x768      59.80    59.96  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   960x600       60.00  
   960x540       59.99  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   800x512       60.17  
   700x525       59.98  
   640x512       60.02  
   720x450       59.89  
   640x480       60.00    59.94  
   680x384       59.80    59.96  
   576x432       60.06  
   512x384       60.00  
   400x300       60.32    56.34  
   320x240       60.05  
HDMI-1 disconnected (normal left inverted right x axis y axis)

Em seguida, inicie X e execute o seguinte comando para atribuir eDP-1 como a tela sensível ao toque:

$ xinput --map-to-output $(xinput list --id-only "Elan Touchscreen") eDP-1
    
por 18.10.2018 / 02:48