3 ms·
Wow, what an interesting bug! Was it a case of parsing "1.000" vs "1,000" or something like that?
by unwind 5y ago
Wow, what an interesting bug! Was it a case of parsing "1.000" vs "1,000" or something like that?
- ajuc 5y agoYup, the matrix for transforming hardware coordinates into software coordinates was saved in a config file using locale-specific number format. When user changed locale it remained in the previous format and if the change was English->German the matrix elements suddenly changed from 1.234 to 1234 :) the details are here: https://github.com/jiixyj/libinput/commit/98793f6b435abf8c17b84102de1d7c59ba8e3f54 https://github.com/jiixyj/libinput/commit/98793f6b435abf8c17... The funny thing is we had the issue once - reported it and added a workaround (added special handling for these config files that used locale-specific calibration tables), then a year later we updated the linux version and had the issue the opposite way till we removed our workaround :) But it was even more fun cause it bricked the devices (kernel panic on libinput startup = restart loop forever) :)