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