ฉันจะสลับการทำงานCaps LockและEscฟังก์ชั่นคีย์ใน Saucy ได้อย่างถาวร ฉันสามารถใช้คำสั่งนี้เพื่อทำมันชั่วคราว (จนกระทั่งรีบูต):
/usr/bin/setxkbmap -option "caps:swapescape"
ฉันลองเพิ่มคำสั่งนั้นเป็นแอปพลิเคชันเริ่มต้น แต่ดูเหมือนจะไม่ทำอะไรเลย
ฉันจะสลับการทำงานCaps LockและEscฟังก์ชั่นคีย์ใน Saucy ได้อย่างถาวร ฉันสามารถใช้คำสั่งนี้เพื่อทำมันชั่วคราว (จนกระทั่งรีบูต):
/usr/bin/setxkbmap -option "caps:swapescape"
ฉันลองเพิ่มคำสั่งนั้นเป็นแอปพลิเคชันเริ่มต้น แต่ดูเหมือนจะไม่ทำอะไรเลย
คำตอบ:
dconf-editorวิธีการทำเช่นนี้ก็คือผ่าน วิธีการนี้มีขั้นตอนเพิ่มเติมไม่กี่ขั้นตอนgnome-tweak-toolแต่มีประโยชน์หากคุณไม่ต้องการดึงการพึ่งพาจากเครื่องมือปรับแต่ง
สิ่งนี้จะช่วยให้คุณใช้caps:swapescapeไวยากรณ์และทำการเปลี่ยนแปลงแบบถาวรโดยอัตโนมัติ
sudo apt-get install dconf-tools
หลังจากเริ่มต้นให้dconf-editorนำทางไปยังorg >> gnome >> desktop >> แหล่งอินพุต
xkb-optionsเพิ่มตัวเลือกที่คุณต้องการใน สตริงตัวเลือกถูกล้อมรอบด้วยเครื่องหมายคำพูดเดี่ยวและคั่นด้วยเครื่องหมายจุลภาค ระวังอย่าลบวงเล็บปิดท้าย

คุณสามารถใช้วิธีนี้เพื่อป้อนมากที่สุดในตัวเลือกที่ XKB แบบดั้งเดิมที่ไม่พร้อมใช้งานในการตั้งค่าระบบ >> รายการข้อความ ข้อยกเว้นคือการตั้งค่าสำหรับการสลับเค้าโครงแป้นพิมพ์ซึ่งปัจจุบันไม่สามารถใช้งานได้เนื่องจากข้อบกพร่อง
สำหรับรายการตัวเลือกและไวยากรณ์ให้ใช้man 7 xkeyboard-configในเทอร์มินัล
ตัวเลือกทั่วไปอื่น ๆ ที่สามารถใช้ได้คือterminate:ctrl_alt_bkspอนุญาตให้ctrl+ alt+ backspaceสิ้นสุด X-session
keyboard-config(7)นี่คือสิ่งที่ฉันกำลังมองหา
dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape']"
'caps:swapescape'หากคุณต้องการสลับสองปุ่ม (แทนที่จะเพิ่งกำหนดEscให้Caps Lock)
gsettings set org.gnome.desktop.input-sources xkb-options "['caps:escape']"
วิธีแก้ปัญหาที่ควรใช้กับ linux distros ส่วนใหญ่:
setxkbmap -option caps:swapescape
ตัวเลือกอื่น ๆ ที่เป็นไปได้:
caps:none เพื่อปิดใช้งานcaps:escape เพื่อให้การหลบหนีเพิ่มเติมcaps:super เพื่อทำให้เป็นคีย์พิเศษ (windows) เพิ่มเติมในการทำให้การทำงานนี้เริ่มต้นขึ้นคุณจะต้องใส่~/.profileเพราะจะทำงานหลังจากเข้าสู่ระบบแบบโต้ตอบเท่านั้น
setxkbmapคำสั่งใน~/.xsessionrcและ~/.profileไม่ปรากฏขึ้นเพื่อให้การตั้งค่ายังคงอยู่ระหว่างการเข้าสู่ระบบ / รีสตาร์ท
~/.profileเป็นสถานที่ที่ไม่ดีที่จะวางสิ่งนี้ - ไฟล์นั้นจะถูกอ่านบนทุกเชลล์ล็อกอิน วางไว้ในไฟล์ที่ใช้เมื่อเริ่มต้น X11 เหมือนหรือ~/.xinitrc ~/.xsession
ตกลงพบวิธีในการทำสิ่งนี้โดยใช้ gnome-tweak-tool
จากเทอร์มินัลรัน
sudo apt-get install gnome-tweak-tool -y && gnome-tweak-tool
คุณสามารถค้นหาตัวเลือกในการสลับ Caps Lock และ Esc ใน "การพิมพ์ -> การทำงานของปุ่ม Caps Lock"
gnome-tweak-toolไม่ควรใช้สำหรับงานนี้เพราะมีเครื่องมือเริ่มต้นที่จะทำ
Keyboard & Mouse> Additional Layout Options>Caps Lock Behavior
xmodmapหรือsetxkbmapแนวทางแก้ไขใด ๆ ที่จะคงอยู่ในวันที่ 19.04
คุณสามารถใช้xmodmapในเทอร์มินัลเพื่อสลับCaps LockกับEsc:
xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock" #this will make Esc to act as Caps Lock
xmodmap -e "keycode 66 = Escape NoSymbol Escape" #this will make Caps Lock to act as Esc
หากต้องการรับการเปลี่ยนแปลงนี้สำหรับทุกเซสชันหลังจากที่คุณได้รันคำสั่งก่อนหน้านี้แล้วให้สร้างไฟล์ที่เรียก.xmodmapด้วย keymaps ใหม่โดยใช้คำสั่งต่อไปนี้:
xmodmap -pke > ~/.xmodmap
จากนั้นสร้างไฟล์ที่เรียกว่า.xinitrcในโฮมไดเร็กตอรี่ของคุณ, ที่มีบรรทัด / คำสั่งต่อไปนี้:
xmodmap .xmodmap
~/.xmodmapไฟล์ (โดยเรียกใช้เฉพาะ> ~/.xmodmapในเครื่องเทอร์มินัลของคุณ) จากนั้นรีสตาร์ทเซสชันของคุณ
คล้ายกับคำตอบของ @ Radu แต่เข้ากันได้กับ 14.04 (ดูคำตอบนี้ด้วย )
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"
xmodmap -e "keycode 66 = Escape NoSymbol Escape"
xmodmap -pke > ~/.xmodmap
หากไม่ได้ผลให้เปลี่ยน:
xmodmap -e "remove Lock = Caps_Lock"
ด้วย:
xmodmap -e "clear Lock"
ไปที่ไอคอนรูปเฟืองที่มุมบนขวาของหน้าจอและ:
รันคำสั่งนี้หนึ่งครั้งในเทอร์มินัล dconfควรได้รับการติดตั้งด้วย gnome 3 แล้ว
dconf write "/org/gnome/desktop/input-sources/xkb-options" "['caps:swapescape']"
ซึ่งสามารถทำได้จาก"รูปแบบแป้นพิมพ์" การตั้งค่าระบบ คลิกที่ "ตัวเลือก" สำหรับรูปแบบที่คุณใช้จากนั้นภายใต้ "ลักษณะการทำงานของปุ่ม Caps Lock" ให้เลือก "สวิตช์ Escape and Capslock"
ฉันได้สร้างเครื่องมือใน C เป็นพิเศษเพื่อจุดประสงค์นี้ที่เอาชนะปัญหาหลายอย่างด้วยโซลูชัน xcape / xmodmap :
มันทำอะไรได้มากกว่าเดิมเพราะมันเปิด CAPSLOCK เป็นทั้ง ESC และ CTRL
ฉันช้าที่จะตอบ แต่วิธีปกติในการสลับEscและCtrlอยู่กับบรรทัดต่อไปนี้ใน~/.Xmodmapไฟล์:
clear Lock
keysym Caps_Lock = Escape
keysym Escape = Caps_Lock
add Lock = Caps_Lock
สิ่งนี้ควรทำงานกับสภาพแวดล้อมเดสก์ท็อปทั้งหมด (KDE, Gnome) บน distros ที่พบบ่อยที่สุด (ตระกูล Ubuntu และ Debian, ตระกูล Fedora และ RH)
สำหรับ Ubuntu 18.04 และ Gnome 3.30 ใช้ได้กับฉัน:
gsettings set org.gnome.desktop.input-sources xkb-options "['caps:swapescape']"
บน KDE GUI (ส่วนต่อประสานกราฟิกกับผู้ใช้) สามารถทำได้จาก Keyboard Layout ในการตั้งค่าระบบ คลิกที่ "อุปกรณ์อินพุต" ที่มุมซ้ายบนให้คลิกแป้นพิมพ์ จากนั้นคลิกแท็บ "ขั้นสูง" และภายใต้ "ลักษณะการทำงานของคีย์ Caps" เลือก "สลับ Escape and Capslock"
คำตอบ "รูปแบบแป้นพิมพ์" พร้อมกับ "สวิตช์ Escape and Capslock" ข้างต้นไม่สามารถใช้งานได้กับ Ubuntu 16.04 และอีกต่อไป (เคยเป็นมาก่อนหรือไม่) คำตอบ: เพื่อหลีกเลี่ยงความเร่งรีบด้วยสิทธิ์เป็นต้นเพียงสลับไปที่รูทก่อนที่คุณจะเริ่มทำสิ่งนี้ทั้งหมดโดยsuป้อนรหัสผ่านรูทของคุณ แล้ว:
cd /etc/default/
vim keyboard
ที่นั่นคุณจะเห็นบรรทัด:
XKBOPTIONS=""
เปลี่ยนเป็น:
XKBOPTIONS="caps:swapescape"
ออกเป็นกลุ่มด้วยการบันทึก:
:wqa
Reboot
และนั่นจะเป็นการถาวรฉันสัญญา :)
หมายเหตุ: นี่ไม่ได้สลับเฉพาะแผนที่ caps lock to esc เท่านั้น (นี่เป็นสิ่งที่ดีพอสำหรับกลุ่มผู้ใช้ของฉัน)
สำหรับ Ubuntu 16:04 (ด้วยสภาพแวดล้อม i3): สร้างไฟล์ ~ / .xessionrc พร้อมเนื้อหา
xmodmap -e "clear lock" #disable caps lock switch
xmodmap -e "keysym Caps_Lock = Escape" #set caps_lock as escape
~/.bashrcนั้นลงไปในระหว่างการรีสตาร์ทระบบ (ctrl:nocapsสำหรับฉันแม้ว่าสำหรับtmux)