วิธีการสลับปุ่ม Caps Lock และปุ่ม Esc โดยทางโปรแกรม


18

ฉันเป็นผู้ใช้ที่ใช้งานหนักและเป็นหนึ่งในสิ่งแรกที่ฉันทำเมื่อฉันเริ่มการติดตั้งอูบุนตูที่สะอาดคือการสลับปุ่มแคปล็อคและปุ่มลัดเพื่อลดการเคลื่อนไหวของมือบนแป้นพิมพ์

จนถึงตอนนี้ฉันได้ทำมันผ่านการโต้ตอบการกำหนดค่าแป้นพิมพ์ แต่ตอนนี้ฉันกำลังเขียนชุดของสคริปต์ที่จะตั้ง Ubuntu ในแบบที่ฉันชอบและฉันไม่สามารถหาวิธีสคริปต์หรือโปรแกรมที่จะเปลี่ยนรายการการกำหนดค่านี้

ฉันไม่ได้มองหาตัวเลือกที่สลับคีย์ในระดับอื่นนอกเหนือจากคำพังเพยตัวเองดังนั้นสิ่งที่ฉันกำลังมองหาคือวิธีที่จะเขียนสคริปต์การเปลี่ยนแปลงนี้และให้ปรากฏในการกำหนดค่าแป้นพิมพ์ที่ฉันใช้ เปลี่ยนกลับด้วยตนเองในอนาคต


ความคิดดี! ฉันเคยบ่นตลอดเวลาเกี่ยวกับการขยับมือของฉันเพื่อ Esc ในขณะที่ทำงานใน Vim แต่ตอนนี้นี่คือทางออก! thanx bro ;-)
sazary

1
โปรดใช้ความระมัดระวัง แต่เมื่อคุณได้ใช้จะมีพวกเขาสลับที่น่าอึดอัดใจที่จะได้รับเมื่อคุณมีการทำงานเกี่ยวกับคนอื่นของแป้นพิมพ์ :)
Jacobo เด Vera

2
ตัวเลือกอื่นคือ Ctrl-C แทน Esc (ใช้ได้กับคีย์บอร์ดทุกรุ่น
Eric Wilson

@FarmBoy ยอดเยี่ยม! ฉันไม่รู้อันนั้น!
Jacobo de Vera

คำตอบ:


22

คุณสามารถทำได้ผ่าน GUI โดยเปิดKeyboard Preferencesแผงควบคุม (ใต้System -> Preferences) และเลือกLayoutแท็บ คลิกที่Options...ปุ่มเพื่อเปิดกล่องโต้ตอบตัวเลือกเค้าโครง ขยายส่วนและเลือกCaps Lock key behaviourSwap ESC and Caps Lock

มีสองสามวิธีที่คุณสามารถเขียนสิ่งนี้

โดยตรงผ่าน Xkb

เราสามารถทำการเปลี่ยนแปลงโดยตรงกับสิ่งต่อไปนี้:

setxkbmap -option caps:swapescape

คุณสามารถปิดการใช้งานตัวเลือกเลย์เอาต์ปัจจุบันทั้งหมด (ซึ่งจะกลับแคปล็อคไปสู่พฤติกรรมเริ่มต้น) ด้วย:

setxkbmap -option ''

ผ่าน GConf

แผงควบคุมการตั้งค่าแป้นพิมพ์เก็บการตั้งค่าผ่านทางที่มีรูปแบบจริงจะถูกนำมาใช้โดยgconf gnome-settings-daemonดังนั้นคุณสามารถทำให้gnome-settings-daemonการปรับโครงร่างโดยการปรับปรุง gconf ด้วยตัวคุณเอง

/desktop/gnome/peripherals/keyboard/kbd/optionsการตั้งค่าที่เกี่ยวข้องในกรณีนี้ดูเหมือนจะเป็น ดังนั้นคุณสามารถตั้งค่าตัวเลือกด้วย:

gconftool-2 --set /desktop/gnome/peripherals/keyboard/kbd/options \
    --type list --list-type string \
    '[caps<tab>caps:swapescape]'

ในด้านบน<tab>ควรเป็นอักขระแท็บตัวอักษรมากกว่าช่องว่าง คุณสามารถปิดใช้งานการทำงานได้อีกครั้งโดยตั้งค่าคีย์ gconf เป็นรายการว่าง


ตัวเลือก gconf เป็นสิ่งที่ฉันกำลังมองหาอย่างแน่นอนอย่างไรก็ตามการกำหนดค่าของคุณเปลี่ยนแคปล็อคให้เป็นคีย์ยกเว้นและคีย์ยกเว้นเป็นคีย์แท็บ ผมเปลี่ยนการตั้งค่าด้วยตนเองอีกครั้งและใช้เวลาดูที่ค่าใน GConf [caps<tab>caps:swapescape]บรรณาธิการมันเป็นจริง ตอนนี้ทุกอย่างใช้ได้แล้วฉันยอมรับคำตอบของคุณและแนะนำให้คุณแก้ไขเพื่อเปลี่ยนค่าสำหรับการอ้างอิงในอนาคต ขอบคุณ
Jacobo de Vera

@Jacobo ในอนาคตคุณอาจแนะนำการแก้ไขด้วยตนเอง - เพียงกดปุ่มแก้ไขด้านล่างคำตอบ การเปลี่ยนแปลงของคุณจะได้รับการอนุมัติอย่างรวดเร็วจากใครบางคน ฉันได้ทำการแก้ไขให้คุณ (ตรวจสอบว่าถูกต้อง) อย่างไรก็ตามคำตอบที่ดี @James! +1
Stefano Palazzo

1
@ สเตฟาโนขอขอบคุณฉันไม่ได้สังเกตเห็นตัวเลือกการแก้ไข
Jacobo de Vera

มีวิธีให้สิ่งนี้ทำงานใน GDM ที่หน้าจอเข้าสู่ระบบหรือไม่
Linde
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.