Estou usando o Debian 9. Tenho um pequeno PC com 2 monitores embutidos que pretendo usar como ponto de venda. Possui um monitor voltado para o cliente (tela sem toque) e outro 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 funciona como o único cliente x - não existe gerenciador de janelas e gerenciador de desktop. Desta forma, o sistema consome recursos mínimos. Ou seja, eu posso executá-lo assim a partir do terminal:
xinit my-pos-app $* -- :1
O aplicativo funciona bem desde que eu use o mouse. No entanto, a intenção é que isso funcione 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 toco, um ponto 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 porque apenas um monitor é touch screen e o outro monitor não, mas xinput_calibrator
não tem noção 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 xinput_calibrator
processo.
Percebo que quando movo o mouse para a direita do primeiro monitor, ele aparece à esquerda do segundo monitor. Assim, o sistema parece ter posicionado os dois monitores lado a lado. Eu não sei muito sobre essas coisas de configuração de monitor de baixo nível, mas indo pela saída de xrandr
, o sistema parece pensar que tem apenas 1 monitor:
$ 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 sensível ao toque é 12
.
Por favor, alguém pode me dizer como configurar a tela sensível ao toque corretamente. Preciso dividir as telas em 2 usando xrandr primeiro? Se sim, então como eu faria isso? Estou preso.
Eu tenho isso funcionando agora. A primeira coisa que fiz foi instalar a versão mais recente do driver de vídeo do repositório xorg. Não tenho certeza se essa etapa foi absolutamente necessária, pois não parece ter alterado
xrandr
muito a saída, mas não doeu de qualquer maneira:Agora
xrandr
mostraDP-1
com mais propriedades:E, em seguida, inicie o X e execute o seguinte comando para atribuir
eDP-1
como tela sensível ao toque:A página de manual de
xinput
(v.1.6.2) menciona que o nome do dispositivo também pode ser fornecido como uma string. Portanto, isso também funcionaria: