ฉันจะCaps LockทำงานเหมือนEscใน Mac OS X ได้อย่างไร
Ctrl + [
esc
มีประโยชน์สำหรับเป็นกลุ่ม
ฉันจะCaps LockทำงานเหมือนEscใน Mac OS X ได้อย่างไร
Ctrl + [
esc
มีประโยชน์สำหรับเป็นกลุ่ม
คำตอบ:
แก้ไข:ดังที่อธิบายไว้ในคำตอบนี้ MacOS เวอร์ชันใหม่กว่านี้มีการรองรับดั้งเดิมสำหรับการเชื่อมCaps Lockต่อEscapeใหม่ ดังนั้นจึงไม่จำเป็นต้องติดตั้งซอฟต์แวร์บุคคลที่สามอีกต่อไปเพื่อให้บรรลุเป้าหมายนี้
ต่อไปนี้เป็นความพยายามของฉันที่จะให้คำตอบที่ครอบคลุมและมองเห็นได้ (พร้อมลิงก์) เกี่ยวกับวิธีการบรรลุสิ่งนี้โดยใช้Seil (เดิมชื่อPCKeyboardHack
)
ในกล่องโต้ตอบป็อปอัปตั้งค่าCaps Lock Keyเป็นNo Action
:
2) ตอนนี้คลิกที่นี่เพื่อดาวน์โหลดSeilและติดตั้ง:
3) หลังจากการติดตั้งคุณจะมีแอปพลิเคชันใหม่ติดตั้ง (Mountain Lion และใหม่กว่า) และหากคุณใช้ระบบปฏิบัติการรุ่นเก่าคุณอาจต้องตรวจสอบบานหน้าต่างการตั้งค่าระบบใหม่:
4) ทำเครื่องหมายในช่องที่ระบุว่า "Change Caps Lock" และป้อน "53" เป็นรหัสสำหรับรหัส Escape:
และคุณทำเสร็จแล้ว!หากไม่สามารถใช้งานได้ทันทีคุณอาจต้องรีสตาร์ทเครื่อง
คุณอาจต้องการตรวจสอบKeyRemap4MacBookซึ่งเป็นเครื่องมือการแมปแป้นพิมพ์ธงจริงpqrs.org
- ฟรี
หากคุณชอบเครื่องมือเหล่านี้คุณสามารถบริจาคได้ได้ ฉันไม่มีส่วนเกี่ยวข้องกับพวกเขา แต่ฉันใช้เครื่องมือเหล่านี้มาเป็นเวลานานและต้องบอกว่าคนที่นั่นทำงานที่ยอดเยี่ยมในการดูแลรักษาสิ่งเหล่านี้ได้เพิ่มคุณสมบัติและแก้ไขข้อบกพร่อง
ต่อไปนี้เป็นภาพหน้าจอเพื่อแสดงตัวเลือกที่เลือกล่วงหน้าได้หลายร้อยรายการ
PQRS ยังมียูทิลิตีที่ยอดเยี่ยมที่เรียกว่าNoEjectDelayซึ่งคุณสามารถใช้ร่วมกับKeyRemap4MacBookสำหรับการตั้งโปรแกรม Eject Key อีกครั้ง หลังจากปรับเปลี่ยนเล็กน้อยฉันมีชุดของฉันที่จะสลับ AirPort Wifi
ยูทิลิตี้เหล่านี้มีความยืดหยุ่นไม่ จำกัด เมื่อทำการแมปแป้นพิมพ์ Mac ใหม่ มีความสุข!
CTRL-[
เป็นจริงที่เทียบเท่ากับ ESC stackoverflow.com/questions/5030164/…
ตั้งแต่ MacOS 10.12.1 มันเป็นไปได้ที่จะทำการแมปCaps Lockที่จะEscกำเนิด (การตั้งค่าระบบ -> แป้นพิมพ์ -> Modifier Keys)
ฉันไม่พอใจกับคำตอบใด ๆ ที่นี่และไปหาโซลูชันบรรทัดคำสั่งวิธีการแก้ปัญหาบรรทัดคำสั่ง
ใน macOS Sierra 10.12, Apple แนะนำวิธีใหม่สำหรับผู้ใช้ในการแมปคีย์ใหม่
hidutil
ถ้าว่าเสียงที่ดีให้คุณดูที่
ตัวอย่างเช่นหากต้องการทำการแมป caps-lock ใหม่เพื่อหนีให้อ้างอิงตารางคีย์และพบว่า caps-lock มีรหัสการใช้งาน 0x39 และ Escape มีรหัสการใช้งาน 0x29 ใส่รหัสเหล่านี้หรือด้วยค่าเลขฐานสิบหก 0x700000000 ในแหล่งที่มาและปลายทางดังนี้:
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x700000029}]}'
คุณสามารถเพิ่มการแมปอื่น ๆ ในคำสั่งเดียวกัน โดยส่วนตัวฉันชอบทำการแมปตัวพิมพ์ใหญ่เพื่อกลับไปด้านหลังและทำการแมปแบบย้อนกลับเพื่อทำการลบ:
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000002A}, {"HIDKeyboardModifierMappingSrc":0x70000002A,"HIDKeyboardModifierMappingDst":0x70000004C}]}'
วิธีดูแผนที่ปัจจุบัน:
hidutil property --get "UserKeyMapping"
การเปลี่ยนแปลงของคุณจะหายไปเมื่อระบบรีบูท หากคุณต้องการให้พวกเขายังคงอยู่ใส่พวกเขาในสคริปต์และตั้งค่าเบ็ดเข้าสู่ระบบ:
sudo defaults write com.apple.loginwindow LoginHook /path/to/login_script.sh
LoginHook
- ฉันเดาว่าอาจมีบางสิ่งหลังจากที่มันดำเนินการเลือกการตั้งค่าแป้นพิมพ์ท้องถิ่นสำหรับแป้นพิมพ์สแกนดิเนเวีย อย่างไรก็ตามstackoverflow.com/a/22872222/874188โน้ตที่LoginHook
เลิกใช้แล้วและสนับสนุนให้ใช้launchd
แทน
มันเป็นไปได้.
จากarcticleบน TrueAffection.net
- ดาวน์โหลด PCKeyboardHack และติดตั้ง
- ไปที่ PCKeyboardHack ในการตั้งค่าระบบ
- เปิดใช้งาน 'Change Caps Lock' และตั้งรหัสเป็น 53
โซลูชันนี้ไม่ได้เกี่ยวข้องกับการแพตช์ไดรเวอร์ของคีย์บอร์ด แต่จะให้โซลูชันเฉพาะกับ Vim แก่คุณ
OS X รองรับการจับคู่ปุ่ม Caps Lock กับพวงกุญแจทั้งหมด แต่คุณต้องทำ 'ด้วยมือ' เพื่อแก้ไขไฟล์. plist กระบวนการอธิบายไว้ในบทความนี้บทความนี้ในส่วนเพิ่มเติมของคำใบ้นั้นฉันขอแนะนำให้คุณตั้งค่า Caps-Lock เป็น None ในการตั้งค่าระบบจากนั้นคุณจะต้องเปลี่ยนค่าเดียวในไฟล์. plist นอกจากนี้คุณสามารถใช้ตัวแก้ไขรายการคุณสมบัติแทนการทำตามขั้นตอนการแปลง XML
เคล็ดลับคือการแมปปุ่ม Caps Lock กับปุ่มวิธีใช้ (รหัส 6) ซึ่งไม่ได้อยู่บนแป้นพิมพ์ส่วนใหญ่ แต่ถ้าเป็นเช่นนั้นมันจะถูกใช้เป็นปุ่มแทรกซึ่งคุณอาจไม่ได้ใช้เนื่องจากคุณถามเกี่ยวกับการกำหนดค่า Caps Lock ใหม่เพื่อป้องกันไม่ให้มือยืด;)
จากนั้นคุณสามารถแมปวิธีใช้และInsertปุ่มไปEscเป็นกลุ่ม
map <Help> <Esc>
map! <Help> <Esc>
map <Insert> <Esc>
map! <Insert> <Esc>
ใช้งานได้กับ gvim (Vim.app) ฉันไม่ได้ทำงานกับ vim ใน Terminal และไม่ได้ทดสอบกับ MacVim
ดังนั้นจึงเป็นวิธีการแก้ปัญหาที่ซับซ้อนเบาบางหรือติดตั้งชิ้นส่วนของบุคคลที่สาม สิ่งที่คุณเลือก;)
แก้ไข: เพียงแค่การแก้ปัญหาการสังเกต 3 ถ้าคุณกำลังใช้MacVimคุณสามารถใช้Ctrl, Optionและเป็นCommand Escด้วยการตั้งค่าระบบมันเป็นเรื่องสำคัญที่จะจับคู่ Caps Lock กับหนึ่งในคีย์เหล่านั้น
ตอนนี้มันง่ายกว่ามากในการแมปCaps LockกุญแจEscกับ macOS Sierra
เปิดการตั้งค่าระบบ→คีย์บอร์ด
คลิกปุ่มตัวปรับเปลี่ยนที่มุมล่างขวา
คลิกช่องแบบเลื่อนลงถัดจากคีย์ฮาร์ดแวร์ที่คุณต้องการทำการแมปใหม่และเลือก Escape
คลิกตกลงและปิดการตั้งค่าระบบ
สิ่งเดียวที่ฉันรู้ว่าต้องทำคือทำแผนที่ Caps Lock to Control หรือ Option หรือ Command สามารถทำได้ผ่านบานหน้าต่าง Keyboard & Mouse ของ System Preferences คลิกที่ "ปุ่มปรับเปลี่ยน" ที่ด้านล่างซ้ายและคุณจะสามารถทำการตั้งค่า Caps Lock, ควบคุม, ตัวเลือกและคำสั่งอื่น ๆ
@Craig: นี่แสดงให้เห็นว่าสามารถใช้Caps Lock ได้ตามปกติ - นั่นคือไม่ใช่ปุ่มสลับ - ใน MacBook ของฉันเนื่องจากฉันได้ปรับเปลี่ยน Caps Lock to Control ใหม่แล้วไฟ Caps Lock จะไม่สว่างขึ้น มันทำหน้าที่เหมือนปุ่มควบคุม
Seil ยังไม่มีใน macOS Sierra (10.12 เบต้า) ด้วยเหตุนี้ฉันจึงใช้ Keyboard Maestro กับการตั้งค่าเหล่านี้:
ให้เครดิตกับความคิดเห็น GitHub นี้: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664
หลังจากลองใช้วิธีแก้ปัญหาหลายข้อเหล่านี้แล้วฉันก็มีหมายเหตุ:
DoubleCommandจะไม่อนุญาตให้คุณสลับ esc และ caps-lock
PCKeyboardHack จะช่วยให้คุณแมป Capslock เพื่อหลบหนีแต่ไม่มีความสามารถในการแม็พ escape ไปยัง capslock. เวอร์ชันล่าสุดจะอนุญาตให้คุณทำการสลับที่สมบูรณ์โดยแก้ไขทั้งสองปุ่ม
สิ่งนี้อาจหรืออาจไม่เพียงพอสำหรับความต้องการของคุณ (ฉันรู้ว่ามันเป็นของฉัน)
ในกรณีที่คุณไม่ต้องการติดตั้งแอพของบุคคลที่สามและคุณสนใจเฉพาะเสียงเรียกเข้าภายใน iTerm การทำงานต่อไปนี้:
ทำการแมป CapsLock เพื่อช่วยเหลือตามที่อธิบายไว้ที่นี่
เวอร์ชั่นสั้น: ใช้พลู ธ หรือคล้ายกันเพื่อแก้ไข~/Library/Preferences/ByHost/.GlobalPreferences*.plist
มันควรมีลักษณะคล้ายกับนี้:
<key>HIDKeyboardModifierMappingDst</key>
<integer>6</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>0</integer>
เริ่มต้นใหม่! การออกจากระบบและการเข้าสู่ระบบแบบง่ายไม่ได้ผลสำหรับฉัน
ใน iTerm ให้เพิ่มการจับคู่คีย์ใหม่สำหรับวิธีใช้: ส่งรหัสฐานสิบหก 0x1b ซึ่งสอดคล้องกับ Escape
ฉันรู้ว่านี่ไม่ใช่สิ่งที่ถูกถาม แต่ฉันถือว่าความตั้งใจของคนจำนวนมากที่กำลังมองหาวิธีการแก้ปัญหาเช่นนี้เป็นตัวแปรพิเศษที่พิเศษกว่านี้
เพื่อที่จะแลกเปลี่ยนคีย์ escape กับปุ่ม caps lock (ไม่ใช่เพียงแมปกับที่อื่น) โดยใช้ทั้ง PCKeyboardHack และ KeyRemap4MacBook คุณต้องทำตามคำแนะนำในชุดข้อความนี้ทำการจับคู่ปุ่ม caps lock กับรหัสที่ไม่ได้ใช้ แป้นพิมพ์ แต่คิดเป็น KeyRemap4MacBook (เช่น 110) จากนั้นใน PCKeyboardHack เลือกตัวเลือกที่เหมาะสมที่แมปรหัสลับที่จะหลบหนี (ในกรณีของ 110 คือ "Application Key to Escape") นี่เป็นลักษณะของการกำหนดค่าตามความชอบ KeyRemap4MacBook ของคุณ (หากคุณเลือกช่องทำเครื่องหมาย "เปิดใช้งานการแสดงเท่านั้น")
ฉันเดิมพยายามที่จะโพสต์ข้อมูลนี้เป็นแก้ไขเพื่อคำตอบที่ดี CWD ของแต่ก็ถูกปฏิเสธ ฉันขอแนะนำให้ทุกคนที่ต้องการไปเส้นทางที่ฉันอธิบายให้อ่านคำตอบของเขา / เธอก่อน
Seil ไม่ทำงานบน MacOS เซียยังดังนั้นฉันใช้Karabiner องค์ประกอบดาวน์โหลดจากhttps://pqrs.org/latest/karabiner-elements-latest.dmg
ใช้ GUI หรือใส่สิ่งต่อไปนี้ลงใน~/.karabiner.d/configuration/karabiner.json
:
{
"profiles" : [
{
"name" : "Default profile",
"selected" : true,
"simple_modifications" : {
"caps_lock" : "escape"
}
}
]
}
คุณยังสามารถใช้ DoubleCommand เพื่อทำการแมปใหม่นี้และปุ่มอื่น ๆ
IIRC มันจะแม็ป Caps Lock กับ Esc
เปิดการตั้งค่าคีย์บอร์ดและคลิกปุ่มตัวปรับเปลี่ยน ... คุณสามารถเปลี่ยนปุ่มแคปล็อคเพื่อควบคุมตัวเลือกหนีหรือคำสั่ง
Esc
และEscape
? (คำถามร้ายแรง)
Karabiner-Elements เครื่องมือปรับแต่งคีย์บอร์ดที่ทรงพลังและเสถียรสำหรับ macOS (ฟรีแวร์)
https://pqrs.org/osx/karabiner/index.html
ทำงานให้ฉันเพื่อโมฮาวีเพื่อเปลี่ยนตัวล็อคไปเป็นแบ็คสเปซ