Esses dados são lidos em evdev
. E, como este é um projeto de código aberto, podemos até mesmo ver o código !
Na verdade, a linha que gera esses dados é aqui :
printf("\tSetting calibration data: %d, %d, %d, %d\n", new_axys.x.min, new_axys.x.max, new_axys.y.min, new_axys.y.max);
Agora, a função pai para isso ( set_calibration
) é chamada em finish_data
. Este, por sua vez, é chamado por finish
.
Em suma, ele faz um escalonamento complicado baseado no tamanho da tela e nos pontos capturados, e retorna os valores dos parâmetros para o intervalo X / Y válido, que é o novo "canto" definido da tela.
Basicamente, ele pega a média de todos os seus cliques de calibração, determina o dimensionamento, analisa-o em mais escala para que o X possa entendê-lo e, em seguida, o arredonda para valores "bonitos". Se necessário, opcionalmente, reverterá / trocará os dados de calibração da tela de toque para ajustar a configuração da tela sensível ao toque.