Структура матрицы для вращения экрана

Я могу настроить поворот экрана на инвертированное:

xrandr -o inverted xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1 

и вернуться к нормальной жизни:

 xrandr -o normal xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1 

Я нашел здесь HowTo: https://wiki.ubuntu.com/X/InputCoordinateTransformation
Поэтому я думаю, что для (90 ° вправо) это будет:

 # ⎡ 0 -1 1 ⎤ # ⎜ 1 0 0 ⎥ # ⎣ 0 0 1 ⎦ right='0 -1 1 1 0 0 0 0 1' 

Но что такое «матрица трансформации координат» слева?

2 Solutions collect form web for “Структура матрицы для вращения экрана”

Судя по этому вопросу, это стандартная матрица преобразования координат.

Так:

 ⎡x_out⎤ ⎡ abc ⎤ ⎡ x_in ⎤ ⎜y_out⎥ = ⎜ def ⎥ * ⎜ y_in ⎥ ⎣z_out⎦ ⎣ 0 0 1 ⎦ ⎣ z_in ⎦ 

с z_out = z_in = 1.

Т.е.

 x_out = a * x_in + b * y_in + c y_out = d * x_in + e * y_in + f 

Пример матрицы, которую вы указали для правильного вращения

 ⎡ 0 -1 1 ⎤ ⎜ 1 0 0 ⎥ ⎣ 0 0 1 ⎦ 

таким образом, означает

 x_out = 1 - y_in y_out = x_in 

для поворота влево это было бы наоборот:

 x_out = y_in y_out = 1 - x_in 

давая матрицу

 ⎡ 0 1 0 ⎤ ⎜ -1 0 1 ⎥ ⎣ 0 0 1 ⎦ 

Последняя пропавшая матрица будет

 left='0 1 0 -1 0 1 0 0 1' 

Мне удалось написать скрипт, который поворачивает скрипт каждый раз, когда вы его вызываете:

https://gist.github.com/rubo77/daa262e0229f6e398766

  • Используйте два монитора в Debian 9 Stretch на графической карте AMD
  • Xorg: Экран 1 удален из-за отсутствия соответствующего раздела конфигурации
  • xrandr --listproviders не обнаруживает nvidia
  • Как настроить сенсорный экран x11 на рабочем столе Linux?
  • HD TV и Macbook Air с Linux видят друг друга, но экран черный
  • Конфигурация xrandr не загружается должным образом при запуске из .xprofile
  • Предварительный просмотр миниатюр вторичного дисплея на основном дисплее?
  • Курсор мерцает с масштабированием xrandr
  • xrandr обнаруживает усилитель как монитор
  • xrandr: откуда берется выход VIRTUAL1?
  • Проблема Xrandr с двойным экраном
  • Interesting Posts

    Загрузка из копии структуры каталогов Linux

    обновить Python до 2.7.2

    Проверить, что процесс уже запущен в webfaction?

    Какова связь между системными вызовами, передачей сообщений и прерываниями?

    Объяснение времени сборки версии в отличие от номера версии, например OpenSSL 1.0.1e против h

    Как напечатать количество рисунков в каждой строке?

    Понимать этот вывод strace

    Создание * красиво * отформатированного списка количества файлов в каталогах – awk & sed возможно

    .DELETE_ON_ERROR поведение с make и конвейерами

    Почему Gnus не забивает электронные письма на основе заголовков To: или Cc:

    AWK для сглаживания данных

    Предотвращение запуска таймера systemd при запуске

    Как включить двойной список автозаполнения в csh?

    Обнаружение ладони libinput не работает

    Как исправить рабочий стол x2go, который не изменяет размер содержимого в соответствии с размером окна удаленного рабочего стола

    Linux и Unix - лучшая ОС в мире.