จะปิดการพิมพ์อักขระพิเศษเมื่อกดปุ่มตัวเลือกใน MacOS X ได้อย่างไร [ปิด]


130

ตอนนี้เมื่อฉันกด option-b ฉันจะได้รับ∫ ฉันไม่จำเป็นต้องพิมพ์อักขระพิเศษและต้องการแมป option-b กับทางลัดไปยังแอพพลิเคชั่นบางตัว มีวิธีใดบ้างที่จะทำเช่นนี้?


26
ฉันใช้ IntelliJ และฉันต้องการจำลองแป้นพิมพ์ลัด emacs และฉันจับคู่เมตากับปุ่มตัวเลือก แต่เมื่อฉันกดพูดตัวเลือก -b ฉันได้รับพฤติกรรมที่คาดหวังเนื่องจากถูกตีความว่าเป็นอักขระพิเศษ
ximyu

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

25
เป็นเรื่องน่าขันที่การกระทำง่ายๆบน Macs นั้นยากเพียงใด วางแอปผิดในตัวเรียกใช้งาน - โชคดีที่ลบออกด้วยคำสั่ง SQL ต้องการปิดใช้งานทางลัดโง่ ๆ - เริ่มดาวน์โหลดและทดสอบโซลูชัน zillion ซึ่งไม่สอดคล้องกันใน OS เวอร์ชันต่างๆ พระเจ้าทำไมฉันถึงซื้อคอมพิวเตอร์ที่น่ากลัวนี้?
Vasiliy

3
สิ่งนี้ใช้ได้กับฉัน: superuser.com/a/942256/535138
김민준

1
สำหรับผู้ที่มีปัญหาในเครื่องให้ทำตามคำแนะนำนี้ -> superuser.com/questions/496090/…
A-letubby

คำตอบ:


34

ฉันมีปัญหาเดียวกันใน IDE เดียวกัน

วิธีแก้ปัญหานี้คือการดาวน์โหลด Ukulele จากที่นี่:

http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele

ในแอปพลิเคชันคุณสามารถสร้างรูปแบบคีย์ใหม่โดยใช้ไฟล์ -> ใหม่จากแหล่งที่มาปัจจุบัน กดเลือกที่จะแสดงให้คุณในสถานที่สำหรับตัวเลือก-B คีย์สีแดง - ความหมายมันเป็นกุญแจสำคัญที่ตายแล้ว การดับเบิลคลิกจะช่วยให้คุณสามารถเปลี่ยนจากคีย์ที่ตายแล้วเป็นคีย์เอาต์พุต เมื่อได้รับแจ้งสำหรับเอาต์พุตคุณสามารถใส่สิ่งเดียวกันได้ (โดยการกด Option-b)

ดังนั้นมันจะส่งออกอักขระเดียวกัน แต่จะไม่ถือเป็นคีย์ตายดังนั้น Intellij สามารถผูกเป็นทางลัดได้

ในการเปิดใช้งานเลย์เอาต์ใหม่ของคุณคุณต้องบันทึกลงใน~ / Library / Keyboard Layouts ของคุณ (จะช่วยได้ถ้าคุณตั้งชื่อใหม่ด้วย Keyboard -> Set Keyboard Name) จากนั้นเปิดใช้งานจาก System Preferences -> Language & Text


15
นี่เป็นงานจำนวนมากและแก้ไขคำสั่งผสมคีย์เดียวในแอปเดียวเท่านั้น ฉันและอย่างน้อยคนอื่น ๆ บางคนต้องการที่จะปิดการใช้งานการเลือกใช้การป้อนอักขระพิเศษบน mac
javadba

@javadba มันไม่ได้แย่ขนาดนั้นหลังจากที่ฉันทำถูกแล้ว ดูคำตอบของฉันด้านล่างสำหรับขั้นตอนโดยละเอียดซึ่งควรจะรวดเร็วในการคลิกผ่าน
Peter Lamberg

ฉันได้เพิ่มคำตอบพร้อมขั้นตอนโดยละเอียดในสิ่งที่ @SebastianZaha อธิบายในคำตอบนี้ ฉันลงเอยด้วยการอึกอักเล็กน้อยเพื่อทำให้เสร็จดังนั้นหวังว่ามันจะช่วยใครบางคน (และในภายหลังฉัน) ปัญหาได้บ้าง
Peter Lamberg

74

คุณสามารถสร้างการแมปแป้นพิมพ์แบบกำหนดเองโดยตั้งค่าตัวเลือกทั้งหมดเป็น BLANKโดยใช้เครื่องมือออนไลน์จากหน้าเว็บนี้ คุณสามารถสร้างการแมปแบบกำหนดเองได้ในหลาย ๆ คลิกจากรูปแบบแป้นพิมพ์เกือบทั้งหมด พิสูจน์แล้วว่าทำงานบน MacOSX 10.7+ ด้วย IntelliJ Idea, Php / WebStorm, NetBeans, Eclipse

เลือกวิทยุ"ตั้งค่าว่างสำหรับคีย์ตัวเลือก"ในแบบฟอร์มส่งแบบฟอร์มและดาวน์โหลดรูปแบบแป้นพิมพ์ที่ได้รับการแก้ไขโดยปิดใช้คุณลักษณะคีย์ "ตัวเลือก" ฉันกำลังแชร์ไฟล์การทำงานสำหรับรูปแบบแป้นพิมพ์ภาษาอังกฤษแบบสหรัฐอเมริกามาตรฐาน:

หลังจากเปิดใช้งานการแมปแบบกำหนดเองนี้แล้วหากคุณพิมพ์ตัวอักษรโดยกดปุ่ม "option" จะไม่มีการพิมพ์ออกมาในเอาต์พุตข้อความ แต่ "ปุ่มตัวเลือกกด" ถูกเรียกใช้โดยระบบปฏิบัติการและตรวจพบโดย IDE ของคุณ ดังนั้นคุณจะได้รับพฤติกรรมเดียวกันกับที่คุณมีสำหรับปุ่มคำสั่งอื่น ๆ !

  1. My Layout.keylayoutดาวน์โหลดไฟล์ที่สำคัญการทำแผนที่
  2. ย้ายไปที่ ~/Library/Keyboard\ Layouts/
  3. เปิดSystem Preferences->Language & Text
  4. ไปที่Input Sources-> (hit +)->Select Others
  5. คุณควรจะพบMy Layoutในรายการและเลือก

ขั้นตอนที่ 4 สามารถเปลี่ยนแปลงได้เล็กน้อยในเวอร์ชัน MacOS โปรดอดใจรอเพื่อค้นหารายการรูปแบบแป้นพิมพ์ในการตั้งค่า


1
@javadba ฉันได้แก้ไขคำตอบแล้ว ขอบคุณสำหรับความคิดเห็นของคุณ!! สิ่งต่างๆอาจเปลี่ยนแปลงได้เมื่อใช้ OS เวอร์ชันใหม่
แดน

5
ลิงก์ดรอปบ็อกซ์ดูเหมือนจะใช้งานไม่ได้ในขณะนี้
Andrew White

2
ไม่สามารถใช้งานได้ ฉันสามารถเพิ่มเลย์เอาต์คีย์ใหม่ในรายการได้ แต่ฉันไม่สามารถลบเลย์เอาต์ 'US' เริ่มต้นได้ดังนั้นมันจะไม่ใช้เลย์เอา
ต์

12
นี่ใช้ไม่ได้ใน 10.11 อีกต่อไป ฉันสร้างไฟล์เลย์เอาต์ในgist.github.com/haosdent/573ea124e5ea666fc576ซึ่งใช้งานได้ใน 10.11
haosdent

1
ไม่ได้ผลสำหรับฉัน แทนที่จะพิมพ์ option + r ®ตอนนี้พิมพ์เป็นrIntelliJ :(
Navin

35

นี่คือขั้นตอนโดยละเอียดสำหรับคำตอบของ Sebastian Zaha (ฉันรู้สึกสับสนเล็กน้อยก่อนที่จะทำงานนี้)

(หรือนี่คือไฟล์สำเร็จรูปโดยฉัน )

  1. ดาวน์โหลดUkelele
  2. คุณสามารถเรียกใช้โดยตรงจากไฟล์. dmg
  3. ไฟล์ -> ใหม่ตามแหล่งอินพุตปัจจุบัน (ฉันเลือกสหรัฐฯ)
  4. คลิกปุ่มตัวปรับเปลี่ยน
  5. เลือกแต่ละปรับปรุงจากรายการที่มีการลงซ้ายหรือขวาลงในคอลัมน์ตัวเลือก (อาจมีบางอย่างเช่นลงหรือขึ้นด้วย แต่ AFAIK คุณสามารถออกจากสิ่งเหล่านั้นได้)
    • กดปุ่มลบสำหรับแต่ละอันเช่นนี้
  6. ไปที่เมนูแป้นพิมพ์ -> ตั้งชื่อแป้นพิมพ์
  7. เปลี่ยนชื่อเพื่อให้ง่ายต่อการระบุ
  8. ไปที่ไฟล์ -> บันทึกเป็น
  9. บันทึกลงใน ~ / Library / Keyboard \ Layouts / พร้อมคำต่อท้าย. keylayout
  10. ออกจากระบบบัญชี Mac OS ของคุณ
  11. กลับเข้าสู่ระบบ
  12. ไปที่ System Preferences -> Keyboard -> Input Sources
  13. กดปุ่ม + -> อื่น ๆ -> เค้าโครงใหม่ของคุณควรพร้อมใช้งาน
  14. เพิ่มเค้าโครงใหม่
  15. อาจออกจากรูปแบบแป้นพิมพ์ดั้งเดิมและกำหนดค่าวิธีที่ดีในการเปลี่ยน

1
นี่เป็นทางออกเดียวที่ใช้ได้ผลสำหรับฉันและอนุญาตให้ฉันเชื่อมต่อคอมโบหลักกับคำสั่งที่เหมือน Emacs
event_jr

@event_jr คุณตอบกลับพฤติกรรมของ emacs ได้อย่างไร? เมื่อคุณกดตัวเลือกค้างไว้และคลิกที่ b ระบบจะขอเอาต์พุตสำหรับชุดค่าผสมนั้น เราจะบอกได้อย่างไรว่าผลลัพธ์คือการย้อนกลับคำ?
สหัส

1
ตามที่ฉันแสดงความคิดเห็นข้างต้นสิ่งนี้ไม่ได้ช่วยฉันแก้ไขทางลัดใน IDEA บน Yosemite ด้วย ฉันกลัวว่าพวกเขาเปลี่ยนแปลงบางอย่างในเวอร์ชันที่ใหม่กว่าและตอนนี้ก็ไม่สามารถแก้ไขได้ ฉันใช้ IntelliJ IDEA 14.1.2 บน OS X Yosemite 10.10.3
Innokenty

1
@Innokenty แปลกดี. ฉันใช้ OSX 10.10.3 และ IDEA 14.1.2 และการผูกแบบ emacs ของฉันทำงานได้ ฉันนำการกำหนดค่า IDEA มาจากเครื่อง windows และไฟล์. keylayout สร้างขึ้นโดยใช้ OSX เวอร์ชันเก่ากว่า หนึ่งในนั้นอาจเป็นสาเหตุได้หรือไม่? นี่คือไฟล์เลย์เอาต์ของฉัน
Peter Lamberg

1
ใน OS X 10.10.5 ฉันไม่เห็น "Left Down" หรือ "Right Down" ในคอลัมน์ "Option": เพียงแค่ "Either Down" ฉันลบสิ่งเหล่านั้นออกทั้งหมดและตอนนี้มีการเชื่อมโยงแป้นพิมพ์แบบ Emacs ที่ทำงานใน IntelliJ ฉันหวังว่าฉันจะเข้าใจว่าการลบแถวเหล่านั้นหมายถึงอะไร แต่เนื่องจากมันง่ายที่จะเปลี่ยนวิธีการป้อนข้อมูลหากฉันประสบปัญหาฉันจะไปด้วย ขอบคุณ
ดวลเครื่องหมาย

12

ใช้Ctrl-Alt-<MNEMONIC>. IMHO ง่ายกว่าการติดตั้งและกำหนดค่าแอปแยกต่างหาก


2
ดีแล้วที่รู้. อย่างไรก็ตามสิ่งนี้ไม่น่าพอใจอย่างสมบูรณ์หากการรวมกันของปุ่ม Ctrl-Alt- มีฟังก์ชัน
Peter Lamberg

4
สำหรับ CTRL + ALT ของ IDE นั้นน่าจะใช้ไปแล้วดังนั้นคุณต้องกำหนดค่า IDE ของคุณใหม่ซึ่งจะต้องเจ็บปวดเท่ากับการต้องกำหนดค่าแอปอื่น ๆ
ARKBAN

คำตอบนี้คือสิ่งที่คุณจะได้รับหากคุณถาม JetBrains
Kirby

9

ฉันมีวิธีแก้! วางไฟล์ที่: ~/Library/KeyBindings/DefaultKeyBinding.dictas:

/* ~/Library/KeyBindings/DefaultKeyBinding.dict */
 {
    /* Additional Emacs bindings */
    "~f" = "moveWordForward:";
    "~b" = "moveWordBackward:";
    "~<" = "moveToBeginningOfDocument:";
    "~>" = "moveToEndOfDocument:";
    "~v" = "pageUp:";
    "~d" = "deleteWordForward:";
    "~^h" = "deleteWordBackward:";
    "~\010" = "deleteWordBackward:";  /* Option-backspace */
    "~\177" = "deleteWordBackward:";  /* Option-delete */

    /* Escape should really be complete: */
    "\033" = "complete:";  /* Escape */        
}

มันจะซ่อนการป้อนข้อความต้นฉบับ แต่คุณยังสามารถทำได้โดยใช้ Ctrl-Q ก่อนการรวมกัน ดังนั้น Ctrl-Q Alt-f จึงยกตัวอย่างƒให้ฉัน อันที่จริงฉันกำลังเขียนคำตอบนี้โดยเปิดใช้งานการเชื่อมโยงปุ่มตัวเลือก คุณยังสามารถเพิ่มคีย์อื่น ๆ ที่คุณชอบได้อีกด้วย! ข้อมูลอ้างอิงอย่างเป็นทางการ: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html

นี่คือรายการดีๆที่คุณสามารถผูกเข้ากับ: https://www.hcs.harvard.edu/~jrus/site/selectors.html

อ้อถ้าคุณผูกกุญแจเข้ากับการกระทำที่ไม่ได้กำหนดแอปพลิเคชันของคุณจะมีหน่วยความจำรั่วและระบบของคุณจะไม่มีหน่วยความจำในไม่กี่วินาที ผ่านการทดสอบกับ el capitan ด้วยวิธีที่ยาก


5

ฉันมีปัญหาเดียวกันกับ Macbook เครื่องใหม่ที่มี VSCode ซึ่งทำงานได้ดีกับ Macbook เครื่องเก่าของฉัน เมื่อฉันพิมพ์ alt-shift-f สำหรับรูปแบบฉันได้รับ Unicode แทน ฉันตระหนักถึงความแตกต่างคือ Macbook เครื่องเก่าของฉันมีการตั้งค่าแป้นพิมพ์ภาษาอังกฤษแทนค่าเริ่มต้น "ABC - Extended" การเพิ่มแป้นพิมพ์ภาษาอังกฤษช่วยแก้ปัญหาให้ฉันได้


ฉันลองแล้ว แต่ยังคงมีตัวละครที่น่ารำคาญกับตัวอย่างเช่น Option + N ใน Intellij IDEA
Amir Eldor

2

การใช้ Apple JRE การกดปุ่ม Option จะทำงานเป็นทางลัดแทนการแทรกอักขระพิเศษ

ลิงค์ดาวน์โหลด: https://support.apple.com/kb/DL1572?locale=en_US

เป็น JRE เก่าที่ล้าสมัย (ใช้ Java 6) แต่เมื่อเดือนตุลาคม 2015 ยังคงเป็นสิ่งที่ดูเหมือนจะทำงานได้ดีที่สุดเมื่อติดตั้ง JetBrains RubyMine ของฉัน (อย่างอื่นปุ่มจะกลับไปที่การแทรกอักขระพิเศษ)


0

ฉันพบวิธีแก้ปัญหาที่เหมาะสมแล้ว ฉันใช้ซอฟต์แวร์ Karabiner เพื่อเปลี่ยนปุ่ม Enter ด้านขวาเพื่อควบคุมเมื่อกดค้างไว้

ดังนั้นสิ่งที่ iv ทำคือการแมปคีย์ตัวเลือกใหม่เป็น option + cmd + control เนื่องจากฉันไม่ทราบคำสั่งใด ๆ ที่ใช้ตัวปรับแต่งทั้งสาม ตอนนี้ฉันสามารถแมปทางลัดที่ถูกต้องโดยไม่ต้องใช้อักขระใด ๆ แต่คุณสามารถแมปกับคีย์เพิ่มเติมได้หากจำเป็น

เพิ่มสิ่งนี้ใน private.xml ของคุณ: (อยู่ระหว่างรูท)

<item>
<name>Change option Key to cmd + control + option</name>
<identifier>private.optiontoelse</identifier>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_L, 
    KeyCode::OPTION_L, ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_R, 
    KeyCode::OPTION_R, ModifierFlag::CONTROL_R | ModifierFlag::COMMAND_R</autogen>
</item>

จากนั้นโหลด xml ใหม่และเปิดใช้งานตัวเลือกที่ด้านบนของแท็บ 'เปลี่ยนคีย์'

https://pqrs.org/osx/karabiner/


-2

ใช้ ABC เป็นวิธีการป้อนข้อมูลแทน ABC-Extended จากนั้นตัวเลือก + [ถ่าน] จะสามารถใช้ทางลัดของแอปพลิเคชันแทนการแสดงอักขระพิเศษ


คำตอบนี้ช่วยฉันได้แทนที่จะใช้ ABC-Locale หรือ ABC-Extended ฉันใช้ ABC
Code Name Jack

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