У меня есть старый планшет с Windows, на который мне удалось установить Ubuntu (WinBook TW700), и он работает довольно хорошо. Первоначально я установил 16.04 и смог обратиться к перевернутой оси, используя xinput-calibrator и отредактировав файл 99-configuration.conf, и экран работал великолепно. Тогда я допустил ошибку обновления до 19.04.
в 19.04 Я больше не могу настроить экран вообще. касание распознается (и теперь вращение работает, хотя это также инвертировано), но если я коснусь нижнего правого угла, указатель появится в верхнем левом углу и наоборот. 99-configuration.conf, похоже, не имеет никакого эффекта. Как и где я могу внести коррективы, чтобы эта конфигурация была правильной? Было бы здорово, если бы я мог правильно настроить как инвертированные настройки x и y, так и поворот экрана. Спасибо за любую помощь или совет.
Это работало для меня начиная с ядра 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