ฉันจะทำการแมป Mac CMD ไปยังปุ่ม CTRL ใหม่อีกครั้งในแอปพลิเคชัน Remote Desktop Connection สำหรับ Mac ได้อย่างไร


58

บางครั้งฉันต้องใช้การเชื่อมต่อเดสก์ท็อประยะไกล Microsoft สำหรับ Mac สำหรับการเข้าถึงจากระยะไกลไปยังเครื่อง Windows 7 จาก iMac ที่ใช้ MacOS X 10.6.6 (Snow Leopard)

การทำให้สวิตช์ทางจิตใช้คีย์ควบคุมCTRLแทนที่คีย์คำสั่งCMDในขณะที่หน้าต่างเดสก์ท็อประยะไกล (เช่นCTRL- Cเพื่อคัดลอกแทนCMD- C) เป็นความเจ็บปวดและแหล่งที่มาของข้อผิดพลาดคงที่

ฉันต้องการที่จะสามารถที่จะทำแผนที่CMDที่สำคัญในการส่งออกCTRLที่สำคัญบน Mac ของฉัน แต่เพียงเมื่อมีการเข้าถึงการเชื่อมต่อสก์ท็อประยะไกลของ Microsoft สำหรับการประยุกต์ใช้ Mac การเชื่อมต่อเดสก์ท็อประยะไกลช่วยให้คุณสามารถจับคู่คีย์อื่น ๆ ผ่านการตั้งค่าของมัน . . แต่ไม่ใช่คีย์ CMD

เช่นในการประยุกต์ใช้ Mac อื่น ๆจะทำหน้าที่เหมือนCMD CMDอย่างไรก็ตามในไมโครซอฟท์เชื่อมต่อ Remote Desktop สำหรับ Mac จะทำหน้าที่เหมือนCMDCTRL


1
เอ๋อดี 10 นาทีหลังจากส่งคำถามฉันพบคำตอบด้วยตัวเอง โปรแกรมที่ชื่อว่าKeyRemap4MacBookทำสิ่งที่ฉันต้องการสำหรับไคลเอนต์การเชื่อมต่อเดสก์ท็อประยะไกลอย่างแน่นอน
— Greg R.

คุณแมป cmd + space เพื่อสลับภาษาได้อย่างไร
— dmiandre

อันที่ฉันไม่ได้เพราะฉันไม่จำเป็นต้องเปลี่ยนภาษา ขอโทษ
— เกร็กอาร์

คำตอบ:


45

ตอบคำถามของฉันเอง :-P

หลังจากโพสต์ไม่นานฉันก็ข้ามแอปพลิเคชันที่ชื่อKarabinerซึ่งทำสิ่งที่ฉันต้องการให้ทำ (นอกเหนือจากสิ่งอื่น ๆ อีกมากมาย)

คุณสามารถแมปปุ่มคำสั่งด้านซ้ายและขวาเพื่อเป็นปุ่มควบคุมในการเชื่อมต่อเดสก์ท็อประยะไกลและ VM เท่านั้น


1
โอ้พระเจ้าขอบคุณมาก นี่คือการตั้งค่าของฉันสำหรับ Karabiner เพื่อเปิดใช้งาน Shift + Enter ทางลัดสำหรับบรรทัดใหม่ในแอปข้อความ
— DanSkeel

2
ฉันใช้ Mac Sierra พร้อม Karabiner-Elements และแม้ฉันเพิ่มการแมป Ctrl กับ Cmd และ Cmd เป็น Ctrl แล้ว Microsoft Remote Desktop ยังคงลงทะเบียน Ctrl เป็นปุ่ม Windows และ Cmd เป็นปุ่ม Ctrl ความคิดใด ๆ
— Dio Phung

2
ไปที่แท็บการปรับเปลี่ยนที่ซับซ้อนคลิกเพิ่มกฎที่ด้านล่างคลิกนำเข้ากฎเพิ่มเติมจากอินเทอร์เน็ตคลิกเฉพาะแอปพลิเคชันค้นหากฎที่บอกว่าเดสก์ท็อประยะไกลแล้วคลิกนำเข้า เมื่อนำเข้าแล้วคุณจะเห็นมันในรายการและคลิกเปิดใช้งาน ทำงานได้ทันทีสำหรับฉันและเฉพาะในแอป Remote Desktop ที่สมบูรณ์แบบ ไม่จำเป็นต้องรีสตาร์ทแอพหรืออะไรเลย
— Ben Baron

23

Microsoft Remote Desktop เบต้าเพิ่มการสนับสนุนสำหรับCmd+ X/ C/ VรวมถึงCtrl+ X/ C/ Vเพื่อตัด / คัดลอก / วางภายในเซสชันระยะไกล (หมายเหตุ: การเปลี่ยนเส้นทางคลิปบอร์ดจะพร้อมใช้งานในการปรับปรุงในภายหลัง)


คุณยังสามารถเพิ่มการแม็พที่กำหนดเองโดยการนำทางไปยังไดเร็กทอรี Resources / Keyboard ภายในเนื้อหาแอ็พพลิเคชันและเปิดClipboardActionTransformations.xmlไฟล์ในตัวแก้ไขข้อความธรรมดา

<layout name="default">
<transformations>
    <!-- Command+X to Control+X -->
    <transform>
        <from command="1" key="X" />
        <to control="1" key="X" />
    </transform>
    <!-- Command+C to Control+C -->
    <transform>
        <from command="1" key="C" />
        <to control="1" key="C" />
    </transform>
    <!-- Command+V to Control+V -->
    <transform>
        <from command="1" key="V" />
        <to control="1" key="V" />
    </transform>
    <!-- Command+Z to Control+Z -->
    <transform>
        <from command="1" key="Z" />
        <to control="1" key="Z" />
    </transform>
</transformations>
</layout>

ปรับปรุง

คุณสามารถตั้งค่าช่องทำเครื่องหมายนี้ได้ในส่วนการตั้งค่า / ทั่วไป:

การกำหนดลักษณะทั่วไปของไคลเอนต์ MS Remote Desktop (เบต้า)


อัปเดต 2

บางคนสงสัยไซต์ Hockeyapp แม้ว่าผู้เขียนจะเป็น "Microsoft Remote Desktop" โพสต์บล็อก TechNet นี้จาก microsoft.com ประกาศแอปเบต้าและให้ URL Hockeyapp เดียวกัน


1
"ไดเรกทอรีทรัพยากร / แป้นพิมพ์ภายในเนื้อหาแอปพลิเคชัน" ... ที่ไหน
— Chris

2
@Chris มันสามารถทำได้ใน GUI: "Preferences" - "General" ช่องทำเครื่องหมาย "ใช้ทางลัด Mac สำหรับการตัดคัดลอกและวาง"
— ตาราง

2
นอกจากนี้อย่าเข้าใจผิดว่า "Microsoft Remote Desktop Beta " สำหรับ "Microsoft Remote Desktop" อย่างที่ฉันทำ
— ตารางที่

เบต้ามันคือ แค่ต้องการทราบสำหรับผู้อ่านที่เหลือว่าไม่มีรุ่นเบต้าไม่ได้เพิ่มการสนับสนุน Cmd + X / C / V คุณจำเป็นต้องมีเบต้ารุ่น
— Chris

เพิ่งแก้ไขไฟล์นี้ตามคำแนะนำ เพิ่มการรองรับ L, T (แท็บใหม่ของ Chrome, ปิด W), S-Save, D- (Intellij บรรทัดการลบของฉัน)
— user895861

18

ติดตั้งแอปพลิเคชั่นKarabiner

เมื่อติดตั้งแล้วให้เปิด Karabiner:

  • จากแท็บ 'เปลี่ยนคีย์' ให้ขยายส่วน 'สำหรับแอปพลิเคชัน'

  • ส่วนย่อย 'เปิดใช้งานที่ไคลเอนต์การเชื่อมต่อเดสก์ท็อประยะไกลเท่านั้น'

  • ทำเครื่องหมาย 'เปลี่ยนคีย์คำสั่งเพื่อควบคุมคีย์ใน RDC'

ตอนนี้เมื่อคุณใช้แอป RDP ใหม่คุณสามารถใช้ Cmd ต่อไปแทน Ctrl


1
อืมไม่สามารถใช้งานร่วมกับเซียร์ราได้ในขณะนี้ ...
— user895861

ในเซียร์ราลองใช้คาราบิเนอร์ - อีลิเมนต์ซึ่งเป็นเวอร์ชั่นที่ง่ายกว่าของคาราไบเนอร์ อย่างไรก็ตามภายใต้เดสก์ท็อประยะไกลของ Microsoft คีย์ Ctrl จะถูกจดจำเป็นคีย์ Windows และคีย์ Cmd นั้นจะรับรู้เป็นคีย์ Ctrl
— Dio Phung

Microsoft Remote Desktop รุ่นล่าสุดไม่รู้จักปุ่ม Ctrl เนื่องจากเป็นปุ่ม Windows และปุ่ม Cmd นั้นรับรู้เป็นปุ่ม Ctrl (ฉันใช้เวอร์ชั่น 8.0.36)
— George Filippakos

ฉันตั้งค่าสวิตช์แผนที่แป้นพิมพ์ได้สำเร็จในแอป Teamviewer เท่านั้น สิ่งที่ดี: forum.keyboardmaestro.com/t/switching-command-and-control-keys/ …
— เมา

1

เช่นเดียวกับคำตอบก่อนหน้านี้ฉันก็ใช้ Karabiner เช่นกัน แอพที่ยอดเยี่ยมที่สุด!

สิ่งที่ฉันทำแตกต่างกันคือการเพิ่มการแมปกุญแจแบบกำหนดเองเพื่อลดปุ่มควบคุมคำสั่ง MAC. ในเทอร์มินัล

ในสถานการณ์ของฉันฉันใช้คีย์บอร์ด Logitech ดังนั้นไม่มีคีย์คำสั่งของ Apple

โดยพื้นฐานแล้วสิ่งที่ฉันทำคือแมปคีย์คำสั่ง MAC กับคีย์ควบคุม เหตุผลของฉันคือฉันต้องการรักษาลำดับ Ctrl-Key ทั่วไปที่ MAC แม็พกับลำดับ Command-Key (เช่น Ctrl-F เพื่อค้นหา) นอกจากนี้ฉันต้องการรักษาลำดับการควบคุมจริงเช่น Ctrl-C สำหรับ SIGINT โดยพื้นฐานแล้วเราจะทำการมัลติเพล็กคีย์ควบคุมบางอย่าง

หลังจากติดตั้ง Karabiner ฉันไม่สามารถรับ Ctrl-c เพื่อส่ง unix (SIGINT) ได้ในตอนแรก อย่างไรก็ตามเมื่อฉันแก้ไข private.xml ฉันก็สามารถใช้งานได้

ขั้นตอน:

  1. ดาวน์โหลดไฟล์ Karabiner .dmg จาก: https://pqrs.org/osx/karabiner/
  2. ดับเบิลคลิกที่ไฟล์. dmg เพื่อติดตั้ง
  3. เมื่อติดตั้ง Karabiner แล้วให้เปิดการแมปกุญแจ
    3.1 อย่าแมป Command_L หรือ Command_R ใด ๆ ปล่อยให้พวกเขาไม่ถูกตรวจสอบ
    3.2 แมป Control_L & Control_R กับ Command_L & Command_R ที่เกี่ยวข้อง
  4. ถัดไปแก้ไขไฟล์ private.xml ลิงค์ที่มีประโยชน์: https://pqrs.org/osx/karabiner/document.html#privatexml
    4.1 เพิ่มตัวอย่างต่อไปนี้:

    <item>
         <name>MAC2Unix Hacks</name>
         <identifier>private.app_terminal_command2_to_ctrl</identifier>
         <appendix>Map Command+C to Ctrl+C For Terminal</appendix>
         <only>TERMINAL</only>
         <autogen>__KeyToKey__ KeyCode::C, VK_COMMAND, KeyCode::C, VK_CONTROL</autogen>     
    </item>
    
  5. กดปุ่มโหลดซ้ำและคุณควรจะดี
  6. โปรดทราบว่าในหน้าต่าง Terminal หากคุณต้องการคัดลอก / วางข้อความคุณจะเลือกด้วยเมาส์หรืออะไรก็ตาม อย่างไรก็ตามในการคัดลอกไปยังคลิปบอร์ดตอนนี้คุณจะต้องใช้ rt-click-> copy จากเมาส์ จำไว้ว่าเราทำการแมปใหม่ Ctrl-C (ซึ่งเคยเป็น "คัดลอก") และตอนนี้เป็น SIGINT
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.