Как я могу исправить настройки сенсорного экрана (инвертированные x и y) в 19.04?

У меня есть старый планшет с Windows, на который мне удалось установить Ubuntu (WinBook TW700), и он работает довольно хорошо. Первоначально я установил 16.04 и смог обратиться к перевернутой оси, используя xinput-calibrator и отредактировав файл 99-configuration.conf, и экран работал великолепно. Тогда я допустил ошибку обновления до 19.04.

в 19.04 Я больше не могу настроить экран вообще. касание распознается (и теперь вращение работает, хотя это также инвертировано), но если я коснусь нижнего правого угла, указатель появится в верхнем левом углу и наоборот. 99-configuration.conf, похоже, не имеет никакого эффекта. Как и где я могу внести коррективы, чтобы эта конфигурация была правильной? Было бы здорово, если бы я мог правильно настроить как инвертированные настройки x и y, так и поворот экрана. Спасибо за любую помощь или совет.

0
задан 14 May 2019 в 20:26

1 ответ

Это работало для меня начиная с ядра 4.20, когда у меня вообще был какой-то сенсорный экран. Мне нужно было и нужно запускать скрипты для поворота, и до ядра 5.0 мне пришлось запускать следующий скрипт для калибровки сенсорного пера. и экран. Ключевая строка:

xinput map-to-output $i eDP

, где $1 - это то, что вы получаете из xinput, и это число (которое, как я обнаружил, может меняться в зависимости от загрузки, поэтому я получаю его по имени с deviceid= линия, моя ELAN0732: 00). Примечание. Я должен коснуться экрана, чтобы активировать перо, чтобы оно появилось в xinput. число постоянно меняется.

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

Эта ссылка помогла с вращениями. У меня до сих пор нет тех, которые отображаются в настройках дисплея, хотя я думаю, что это когда-то было. Это согласуется с опытом Ubuntu AMD в этом году. https://wiki.ubuntu.com/X/InputCoordinateTransformation

Я сделал скрипт, сохраненный как RotateMapToOutputs.sh

# dont forget to touch the screen first with the pen.
touchscreen=""
pen=""

OIFS=$IFS
search=""ELAN0732:00""

# note that the pen didnt show up until I mapped the standard one or clicked the screen.
# so need to do that first
echo $search

list=$(xinput | grep $search | grep pointer)
echo "list $list"

# just a text file to work with the list.
if [ -f tempxinput.txt ]
then    
    echo " removing tempxinput"
    rm tempxinput.txt
fi

device_id=$(echo "$list" | sed -n 's/.*ELAN0732:00.*id=\([0-9]*\).*/\1/p')

for i in $device_id
do
echo "id is $i"
xinput map-to-output $i eDP

done

Затем я установил сочетание клавиш на сделайте

bash "~/MyScripts/ RotateMapToOutputs.sh"

так как кажется, что у вас могут быть проблемы с вращением, это мой перевернутый скрипт поворота, и я сделал комбинацию клавиш, как указано выше. (обратите внимание, что в maptoputput может быть ошибка, так как 14 больше не является таковым, поэтому я могу запустить указанные выше maptooutputs после любого вращения, если оно не калибруется.

xrandr --output eDP --rotate inverted &&  xinput set-prop 'ELAN0732:00 04F3:2536 Pen (0)' --type=float "Coordinate Transformation Matrix" -1 0 1 0 -1 1 0 0 1 && xinput map-to-output 'ELAN0732:00 04F3:2536 Pen (0)' eDP && xinput map-to-output 14 eDP 

нормальное значение:

xrandr --output eDP --rotate normal &&  xinput set-prop 'ELAN0732:00 04F3:2536 Pen (0)' --type=float "Coordinate Transformation Matrix" 0 0 0 0 0 0 0 0 0 && xinput map-to-output 'ELAN0732:00 04F3:2536 Pen (0)' eDP && xinput map-to-output 14 eDP 

слева:

xrandr --output eDP --rotate left &&  xinput set-prop 'ELAN0732:00 04F3:2536 Pen (0)' --type=float "Coordinate Transformation Matrix" 0 -1 1 1 0 0 0 0 1 && xinput map-to-output 'ELAN0732:00 04F3:2536 Pen (0)' eDP && xinput map-to-output 14 eDP 

справа:

xrandr --output eDP --rotate right &&  xinput set-prop 'ELAN0732:00 04F3:2536 Pen (0)' --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1 && xinput map-to-output 'ELAN0732:00 04F3:2536 Pen (0)' eDP && xinput map-to-output 14 eDP
0
ответ дан 14 May 2019 в 20:26

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

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