Как откалибровать встроенный сенсорный экран 16: 9 до разрешения 4: 3?

372
Danny

Мне нужна помощь в решении проблемы, с которой мы сталкиваемся в проекте, когда мы переходим от среды POS на базе Windows к среде, работающей на CentOS7. Проблема состоит из ряда факторов, пожалуйста, найдите детали ниже:

  • Поставщик нашего POS-приложения доставит только жестко запрограммированное приложение в формате 1024: 768 4: 3.
  • Аппаратное обеспечение, которое мы используем, - это POS-устройство от HP со встроенным сенсорным экраном 16: 9.
  • Сотрудники, использующие это решение, не должны видеть и иметь доступ ни к чему, кроме приложения POS.
  • Наша сбытовая организация требует, чтобы сенсорные функции были доступны при запуске новой среды POS.

Пойдя дальше, позвольте мне объяснить, с чем мы столкнулись на пути к достижению цели с сенсорным экраном:

  • Мы просто изменили разрешение в CentOS7 с 1920x1080 16: 9 до 1024: 768, мы получили ожидаемый результат с черными границами на коротких краях сенсорного экрана.
  • Затем мы запустили приложение POS и быстро заметили, что сенсорный экран работает не так, как ожидалось, он касается других меню и кнопок по сравнению с тем, где мы фактически касались экрана.
  • Мы нашли похожие посты по этой проблеме, но нигде не было того, чего хотелось бы достичь; работает сенсорный экран 16: 9 с разрешением 4: 3.
  • В подобных постах мы нашли инструменты (xinput, xinput_calibrator, xrandr), которые мы пытались использовать для решения этой проблемы, но до сих пор мы не смогли, и теперь мы не уверены, как на самом деле подойти к этой проблеме.

Например, когда мы запускаем xinput_calibrator, мы видим, что приложение запускается, но оно выходит за рамки нашего разрешения экрана, и мы не можем выполнить калибровку из-за этого. Наши убеждения таковы; когда мы меняем разрешение монитора, сенсорный экран не учитывает это изменение, а также имеет свой «фиксированный размер» ... но в целом мы просто догадываемся.

При запуске xinput мы видим сенсорный экран в списке двух разных устройств, но в целом они, похоже, имеют одинаковые значения свойств:

\u239c \u21b3 ILITEK ILITEK-TP id=14 [slave pointer (2)]  \u239c \u21b3 ILITEK ILITEK-TP id=15 [slave pointer (2)] 

Если мы посмотрим ближе на одно из устройств (xinput list-props 14), мы увидим следующую информацию, и это пример, когда нам становится все труднее ... мы просто не уверены, какие свойства в любом из них нам нужно сосредоточить на:

Device 'ILITEK ILITEK-TP':  Device Enabled (137): 1  Coordinate Transformation Matrix (139): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000  Device Accel Profile (265): 0  Device Accel Constant Deceleration (266): 1.000000  Device Accel Adaptive Deceleration (267): 1.000000  Device Accel Velocity Scaling (268): 10.000000  Device Product ID (259): 8746, 323  Device Node (260): "/dev/input/event5"  Evdev Axis Inversion (269): 0, 0  Evdev Axis Calibration (270): 0, 16384, 0, 9600  Evdev Axes Swap (271): 0  Axis Labels (272): "Abs MT Position X" (296), "Abs MT Position Y" (297), "None" (0), "None" (0)  Button Labels (273): "Button Unknown" (262), "Button Unknown" (262), "Button Unknown" (262), "Button Wheel Up" (143), "Button Wheel Down" (144)  Evdev Scrolling Distance (274): 0, 0, 0  Evdev Middle Button Emulation (275): 0  Evdev Middle Button Timeout (276): 50  Evdev Middle Button Button (277): 2  Evdev Third Button Emulation (278): 0  Evdev Third Button Emulation Timeout (279): 1000  Evdev Third Button Emulation Button (280): 3  Evdev Third Button Emulation Threshold (281): 20  Evdev Wheel Emulation (282): 0  Evdev Wheel Emulation Axes (283): 0, 0, 4, 5  Evdev Wheel Emulation Inertia (284): 10  Evdev Wheel Emulation Timeout (285): 200  Evdev Wheel Emulation Button (286): 4  Evdev Drag Lock Buttons (287): 0 

При запуске xrandr мы видим, что настройки разрешения соответствуют нашим ожиданиям, но мы не уверены, как «сказать» сенсорному экрану, какое разрешение / формат монитора на самом деле.

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192 eDP-1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm 1920x1080 60.05 + 40.03  1400x1050 59.98  1280x1024 60.02  1280x960 60.00  1024x768 60.04* 60.00  960x720 60.00  928x696 60.05  896x672 60.01  800x600 60.00 60.32 56.25  700x525 59.98  640x512 60.02  640x480 60.00 59.94  512x384 60.00  400x300 60.32 56.34  320x240 60.05  DP-1 disconnected (normal left inverted right x axis y axis) 

Извините, если представленная информация трудна для понимания, мы не все знакомы с Linux, но можем выполнять самые основные задачи. Если мы пропустили какую-либо необходимую информацию в этом посте, пожалуйста, извините нас и сообщите нам, что мы должны добавить к ней, чтобы мы могли идти дальше.

Спасибо заранее.

С наилучшими пожеланиями, Дэнни

0

0 ответов на вопрос

Похожие вопросы