จะทำแป้นพิมพ์ลัดเช่น macOS บน Ubuntu ได้อย่างไร


12

ฉันได้เห็นคำถามมากมายเกี่ยวกับเรื่องนี้ แต่พวกเขาทั้งหมดดูเหมือนจะทำการแมปปุ่มใหม่แทนที่จะเป็นพฤติกรรม macOS จริง

กรณีการใช้งานหลักของฉันคือการ "แยก" ทางลัด: ตัวอย่างเช่นฉันต้องการให้มีSuper+ Cเพื่อคัดลอกข้อความและCtrl+ Cเพื่อส่ง SIGINT ไปยังโปรแกรมปัจจุบัน

ในกรณีนี้การแมปใหม่หรือการสลับอย่างง่ายSuperและCtrlจะไม่ทำงาน

ฉันพบว่าพฤติกรรมของ mac นั้นใช้งานได้จริงเพราะทางลัดทั่วไปส่วนใหญ่ใช้Superและทางลัดการคัดลอกที่มีชื่อเสียงไม่ได้ซ้อนทับทางลัดSIGINT ที่มีชื่อเสียง

แอปเทอร์มินัลส่วนใหญ่ตอบสนองต่อCtrl- * ทางลัดและส่วนใหญ่ทับซ้อนกับทางลัด "มาตรฐาน" ใน GNOME เทอร์เราจะต้องกดCtrl+ Shift+ Cเพื่อคัดลอกข้อความในขณะที่ในโปรแกรมอื่น ๆ เช่น Firefox, Ctrl+ Cถูกนำมาใช้ นี้ค่อนข้างยุ่งยากและไม่สอดคล้องกันเมื่อเทียบกับ+SuperC


ต้องการชี้ไปที่คำตอบอื่นบน askubuntu: askubuntu.com/questions/521202/…
Gautam

คำตอบ:


0

คุณสามารถบรรลุผลโดยใช้คำสั่ง xmodmap:

remove mod4 = Super_L
keysym Super_L = Control_L
add Control = Control_L

super_as_ctrl.xmodmapบันทึกบรรทัดข้างต้น ทดสอบโดยการดำเนินการ

xmodmap super_as_ctrl.xmodmap

หากต้องการให้การเปลี่ยนแปลงเป็นไปอย่างถาวร (ยังคงอยู่ในการเข้าสู่ระบบ / รีบูตใหม่) เพียงแค่เปลี่ยนชื่อไฟล์เป็น.Xmodmapในโฮมโฟลเดอร์ของคุณ

(ทดสอบบน Ubuntu 14.x)

PS: คุณสามารถใช้ปุ่ม windows อื่น ๆ ได้เช่นกัน ไม่แน่ใจว่าจะทำอย่างไร


นั่นทำให้ Ctrl-C และ Super-C ส่ง^Cไปยังเชลล์ ฉันคาดว่าหนึ่งในนั้นจะทำตัวเหมือนสำเนา ทดสอบกับระบบปฏิบัติการระดับประถมศึกษา
เบอนัวต์ดัฟเชซ์

0

การสร้างทางลัดใหม่และคนเก่าลบเพียงแค่ไปที่การตั้งค่าระบบ >> >> แป้นพิมพ์ลัด ที่นั่นคุณสามารถดูทางลัดทั้งหมดแก้ไขลบและสร้างทางลัดใหม่


0

$HOME/.uxSwapCapsLock-and-Ctrlชีวิตต่อไปนี้ในของฉัน มันสลับการทำงานของปุ่ม CapsLock และ Ctrl สำหรับเชลล์ที่ใช้งานบนระบบ Linux ได้อย่างมีประสิทธิภาพเมื่อใดก็ตามที่ฉันเข้าสู่ระบบและเริ่มเซสชันโต้ตอบภายในเชลล์บนระบบที่กำหนด ฉันแน่ใจว่าคุณสามารถเรียนรู้เกี่ยวกับชื่อคีย์ที่เกี่ยวข้องที่คุณพยายามแก้ไขและถูกอ้างถึงโดย xmodmap เพื่อรับฟังก์ชั่นที่คุณต้องการ รหัสนี้เริ่มต้นทุกครั้งที่ฉันเข้าสู่ระบบและมีเซสชันแบบโต้ตอบผ่าน. profile แต่จะอยู่ในไฟล์. ps1 เพื่อจุดประสงค์นี้

#!bin/bash
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "remove Control = Control_L"
xmodmap -e "keysym Control_L = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Control_L"
xmodmap -e "add Lock = Caps_Lock"
xmodmap -e "add Control = Control_L"
#End script

นี่คือการตรวจสอบ. profile เพื่อให้การแลกเปลี่ยนเกิดขึ้น:

if [ -f  "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
   .  $HOME/.uxSwapCapsLock-and-Ctrl
fi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.