<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>39762</bug_id>
          
          <creation_ts>2021-03-05 15:51:41 +0300</creation_ts>
          <short_desc>[PATCH] порт пересчёта координат из matrix_calibrator.pl</short_desc>
          <delta_ts>2023-06-30 19:36:25 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>xinput-calibrator</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://support.fccps.cz/download/adv/frr/matrix_calibrator/matrix_calibrator.htm</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>patch</keywords>
          <priority>P5</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Shigorin">mike</reporter>
          <assigned_to name="Nobody&apos;s working on this, feel free to take it">nobody</assigned_to>
          <cc>black</cc>
    
    <cc>gubina</cc>
    
    <cc>oddity</cc>
    
    <cc>wd</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>196729</commentid>
    <comment_count>0</comment_count>
      <attachid>9230</attachid>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2021-03-05 15:51:41 +0300</bug_when>
    <thetext>Created attachment 9230
патч по мотивам matrix_calibrator

Предлагаю проработать улучшение xinput-calibrator.

Предыстория: поскольку пакет из p9 скорее не работал (то, что он выдавал, совершенно не впечатляло X-сервер), были найдены коллеги по несчастью: http://support.fccps.cz/download/adv/frr/matrix_calibrator/matrix_calibrator.htm -- соответствующий спек могу приложить, но пока второй автор не ответил, какова, собственно, лицензия на эту реализацию (по всему видать, что free software, но это не написано явно).

Первый автор предложил по возможности перетащить нормальную математику на сишный xinput-calibrator, что и было сделано wd@ (http://paste.org.ru/?pbhz7q -- см. тж. приложенный патч, но у нас не было возможности проверить его на той же железке по причине её отъезда -- заработало же).

Отсюда предлагаемый план действий:
- по возможности проверить задания #265559 (sisyphus) и #265560 (p9);
- если всё хорошо -- поотправлять задания в репозитории;
- предложить патч в апстрим, указав wd@ как автора и matrix_calibrator
  как оригинальную реализацию.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196733</commentid>
    <comment_count>1</comment_count>
    <who name="gubina@basealt.ru">gubina</who>
    <bug_when>2021-03-05 16:42:32 +0300</bug_when>
    <thetext>Вдогонку: очень просим доработать пакет до состояния, когда конфигурационный файл с результатами калибровки создается автоматически как завершение работы с пакетом.
Сейчас приходится ручками создавать этот файл. Для школьных учителей это очень сложно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196734</commentid>
    <comment_count>2</comment_count>
    <who name="">wd</who>
    <bug_when>2021-03-05 17:08:05 +0300</bug_when>
    <thetext>ну и продублирую сюда тогда свои соображения по этому поводу:

перл выводит более глубокие флоаты, но нужны ли они настолько точные? так то можно float на double махнуть...
 
дальше, там целых три набора генерирующих выхлопы для разных драйверов (в порядке перебора):
1) usbtouchscreen - только auto и выводит, вестимо, параметры модуля, в modprobe.conf
2) evdev - умеет на выхлоп xorg hal и xinput
3) xorgprint - умеет xorg и hal
 
на сколько я в курсе hal давно похоронен
насколько актуальны usbtouchscreen и evdev - я не в курсе
как по мне, сюда бы добавить libinput, об который выкручивается это в wayland (https://wiki.archlinux.org/index.php/GPD_Pocket#Wayland)
я не фанат вэйленда, но отрицать его не могу
 
опятьже, у меня дикое желание оторвать вообще всю эту генерацию выходных файлов, и повесить это на оберточный скрипт
таким образом можно будет всегда добавлять разные конфигурации
от калибратора посути нужно только получить выхлоп координат тапов (успешных, ибо он там может обидеться и попросить новых тапов)
ну и размеров всей форточки, в которую тыкали
остальное можно посчитать скриптом, за исключением одной проблемы - там float, который в дефолтовых шеллах несколько отсутсвует
можно перлом, который вроде как должен быть по дефолту, можно awk
 
также неплохим решеним может быть просто опциональный вывод:
- координат тыков
- габаритных координат (тех, что сейчас калибратор выплевывает)
- матрицы трансформации
- размеров поляны
само собой с возможностью выбора нескольких одновременно
 
дальнейшая генерация файлов всеравно весьма зависит от конкретного устройства и дистра - так что вполне логично положить это на скрипт
да и както юниксвейно именно так
 
ну и опятьже, перловый скрипт этот перед запуском калибратора сбрасывает матрицу, а после применяет - втыкать это в сам калибратор не очень красиво
тут либо подвязывать потроха xinput, либо его прямо дергать, что мне не нравится ни так ни сяк, ну и в обоих случаях зависимость добавит
 
можно конечно притянуть шаблоны в сам калибратор, но мне кажется это менее удобным
я предлагаю его упростить, но добавить потенциала</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198027</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2021-04-21 14:44:47 +0300</bug_when>
    <thetext>Гм, и как оно на pav@ оказалось...

Серёж, у нас тут наработки наработались по существенному улучшению результативности xinput-calibrator, можешь глянуть да отозваться?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198030</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2021-04-21 14:59:54 +0300</bug_when>
    <thetext>у меня давно нет того железа -- @everybody is welcome</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228705</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2023-06-30 19:36:25 +0300</bug_when>
    <thetext>0.7.5-alt4 давно в sisyphus/p10, благодарю.

PS: прислали тут ещё ссылочку по калибровке, заархивирую-ка:
http://docs.artix.su/plugins/servlet/mobile?contentId=125239417#content/view/125239417</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9230</attachid>
            <date>2021-03-05 15:51:41 +0300</date>
            <delta_ts>2021-03-05 15:51:41 +0300</delta_ts>
            <desc>патч по мотивам matrix_calibrator</desc>
            <filename>transformation_matrix.patch</filename>
            <type>text/plain</type>
            <size>2555</size>
            <attacher name="Michael Shigorin">mike</attacher>
            
              <data encoding="base64">LS0tIHhpbnB1dF9jYWxpYnJhdG9yLm9yaWcvc3JjL2NhbGlicmF0b3IuY3BwCTIwMjEtMDEtMjEg
MDU6NTI6NDIuMDk2Mzg3NDc3ICswMzAwCisrKyB4aW5wdXRfY2FsaWJyYXRvci9zcmMvY2FsaWJy
YXRvci5jcHAJMjAyMS0wMS0yMSAxMToxMToyMC4zNjgzMzYwODkgKzAzMDAKQEAgLTE0NCw2ICsx
NDQsNTggQEAKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorLy8gVHJhbnNmb3JtYXRp
b24gbWF0cml4CisvLyBmcm9tIGh0dHA6Ly9zdXBwb3J0LmZjY3BzLmN6L2Rvd25sb2FkL2Fkdi9m
cnIvbWF0cml4X2NhbGlicmF0b3IvbWF0cml4X2NhbGlicmF0b3IuaHRtCisKKyAgICAvLyBnZXQg
dGhlIGF2ZXJhZ2UgbGVmdC9yaWdodCBYIGFuZCB1cHBlci9sb3dlciBZCisgICAgZmxvYXQgeDB4
ID0gKCBjbGlja2VkLnhbVUxdICsgY2xpY2tlZC54W0xMXSApIC8gMi4wIC8gd2lkdGg7CisgICAg
ZmxvYXQgeDB5ID0gKCBjbGlja2VkLnlbVUxdICsgY2xpY2tlZC55W0xMXSApIC8gMi4wIC8gaGVp
Z2h0OworICAgIGZsb2F0IHgxeCA9ICggY2xpY2tlZC54W1VSXSArIGNsaWNrZWQueFtMUl0gKSAv
IDIuMCAvIHdpZHRoOworICAgIGZsb2F0IHgxeSA9ICggY2xpY2tlZC55W1VSXSArIGNsaWNrZWQu
eVtMUl0gKSAvIDIuMCAvIGhlaWdodDsKKyAgICBmbG9hdCB5MHggPSAoIGNsaWNrZWQueFtVTF0g
KyBjbGlja2VkLnhbVVJdICkgLyAyLjAgLyB3aWR0aDsKKyAgICBmbG9hdCB5MHkgPSAoIGNsaWNr
ZWQueVtVTF0gKyBjbGlja2VkLnlbVVJdICkgLyAyLjAgLyBoZWlnaHQ7CisgICAgZmxvYXQgeTF4
ID0gKCBjbGlja2VkLnhbTExdICsgY2xpY2tlZC54W0xSXSApIC8gMi4wIC8gd2lkdGg7CisgICAg
ZmxvYXQgeTF5ID0gKCBjbGlja2VkLnlbTExdICsgY2xpY2tlZC55W0xSXSApIC8gMi4wIC8gaGVp
Z2h0OworLy9wcmludGYgKCJaWjogJWYgJWYgICAgJWYgJWYgICAlZiAlZiAgICAlZiAlZlxuIiwg
eDB4LHgweSwgeDF4LHgxeSwgeTB4LHkweSwgeTF4LHkxeSk7CisKKyAgICAvL2dldCB0aGUgZGlm
ZmVyZW5jZSByaWdodC1sZWZ0IFggYW5kIGxvd2VyLXVwcGVyIFkKKyAgICBmbG9hdCBkeHg9eDF4
LXgweDsKKyAgICBmbG9hdCBkeHk9eDF5LXgweTsKKyAgICBmbG9hdCBkeXg9eTF4LXkweDsKKyAg
ICBmbG9hdCBkeXk9eTF5LXkweTsKKy8vcHJpbnRmICgiWlo6IERzICVmICVmICVmICVmXG4iLGR4
eCxkeHksZHl4LGR5eSk7CisKKy8qIENhbGN1bGF0aW9uIGVxdWF0aW9uczoKKyAgICAxLgl4MHgg
KiBhICsgeDB5ICogYiArIGMgPSAxLzgJKHRoZSBsZWZ0IHBvaW50IGVxdWF0aW9uKQorICAgIDIu
CXgxeCAqIGEgKyB4MXkgKiBiICsgYyA9IDcvOAkodGhlIHJpZ2h0IHBvaW50IGVxdWF0aW9uKQor
ICAgIDMuCWEgLyBiID0gZHh4IC8gZHh5CQkodGcgYWxmYSkKKyAgICBTdWJ0cmFjdCAxLiBmcm9t
IDIuOgorICAgIDQuCSh4MXggLSB4MHgpICogYSArICh4MXkgLSB4MHkpICogYiA9IDYvOAorICAg
IDUuCWR4eCAqIGEgKyBkeHkgKiBiID0gNi84CisgICAgSXNvbGF0ZSAoYikgZnJvbSAzLjoKKyAg
ICA2LgliID0gYSAqIGR4eSAvIGR4eAorICAgIFN1YnN0aXR1dGUgKGIpIGluIDUuOgorICAgIDcu
CWR4eCAqIGEgKyBkeHkgKiBhICogZHh5IC8gZHh4ID0gNi84CisgICAgSXNvbGF0ZSAoYSkgZnJv
bSA3LjoKKyAgICA4LglhICogKGR4eCArIGR4eV4yIC8gZHh4KSA9IDYvOAorICAgIDkuCWEgKiAo
ZHh4XjIgKyBkeHleMikgLyBkeHggPSA2LzgKKyAgICAxMC4JYSA9IDYvOCAqIGR4eCAvIChkeHhe
MiArIGR4eV4yKQkhUkVTVUxUIQorICAgIEFuYWxvZ2ljYWxseSBmb3IgKGIpOgorICAgIDExLgli
ID0gNi84ICogZHh5IC8gKGR4eF4yICsgZHh5XjIpICFSRVNVTFQhCisgICAgV2Ugd2lsbCBnZXQg
KGMpIHN1YnN0aXR1dGluZyAoYSkgYW5kIChiKSBpbiAxLgorICAgIEZvciAoZCksIChlKSBhbmQg
KGYpIHdlIHVzZSB0aGUgc2FtZSBzb2x1dGlvbiBhbmFsb2dpY2FsbHkuCisqLworCisgICAgLy9j
YWxjdWxhdGUgdGhlIHNwZWNpYWwgc2F1Y2UgY29lZmZpY2llbnRzCisgICAgZmxvYXQgYSA9IDYu
MC84ICogIChkeHggLyAoZHh4KmR4eCArIGR4eSpkeHkpKTsKKyAgICBmbG9hdCBiID0gNi4wLzgg
KiAgKGR4eSAvIChkeHgqZHh4ICsgZHh5KmR4eSkpOworICAgIGZsb2F0IGMgPSAxLjAvOCAtIGEq
eDB4IC0gYip4MHk7CisgICAgZmxvYXQgZCA9IDYuMC84ICogIChkeXggLyAoZHl4KmR5eCArIGR5
eSpkeXkpKTsKKyAgICBmbG9hdCBlID0gNi4wLzggKiAgKGR5eSAvIChkeXgqZHl4ICsgZHl5KmR5
eSkpOworICAgIGZsb2F0IGYgPSAxLjAvOCAtIGQqeTB4IC0gZSp5MHk7CisKKyAgICBwcmludGYg
KCJaWjogVHJhbnNmb3JtYXRpb25NYXRyaXggJWYgJWYgJWYgJWYgJWYgJWYgMCAwIDFcbiIsIGEs
IGIsIGMsIGQsIGUsIGYpOworCiAgICAgLy8gbmV3IGF4aXMgb3JpZ2luIGFuZCBzY2FsaW5nCiAg
ICAgLy8gYmFzZWQgb24gb2xkX2F4eXM6IGludmVyc2lvbi9zd2FwcGluZyBpcyByZWxhdGl2ZSB0
byB0aGUgb2xkIGF4aXMKICAgICBYWWluZm8gbmV3X2F4aXMob2xkX2F4eXMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>