ในอดีตฉันเคยใช้xmodmap
เพื่อป้องกันไม่ให้Caps Lockปุ่มทำงานและบอกLaunchyให้จัดการกับการกดปุ่มแทน ฉันไม่สามารถทำสิ่งนี้ได้อีกต่อไป
อะไรคือวิธีที่ดีที่สุดในการปิดใช้งานCaps Lockพฤติกรรมปกติและทำอย่างอื่น
ในอดีตฉันเคยใช้xmodmap
เพื่อป้องกันไม่ให้Caps Lockปุ่มทำงานและบอกLaunchyให้จัดการกับการกดปุ่มแทน ฉันไม่สามารถทำสิ่งนี้ได้อีกต่อไป
อะไรคือวิธีที่ดีที่สุดในการปิดใช้งานCaps Lockพฤติกรรมปกติและทำอย่างอื่น
คำตอบ:
จากhowtogeek.comซึ่งมีคำตอบที่ดีสำหรับระบบปฏิบัติการใด ๆ
สำหรับ Linux (รวมถึง Ubuntu):
setxkbmap -option <OPTION>
ไหน<OPTION>
สามารถสำหรับตัวอย่างของ:
caps:none
- ปิดใช้งาน Caps Lockcaps:super
- Caps Lock กลายเป็นSuperเพิ่มเติม(aka Win key)caps:ctrl_modifier
- Caps Lock กลายเป็นเพิ่มเติมCtrlcaps:numlock
- Caps Lock กลายเป็นNum Lockเพิ่มเติมcaps:escape
- Caps Lock กลายเป็นเพิ่มเติมหนีcaps:backspace
- Caps Lock กลายเป็นเพิ่มเติมBackspacecaps:swapescape
- Caps Lock กลายเป็น Escape และ Escape จะกลายเป็น Caps Lockหมายเหตุ: Xmodmap ถูกคัดค้าน setxkbmap
setxkbmap
การเปลี่ยนแปลงใด ๆ(เช่นถ้าคุณต้องการคีย์ Caps ของคุณกลับไปยังตำแหน่งเดิม) คุณเพียงแค่เรียกใช้สิ่งนี้:setxkbmap -option
setxkbmap -option caps:backspace
ป้อนxset r 66
และvoilá
xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'
ยังใช้งานได้หรือไม่
gnome-tweak-tool
คุณจะมีการตั้งค่าที่คล้ายกันภายใต้ "การพิมพ์"
คุณสามารถปิดการใช้งานได้โดยไปที่ keyboard-> Layouts-> options-> ลักษณะการทำงานของการล็อกตัวพิมพ์ใหญ่และเลือก "ปิดการใช้งานตัวพิมพ์ใหญ่"
แก้ไข :
ฉันไม่รู้ว่าทำไมมันดูไม่สะดวกกับแป้นคีย์บอร์ดอื่น
แต่ Launchy ทำงานได้ดีกับฉันหลังจากที่พยายามด้วยCTRL+ +SuperSpace
และคุณต้องทำรายการขาวlaunchy
ให้กับไอคอนถาด ดูฉันจะเข้าถึงและเปิดใช้งานไอคอนเพิ่มเติมให้อยู่ในถาดระบบได้อย่างไร . นอกจากนี้คุณต้องเพิ่มลงในแอปพลิเคชันเริ่มต้นเนื่องจากจะไม่ทำงานเมื่อไม่ได้เปิด
ท้าย ที่สุดก็เป็นอีกทางเลือกหนึ่งของ Launcy ลองใช้ไซแนปส์เพื่อการผสานรวมที่ดีที่สุดกับคำพังเพยและความสามัคคี
นี้เป็นพื้นการเปลี่ยนแปลงของคำตอบที่มีให้ ณhttps://askubuntu.com/a/223674/22073
XKBOption
นอกจากนี้คุณยังสามารถปรับเปลี่ยนพฤติกรรมของฝาล็อคใช้ การเปลี่ยนแปลงเหล่านี้จะถูกนำไปใช้กับคอนโซลเสมือน (/ dev / tty [1-6] หรือ Ctrl-Alt-F [1-6])
ตัวอย่างเช่นหากต้องการปิดใช้งาน Caps Lock คุณจะต้องมีสิ่งต่อไปนี้ใน/etc/default/keyboard
:
# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.
# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:none"
# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap. Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz
จากนั้นคุณจะเรียกใช้:
sudo dpkg-reconfigure keyboard-configuration
สำหรับรายชื่อเต็มของการปรับแต่งของ XKBOPTIONS /usr/share/X11/xkb/rules/base.lst
ที่จะดูที่ นี่คือรายการเต็มรูปแบบจากเครื่อง Ubuntu 13.10 ของฉัน: http://sprunge.us/cUZO
ข้อมูลเพิ่มเติมสามารถพบได้ใน ArchLinux wiki: https://wiki.archlinux.org/index.php/Keyboard_Configuration_in_Xorg
XKBOPTIONS="ctrl:swapcaps"
สลับ Ctrl ซ้ายกับ Caps
หากต้องการตั้งค่า caps_lock ที่ไม่มีประโยชน์ให้เป็นการเปลี่ยนพื้นฐานให้ทำ
xmodmap -e "keycode 66 = Shift_L"
วิธีการต่อไปนี้ใช้การผสมผสานของ Compiz เพื่อเรียกใช้แอปพลิเคชันเมื่อมีการกดปุ่ม
สรุป -
เปลี่ยนพฤติกรรมของปุ่ม Caps Lock ด้วยคุณสามารถใช้xmodmap
ดังนี้
keycode 66 = cent clear Lock add Control = cent
xmodmap capslock
หากต้องการรันอย่างถาวรให้เพิ่มคำสั่งนี้ไปยังแอ็พพลิเคชันเริ่มต้น
กดปุ่ม Caps Lock ตอนนี้แค่เลียนแบบการกดปุ่ม "cent" โปรดทราบว่านี่ไม่ใช่กุญแจที่มีอยู่จริงบนแป้นพิมพ์ของฉัน
คุณสามารถได้รับรายชื่อของชื่อ keysym จากที่นี่
เริ่มตัวจัดการการตั้งค่า CompizConfig
ในส่วนทั่วไปตรวจสอบให้แน่ใจว่า "คำสั่ง" เปิดใช้งานและกำหนดค่าคำสั่งตามที่แสดง:
NB เปิดใช้งานการรวมคีย์และใช้ "การรวมคีย์การจับ" เพื่อจดจำคีย์ "cent" ของคุณ คุณไม่สามารถรับ compiz ให้จดจำปุ่ม cap lock ได้อย่างน่าเสียดาย
ชัดเจน - เปลี่ยน "firefox" สำหรับคำสั่งใดก็ตามที่คุณใช้เพื่อเริ่ม "launchy"
ตอนนี้เมื่อคุณกดปุ่ม Caps Lock compiz จะรับรู้คีย์ "cent" ที่แมปและเรียกใช้คำสั่ง - ในกรณีนี้ firefox - ในกรณีของคุณ "launchy"
ใช้คำสั่ง xev เมื่อคุณกด Enter, xev จะเปิดขึ้น xev นำข้อมูลอินพุตและ Poops ทั้งหมดของคุณเกี่ยวกับคีย์ไปยังบรรทัดรับคำสั่ง ฉันแนะนำให้นำเม้าส์ไปที่ปุ่มออกของหน้าต่าง xev, กดปุ่ม caps lock (หรือปุ่มใด ๆ ที่คุณต้องการหาข้อมูล), และออกจาก xev ทันที บรรทัดที่เกี่ยวข้องในระบบของฉันสำหรับตัวพิมพ์ใหญ่ดูคล้ายกับ:
KeyPress event, serial 36, synthetic NO, window 0x4400001,
root 0x27a, subw 0x0, time 19164277, (16,-9), root:(1156,46),
state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4400001,
root 0x27a, subw 0x0, time 19164397, (16,-9), root:(1156,46),
state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
ประกาศkeycode
(66) และkeysym
(0xffe5)
ตอนนี้คุณสามารถรับข้อมูลสำหรับคีย์อื่น - อันที่คุณไม่ได้ใช้จริง ๆ และในบริบทที่คุณต้องการใช้ปุ่ม caps lock ในไม่ทำอะไรเลย ดังนั้นหากคุณต้องการให้แคปล็อคเปิดใช้งาน Unity searchbox (เช่น super ปกติแล้ว) อาจใช้ `ตัวอย่างเช่น บนเครื่องของฉัน:
keycode 49 (keysym 0x60, grave)
ผูกฟังก์ชั่นของคีย์ใหม่เข้ากับปุ่ม Caps Lock โดยใช้ xmodmap ฉันค่อนข้างมั่นใจว่าคุณต้องการใช้คำสั่งเช่น:
xmodmap -e "keycode 66=0x60"
ตอนนี้ถ้าคุณกดปุ่มล็อคตัวพิมพ์ใหญ่ในกล่องข้อความอักขระหลุมศพ (`) จะปรากฏขึ้น แต่ถ้าคุณแมปปุ่มทางลัดเข้ามันจะทำอย่างอื่น หากคุณต้องการที่จะใช้มันในกล่องข้อความอาจแทนที่ตัวพิมพ์ใหญ่ด้วยการเลื่อนด้านซ้ายหรือ f10 หรืออย่างอื่นที่ดูเหมือนจะไม่รบกวนการทำงานของคำสั่งที่คุณต้องการ
ทดสอบเพื่อให้แน่ใจว่าคำสั่งที่ฉันให้คุณทำงานตามที่คุณต้องการ
ไปที่แอปพลิเคชันเริ่มต้นและเพิ่มคำสั่งนั้นลงในแอปพลิเคชันเริ่มต้นของคุณ ด้วยวิธีนี้คีย์จะสลับอย่างถูกต้องทุกครั้งที่คุณเปิดเครื่อง
เต้นรำ.
(ตะโกนออกมาด้วยความประหลาดใจ) เปลี่ยน Keybindings (ฮาร์ดแวร์กับซอฟต์แวร์)
นอกจากนี้สำหรับความช่วยเหลือเพิ่มเติมเกี่ยวกับ xmodmap:
Ubuntu 16.04
setxkbmap -option <OPTION>
จากคำตอบของ Wernight ดูเหมือนจะทำงานได้ทันทีสำหรับฉัน
อย่างไรก็ตามมันจะหายไปเมื่อรีบูต เพื่อที่อยู่นี้ฉันได้เพิ่มลงในโปรแกรมเริ่มต้น
Startup Applications
>> คลิกเพิ่ม/usr/bin/setxkbmap -option <OPTION>
เป็นคำสั่ง (หมายเหตุ: เส้นทางแบบเต็มเป็นสิ่งสำคัญ)แทนที่<OPTION>
ด้วยสิ่งที่ชอบcaps:escape
(ฉันใช้สำหรับ vi)
พื้นหลัง
ฉันเพิ่งอัพเกรดจาก 15.10 เป็น 16.04 และสิ่งที่ฉันใช้ในการทำแผนที่สิ่งนี้ก่อนที่จะหยุดทำงาน
ตัวเลือกที่ฉันพบว่าดีที่สุดสำหรับฉัน (ใน X ที่รองรับ wm / de ใด ๆ ) กำลังเพิ่ม
Option "XkbOptions" "caps:swapescape"
ข้างใน
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "US"
Option "XkbOptions" "caps:swapescape" # << is what you want
EndSection
บล็อกใน /etc/X11/xorg.conf.d/00-keyboard.conf (สร้างหากจำเป็น)
ในขณะที่แน่นอนว่าตัวเลือก xmodmap จะใช้งานได้ฉันต้องการค้นหาตัวเลือกที่ใช้ GUI สิ่งนี้มีให้สำหรับฉัน (ใช้ Ubuntu 15.10):
ทางออกที่แข็งแกร่งที่สุดคือการซื้อแป้นพิมพ์ที่ให้คุณทำการแมปคีย์ในเฟิร์มแวร์เช่นคีย์บอร์ดแบบมืออาชีพที่ตั้งโปรแกรมได้
สิ่งเหล่านี้มักจะมีราคาประมาณ 200 bucks และยังมีสวิตช์กุญแจแบบกลไกระดับสูง พวกเขามีราคาแพง แต่เป็นวิธีเดียวที่จะหลีกเลี่ยงการต่อสู้กับสิ่งนี้ในทุกเครื่องใหม่ที่คุณนั่งลงและทุกครั้งที่นักพัฒนาทำการเปลี่ยนแปลงโครงสร้างพื้นฐานของระบบปฏิบัติการเป็นพื้นฐานเช่นเดียวกับแผนที่แป้นพิมพ์