отображение xinput устройства ввода данных планшета перестало работать 18.04

У меня есть экран планшета, который я использую на 18,04. Это ведет себя по существу как абсолютная мышь положения (это - Huion, не Wacom), но я работаю с несколькими мониторами, таким образом, я должен применить матрицу преобразования к устройству.

Я записал программу для вычисления матрицы преобразования, и она хорошо работала с 16,04, но теперь на 18,04, каждый раз, когда я пытаюсь использовать ее, она перестала работать, жалоба на BadMatch. Я вспоминаю это делающий это, в то время как я создавал программу, если числа отсутствовали или плохо, но так как это было ранее протестировано, который не кажется разумным. Вот команда, которая следует из моей программы и получающегося сообщения об ошибке:

~$ xinput set-prop 'Tablet Monitor Pen' 'Coordinate Transformation Matrix' 0.333333 0.000000 0.166667 0.000000 0.486692 0.513308 0 0 1
  X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Serial number of failed request:  20
  Current serial number in output stream:  21

элементы xrandr, которому я верю, важны для чисел:

Screen 0: minimum 320 x 200, current 3840 x 2104, maximum 8192 x 8192
...
DP-1 connected 1280x1024+640+1080 (normal left inverted right x axis y axis) 760mm x 450mm

Кто-либо может сказать мне, если что-то изменилось с форматом, ожидаемым xinput для этого, между 16,04 и 18.04? Или если так или иначе мои числа вычисляются неправильно, и это только что разоблачено (я действительно изменял конфигурацию монитора, но не много!)

Править: В дальнейшем расследовании я замечаю, что даже CTM по умолчанию/существующий отклоняется. Запрос текущего состояния похож на это:

$ xinput list-props 'Tablet Monitor Pen' | grep "Coordinate Transformation Matrix"
    Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

И откладывание тех значений (с или без запятых) приводит к:

xinput set-prop 'Tablet Monitor Pen' 'Coordinate Transformation Matrix' 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Serial number of failed request:  20
  Current serial number in output stream:  21

Выполнение его с запятыми в списке данных (который раньше не позволялся), результаты в том же:

$ xinput set-prop 'Tablet Monitor Pen' 'Coordinate Transformation Matrix' 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Serial number of failed request:  20
  Current serial number in output stream:  21
1
задан 2 October 2018 в 07:15

1 ответ

О, дорогой, стыдно, оказывается, имя устройства было изменено. Мой вывод xinput -list включает:

    $ xinput -list
    ⎡ Virtual core pointer                      id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
    ⎜   ↳ 2.4G wireless USB Device 2.4G wireless USB Device id=11   [slave  pointer  (2)]
    ⎜   ↳ Tablet Monitor Pad                        id=10   [slave  pointer  (2)]
    ⎜   ↳ Tablet Monitor Pen Pen (0)                id=16   [slave  pointer  (2)]
 Virtual core keyboard                      id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Tablet Monitor Pen                        id=9    [slave  keyboard (3)]

, и соответствующее устройство всегда было «Tablet Monitor Pen» в 16.04. Тем не менее, на самом деле сейчас работает «Pen Monitor Pen Pen (0)». Таким образом, учитывая это изменение в целевом устройстве, все возвращается к работе ...

1
ответ дан 7 December 2019 в 23:03

Другие вопросы по тегам:

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