toque em dispositivos em duas placas gráficas

2

Não tenho certeza se o seguinte problema é um bug ou apenas uma limitação do uso de xinput.

A configuração é a seguinte. Duas placas gráficas nvidia, configuradas no xscreen0 são 4 telas sensíveis ao toque e no xscreen1 são 2 telas das quais apenas 1 é sensível ao toque.

Com o ajuste da matriz de transformação, consegui ajustar os dispositivos de toque de acordo com a posição deles. Tudo funciona bem, desde que os dispositivos de toque estão no xscreen0 (DISPLAY =: 0.0), logo que eu estou tentando adicionar o dispositivo de toque do xscreen1, eu recebo um comportamento muito estranho.

Cada tela é 1920x1080, uma tela no xscreen0 é girada em 90 ° e elas estão alinhadas uma na outra.

Agora, para o problema:

Se eu atribuir com xinput a DISPLAY=:0.1 o dispositivo de toque na tela com a matriz de transformação correta, em geral ele tem as coordenadas corretas, porque se eu tocar em um ponto e mover meu mouse depois, o ponteiro do mouse começa a se mover exatamente a posição que eu havia tocado.

NO ENTANTO, o evento de clique do mouse não está na posição correta, ele salta completamente para fora da tela e continua lá enquanto eu tento mover uma janela com a tela sensível ao toque (foi assim que eu vi para onde o movimento do mouse pula).

Isso significa que não posso realmente usar o toque da tela sensível ao toque, pois o evento e o movimento de clique e outras coisas não funcionam corretamente. Então, minha pergunta é, existe a possibilidade de dizer ao sistema que este dispositivo de toque específico é atribuído ao xscreen1. Como no xorg.conf ou com outra mudança de parâmetro do xinput?

Informação:

xinput_calibrator também não funciona bem, por isso estou fazendo isso manualmente via xinput.

A versão xinput é 1.6.1

Com o evtest, vejo que o dispositivo de toque fornece as coordenadas corretas

Também atribuir o dispositivo de toque a uma tela que está no xscreen0 funciona sem nenhum problema e o clique do mouse também funciona bem.

Edit: Adicionado os acessórios do dispositivo, talvez eu esteja perdendo alguma coisa.

Device 'AFO Co., Ltd. AFO TCM10J-400 HID':
    Device Enabled (153):   1
    Coordinate Transformation Matrix (155): 1.000000, 0.000000, 0.000000, 0.000000, 0.147540, 0.704920, 0.000000, 0.000000, 1.000000
    Device Accel Profile (304): 0
    Device Accel Constant Deceleration (305):   1.000000
    Device Accel Adaptive Deceleration (306):   1.000000
    Device Accel Velocity Scaling (307):    10.000000
    Device Product ID (296):    9590, 3
    Device Node (297):  "/dev/input/event24"
    Evdev Axis Inversion (308): 0, 0
    Evdev Axis Calibration (309):   <no items>
    Evdev Axes Swap (310):  0
    Axis Labels (311):  "Abs MT Position X" (302), "Abs MT Position Y" (303), "None" (0), "None" (0)
    Button Labels (312):    "Button Unknown" (299), "Button Unknown" (299), "Button Unknown" (299), "Button Wheel Up" (159), "Button Wheel Down" (160)
    Evdev Scrolling Distance (313): 0, 0, 0
    Evdev Middle Button Emulation (314):    0
    Evdev Middle Button Timeout (315):  50
    Evdev Third Button Emulation (316): 0
    Evdev Third Button Emulation Timeout (317): 1000
    Evdev Third Button Emulation Button (318):  3
    Evdev Third Button Emulation Threshold (319):   20
    Evdev Wheel Emulation (320):    0
    Evdev Wheel Emulation Axes (321):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (322):    10
    Evdev Wheel Emulation Timeout (323):    200
    Evdev Wheel Emulation Button (324): 4
    Evdev Drag Lock Buttons (325):  0
    
por Ziazis 11.07.2017 / 14:49

1 resposta

0

HOWEVER the mouse click event is not on the right position, it completely jumps out of screen and keeps being there as long as I try to move a window with the touchscreen (that's how I saw where the mouse movement jumps to).

Parabéns, você parece ter encontrado um bug. Se, ao mover o dedo, ele exibir as coordenadas corretas e, quando você clicar nas coordenadas do evento de clique, não tiver as mesmas coordenadas, você encontrará um erro.

Por favor, comunique isso. Se você pudesse reproduzir com apenas uma tela de toque em 0: 0 e outra em 0: 1, isso facilitaria o teste.

Outra pergunta é a tela de toque girada em 90 °? Isso pode estar relacionado a isso, você pode tentar sem girar ... além disso, cheira como um bug.

Por favor, abra o link e informe o bug.

    
por 13.07.2017 / 15:08