ผมพบคำตอบที่ตรงไปตรงมาคำถามของฉันโดยการอ่านข้อมูลที่เป็นประโยชน์ที่อูบุนตูวิกิพีเดีย: 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
บางคนในหัวข้อนี้ได้พูดคุยเกี่ยวกับการกำหนดสคริปต์ดังกล่าวให้กับปุ่มพิเศษบน
โยคะ - เช่นปุ่มล็อค - และดำเนินการโดยอัตโนมัติเมื่อเปลี่ยนตำแหน่งของโยคะ แต่ฉันไม่แน่ใจว่าจะทำอย่างไร