터치 스크린 입력이 회전하지 않음 : Lenovo Yoga 13 / Yoga 2 Pro


8

크리스마스를위한 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/ . 이 웹 사이트는 시도하지 않은 입력 패키지 업데이트를 권장합니다.


문제와 해결책은 Yoga 2 Pro에서 동일합니다
rubo77

이 스크립트를 사용하여 자동 회전을 추가 할 수도 있습니다 : krizka.net/projects/autorotate
rubo77

답변:


8

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.

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


자세한 작업에 감사드립니다. 이 방향 조정을 즉시 수행하는 방법에 대해 이야기 한 연구가 있었는지 궁금합니다 (가속도계를 사용하여 추측합니다)?
A.Wan

이것은 또한 Yoga 2 Pro에서 완벽하게 작동합니다! user267578의 향상된 스크립트는 완벽하게 작동합니다! 나는 나의에 추가됩니다 레노버 요가 2 프로에 우분투를 설치하는 가이드
rubo77

어쩌면 당신은 여기에 스크립트를 매핑하는 올바른 키를 사용하는 방법을 찾을 수 있습니까?
rubo77

4

몇 줄을 더 추가하면 스크립트를 두 번째 실행하면 화면이 다시 정상으로 돌아가고 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

1
훌륭한 일, 나는 여기에 스크립트를 강화 : gist.github.com/rubo77/daa262e0229f6e398766
rubo77

감사! 잘 작동합니다. 사용하기 쉽게 런처를 만들었습니다.
기 illa 소렐

1

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


0

없는 솔루션 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 )

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.