ผมพบคำตอบที่ตรงไปตรงมาคำถามของฉันโดยการอ่านข้อมูลที่เป็นประโยชน์ที่อูบุนตูวิกิพีเดีย: X - ป้อนข้อมูลประสานงานการเปลี่ยนแปลง
คำสั่งเหล่านี้สามารถใช้เพื่อจัดตำแหน่งการหมุนของอุปกรณ์อินพุตและจอแสดงผล:
คำสั่งแรกหมุนจอแสดงผลซึ่งสามารถซ้ายขวาปกติหรือกลับด้าน:
xrandr -o <orientation>
ทำการแมปอุปกรณ์อินพุตอีกครั้ง:
xinput set-prop '<device name>' 'Coordinate Transformation Matrix' <matrix-elements-rowwise>
คำสั่งที่สอง remaps อุปกรณ์อินพุท (นั่นคือทัชแพดหรือหน้าจอสัมผัส) ซึ่ง<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 (ยังโยคะ 2 Pro), หน้าจอสัมผัสที่เรียกว่าและทัชแพดELAN Touchscreen
SynPS/2 Synaptics TouchPad
ดังนั้นฉันจึงใส่สคริปต์สั้น ๆ ในโฮมไดเร็กตอรี่ของฉันที่เรียกว่าrotate-inverted.shมีเนื้อหาต่อไปนี้:
#! / bin / ทุบตี
# สคริปต์นี้หมุนหน้าจอและหน้าจอสัมผัส 180 องศาปิดการใช้งานทัชแพดและเปิดใช้งานแป้นพิมพ์เสมือนจริง
xrandr -o inverted
xinput set-prop 'ELAN Touchscreen' 'ประสานงานการแปลงเมทริกซ์' -1 0 1 0 -1 1 0 0 1 1
xinput ปิดการใช้งาน '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
บางคนในหัวข้อนี้ได้พูดคุยเกี่ยวกับการกำหนดสคริปต์ดังกล่าวให้กับปุ่มพิเศษบน
โยคะ - เช่นปุ่มล็อค - และดำเนินการโดยอัตโนมัติเมื่อเปลี่ยนตำแหน่งของโยคะ แต่ฉันไม่แน่ใจว่าจะทำอย่างไร