เรามีคีย์บอร์ดตามหลักสรีรศาสตร์ในที่ทำงานซึ่งฉันไม่คุ้นเคยทั้งหมด ฉันดูเหมือนจะกดปุ่ม capslock ต่อไปในขณะที่ฉันอยู่vim
และมันก็เริ่มรำคาญ ฉันจะปิดการใช้งานคีย์นี้และหรือเปลี่ยนเป็นคีย์อื่นได้อย่างไร
เรามีคีย์บอร์ดตามหลักสรีรศาสตร์ในที่ทำงานซึ่งฉันไม่คุ้นเคยทั้งหมด ฉันดูเหมือนจะกดปุ่ม capslock ต่อไปในขณะที่ฉันอยู่vim
และมันก็เริ่มรำคาญ ฉันจะปิดการใช้งานคีย์นี้และหรือเปลี่ยนเป็นคีย์อื่นได้อย่างไร
คำตอบ:
วิธีปิดใช้งานที่รวดเร็วและสกปรกคือxmodmap
:
$ xmodmap -e 'clear Lock'
คำถามต่อไปคือสิ่งที่คุณต้องการจะทำกับมัน? ฉันมักจะทำให้มันเป็นCtrlกุญแจสำคัญ:
$ xmodmap -e 'keycode 66 = Control_L'
ขึ้นอยู่กับ DE / WM ของคุณอาจเป็นไปได้ในการกำหนดค่า GUI ตัวอย่างเช่น Gnome มีตัวเลือก "รูปแบบแป้นพิมพ์" บนแผงควบคุมพร้อมแท็บตัวเลือกที่มีการปรับเปลี่ยนรูปแบบที่คล้ายกันหลายแบบ
setxkbmap
คำตอบให้กับฉันแล้ว ...
xmodmap
ใช้
การตั้งค่าเพื่อปิดการใช้งาน capslock ของคุณคือ
remove Lock = Caps_Lock
สิ่งนี้จะอยู่ใน.xmodmap
ไฟล์ของคุณ
ตัวเลือกอื่น - เพื่อปิดการใช้งานชั่วคราวคุณสามารถใช้setxkbmap
ตัวเลือก:
setxkbmap -option ctrl:nocaps
จากนั้นเมื่อต้องการคืนค่าลักษณะการทำงานปกติ: setxkbmap -option
การใช้ xmodmap จะเปลี่ยนการเชื่อมโยงคีย์ขณะที่อยู่ใน X เท่านั้นหากคุณต้องการใช้บนคอนโซลมันต่างกันเล็กน้อย การเปลี่ยนแปลงด้านล่างจะแก้ไข X รวมถึงคอนโซลดังนั้นฉันจึงทำเช่นนี้เสมอ
สำหรับLinux ให้เพิ่มส่วนนี้ใน /etc/rc.local (หรือสร้างสคริปต์ init):
(echo $(dumpkeys |grep -i keymaps); echo keycode 58 = Control) | loadkeys -
สำหรับSolarisบนพีซีที่มีการแก้ไขแป้นพิมพ์ USB /usr/share/lib/keytables/type_6/reset
(สำหรับคีย์บอร์ดชนิดอื่นคุณควรแทนที่type_6
ด้วยประเภทที่เหมาะสม):
ค้นหาบรรทัดนี้:
key 57 all shiftkeys+capslock
แทนที่ด้วยสิ่งนี้:
key 57 all shiftkeys+leftctrl up shiftkeys+leftctrl
โดยปกติคุณสามารถแทนที่Controlด้วยรหัสที่คุณต้องการ
นี่คือส่วนหนึ่งของฉัน.xmodmaprc
ที่กลายCapsLockเป็นEscและในทางกลับกัน:
clear lock
keycode 9 = Caps_Lock ISO_Next_Group Caps_Lock ISO_Next_Group
keycode 66 = Escape NoSymbol Escape
add lock = Caps_Lock
คุณสามารถตรวจสอบรหัสได้โดยเรียกใช้xev
และเพียงแค่กดปุ่มที่คุณต้องการตรวจสอบ