![联想 MIIX 300-10iby 触摸屏旋转和充电问题](https://linux22.com/image/910978/%E8%81%94%E6%83%B3%20MIIX%20300-10iby%20%E8%A7%A6%E6%91%B8%E5%B1%8F%E6%97%8B%E8%BD%AC%E5%92%8C%E5%85%85%E7%94%B5%E9%97%AE%E9%A2%98.png)
我是 Linux 环境的新手,但我知道一些东西。我刚刚在联想 MIIX 300 上安装了 Ubuntu 19.04 Desktop,但屏幕旋转有问题。我已经删除了 iio-sensor-proxy要旋转屏幕,我使用xrandr
终端中的命令。很快我发现我的触摸屏无法正常工作,因此尝试更改一些值,xinput
但无论我尝试设置什么值,都没有发生任何事情。这是我的xin输入列表我用了这一行:
xinput set-prop X "Coordinate Transformation Matrix" <values>
X 等于 2、4 或 13
什么都没发生,什么都没改变。我很好奇我需要改变哪些道具值。上面的列表是在键盘底座未插入的情况下制作的,因此您只能看到平板电脑部分中包含的输入。
我最近发现,即使iio-传感器-代理触摸屏不能正常工作。 它仅在一个位置起作用,一如既往(处于“正常”状态)
我也遇到了充电问题,有时 Ubuntu 会显示充电图标,有时则不显示,但当我插入和拔出充电线时总会有声音。它没有上述问题那么重要,因为系统关闭时充电正常。
答案1
我的 Miix 300 也遇到了同样的问题!我设法在网上找到了一个脚本,我修改了这个脚本来帮助我解决这个问题。它无论如何都不完美(自动旋转仍然不起作用[目前])
将文件另存为 Display.sh(或任何您想要的!)
chmod +x 显示.sh
./display.sh 正常/左/右/倒置
您还可以添加此脚本以便在使用 GDM/lightdm 登录时执行 - 这对于自动登录尤其有用,因为 GDM/lightdm 仍然处于纵向模式,直到登录后执行脚本
#!/bin/bash
#
# rotate_desktop.sh
#
# Rotates modern Linux desktop screen and input devices to match. Handy for
# convertible notebooks. Call this script from panel launchers, keyboard
# shortcuts, or touch gesture bindings (xSwipe, touchegg, etc.).
#
# Using transformation matrix bits taken from:
# https://wiki.ubuntu.com/X/InputCoordinateTransformation
#
# Configure these to match your hardware (names taken from `xinput` output).
TOUCHPAD='SynPS/2 Synaptics TouchPad'
TOUCHSCREEN='FTSC1000:00 2808:1015'
if [ -z "$1" ]; then
echo "Missing orientation."
echo "Usage: $0 [normal|inverted|left|right] [revert_seconds]"
echo
exit 1
fi
function do_rotate
{
xrandr --output $1 --rotate $2
TRANSFORM='Coordinate Transformation Matrix'
case "$2" in
normal)
# [ ! -z "$TOUCHPAD" ] && xinput set-prop "$TOUCHPAD" "$TRANSFORM" 1 0 0 0 1 0 0 0 1
[ ! -z "$TOUCHSCREEN" ] && xinput set-prop "$TOUCHSCREEN" "$TRANSFORM" 1 0 0 0 1 0 0 0 1
;;
inverted)
# [ ! -z "$TOUCHPAD" ] && xinput set-prop "$TOUCHPAD" "$TRANSFORM" -1 0 1 0 -1 1 0 0 1
[ ! -z "$TOUCHSCREEN" ] && xinput set-prop "$TOUCHSCREEN" "$TRANSFORM" -1 0 1 0 -1 1 0 0 1
;;
left)
# [ ! -z "$TOUCHPAD" ] && xinput set-prop "$TOUCHPAD" "$TRANSFORM" 0 -1 1 1 0 0 0 0 1
[ ! -z "$TOUCHSCREEN" ] && xinput set-prop "$TOUCHSCREEN" "$TRANSFORM" 0 -1 1 1 0 0 0 0 1
;;
right)
# [ ! -z "$TOUCHPAD" ] && xinput set-prop "$TOUCHPAD" "$TRANSFORM" 0 1 0 -1 0 1 0 0 1
[ ! -z "$TOUCHSCREEN" ] && xinput set-prop "$TOUCHSCREEN" "$TRANSFORM" 0 1 0 -1 0 1 0 0 1
;;
esac
}
XDISPLAY=`xrandr --current | grep primary | sed -e 's/ .*//g'`
XROT=`xrandr --current --verbose | grep primary | egrep -o ' (normal|left|inverted|right) '`
do_rotate $XDISPLAY $1
if [ ! -z "$2" ]; then
sleep $2
do_rotate $XDISPLAY $XROT
exit 0
fi