터치 스크린 입력이 회전하지 않음 : Lenovo Yoga 13 / Yoga 2 Pro 패드)은 회전하지 않습니다. 이 문제에 대한 해결책을

크리스마스를위한 Lenovo Yoga 13을받은 후 우분투의 성능에 만족했습니다. 디스플레이 설정 메뉴에서 또는 xrandr -o inverted터미널과 같이 입력하여 디스플레이 방향을 쉽게 변경할 수 있습니다 . 그러나 터치 스크린의 입력 (또는 덜 중요한 터치 패드)은 회전하지 않습니다.

이 문제에 대한 해결책을 모색했으며 두 가지 유망한 출처를 찾았습니다.
(1) http://cc.oulu.fi/~rantalai/synaptics/ . 여기에 패키지를 설치하고 권고 된 명령을 실행하면 디스플레이 및 터치 패드 입력이 회전합니다 (터치 스크린의 입력은 아님).
(2) http://www.elfsternberg.com/2013/05/25/thinkpad-yoga-ubuntu-12/ . 이 웹 사이트는 시도하지 않은 입력 패키지 업데이트를 권장합니다.



답변

Ubuntu Wiki : X-Input Coordinate Transformation 에서 유용한 정보를 읽음으로써 내 질문에 대한 직접적인 대답을 찾았습니다 .

이 명령은 입력 장치와 디스플레이의 회전을 정렬하는 데 사용할 수 있습니다.

  1. 첫 번째 명령은 디스플레이를 회전 시키며, 여기서 왼쪽, 오른쪽, 일반 또는 반전 될 수 있습니다.
    xrandr -o <orientation>

  2. 입력 장치를 다시 매핑하십시오.
    xinput set-prop '<device name>' 'Coordinate Transformation Matrix' <matrix-elements-rowwise>

두 번째 명령은 입력 장치를 재 할당 (즉, 터치 패드 또는 터치 스크린) <matrix-elements-rowwise>이고 0 -1 1 1 0 0 0 0 1, 0 1 0 -1 0 1 0 0 1, 1 0 0 0 1 0 0 0 1, 또는 -1 0 1 0 -1 1 0 0 1; 위의 방향에 해당합니다.

터치 패드 및 터치 스크린의 이름은으로 찾을 xinput list수 있으며을 사용하여 완전히 비활성화 할 수 있습니다 xinput disable <device-name>. 이어서 xinput enable <device-name>입력 장치를 다시 활성화합니다.

필자의 경우 요가 13 (Yoga 2 Pro)을 사용하는 다른 사람들에게는 터치 스크린이 ELAN Touchscreen터치 패드
라고 불립니다 SynPS/2 Synaptics TouchPad.

따라서 홈 디렉토리 rotate-inverted.sh에 다음 내용으로 불리는 짧은 스크립트를 넣었습니다 .

    #! / bin / bash
    #이 스크립트는 화면 및 터치 스크린 입력을 180도 회전하고 터치 패드를 비활성화하며 가상 키보드를 활성화합니다.
    xrandr -o 반전
    xinput set-prop 'ELAN Touchscreen' '좌표 변환 매트릭스'-1 0 -1 1 0 0 1
    xinput disable 'SynPS / 2 Synaptics TouchPad'
    온보드 &

그런 다음 스크립트를 실행 파일로 만들었습니다.

chmod u+x rotate-inverted.sh

시스템 설정-> 키보드 에서 ~/rotate-inverted.sh키보드 단축키 Ctrl+ Alt+ I에 명령 을 할당했습니다 .

로그 아웃했다가 다시 로그인 한 후 해당 바로 가기를 눌러 키보드를 회전 할 수있었습니다.

나는 명령을 사용하여 다른 회전 위치에 대한 물건의 동일한 유형을했다 xinput enable 'SynPS/2 TouchPad'killall onboard대신 xinput disable 'SynPS/2 TouchPad'onboard &위해를 rotate-normal.sh.

이 스레드의 다른 사람들
은 요가의 위치를 ​​변경할 때 자동으로 실행하는 것뿐만 아니라 잠금 버튼과 같은 요가 의 추가 버튼에 이러한 스크립트를 할당하는 것에 대해 논의 했습니다. 그러나 나는 이것을하는 방법을 확신하지 못했습니다.


답변

몇 줄을 더 추가하면 스크립트를 두 번째 실행하면 화면이 다시 정상으로 돌아가고 Ideapad 2 Pro로 테스트 한 터치 패드가 활성화됩니다. 그건 그렇고 나는 사이드 패널 HowTo : new launcher 에 스크립트 런처를 넣었습니다 .

가속도계는 아직 커널에서 지원되지 않지만 다음 릴리스에서 제공 될 예정입니다.

스크립트를 작성 /usr/local/bin/rotate-screen.sh

#!/bin/bash
# This script rotates the screen and touchscreen input 180 degrees, disables the touchpad, and enables the virtual keyboard
# And rotates screen back if the touchpad was disabled

isEnabled=$(xinput --list-props 'SynPS/2 Synaptics TouchPad' | awk '/Device Enabled/{print $NF}')

if [ $isEnabled == 1 ]
then
    echo "Screen is turned upside down"
    xrandr -o inverted
    xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1
    xinput disable 'SynPS/2 Synaptics TouchPad'
    # Remove hashtag below if you want pop-up the virtual keyboard
    # onboard &
else
    echo "Screen is turned back to normal"
    xrandr -o normal
    xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
    xinput enable 'SynPS/2 Synaptics TouchPad'
    # killall onboard
fi

실행 권한을 부여하십시오.

sudo chmod +x /usr/local/bin/rotate-screen.sh

답변

유틸리티 스핀 은 ThinkPad Yogas와 함께 작동하도록 설계되었으므로 스타일러스 정보 등을 처리하고 모든 종류의 방향 제어 (버튼, 화면 회전 및 가속도계)를 제공합니다. 시도해 볼 가치가 있습니다.


답변

없는 솔루션 xrandr(웨이 랜드에서는 작동하지 않음)

WAYLAND 우분투 19.04에서 해결책은 설정하는 rotate-monitor사용하는 일부 키 바인딩 열쇠 gsettings또는 dconf-editor.

예를 들어 다음 명령은 Ctrl+F8화면을 시계 반대 방향으로 회전시킵니다.

$ gsettings set org.gnome.mutter.keybindings rotate-monitor "['XF86RotateWindows', '<Control>F8']"

이를 통해 사용자는 목표 방향을 지정할 수 없지만 원하는 방향에 도달 할 때까지만 화면을 회전시킬 수 있습니다.

(원본 게시 : https://unix.stackexchange.com/a/465395/20661 )