เป็นไปได้หรือไม่ที่จะปิดตัวสลับแอปพลิเคชันแท็บคำสั่งใน Mac OS X Lion?


11

ทางลัดนี้ทำให้ฉันบ้า ฉันต้องการตั้งค่าใหม่แท็บคำสั่งสำหรับการแทรกข้อมูลโค้ดขณะทำการเข้ารหัส แต่ตัวสลับได้รับในทาง ...


ซ้ำกันเป็นไปได้ superuser.com/questions/548146/…
Daniel Dropik

คำตอบ:


6

คุณสามารถแมปคำสั่งแท็บกับชุดคีย์อื่นด้วยKeyRemap4MacBook :

<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE, KeyCode::F19</autogen>

สิ่งนี้จะปิดใช้งาน command-tab และ shift-command-tab:

<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | VK_SHIFT | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>

ขอบคุณนี่เป็นผู้นำที่ดี นอกจากนี้ยังเป็นการดีที่จะรู้ว่าการแมปผ่าน DefaultKeyBinding.dict นั้นเป็นจุดสิ้นสุด ฉันจะลอง KeyRemap4MacBook
Sean Mackesey

1
มันใช้งานได้ดีมากขอบคุณ ในกรณีที่ยังไม่ชัดเจนกับคนอื่น ๆ คุณจำเป็นต้องเพิ่มคำนิยามเหล่านี้จะprivate.xmlอยู่ในนั้นของตัวเองภายใต้แท็ก<item> <root>จากนั้นโหลดprivate.xmlและสลับตัวเลือกใหม่
jrhorn424

อย่าลืมเพิ่มชื่อและตัวระบุลงในรายการ <item> <name>Disable Command Tab</name> <identifier>private.disable_command_tab</identifier>
Willem D'Haeseleer

1

คุณสามารถทำได้ตามระดับการประกอบ สำหรับ ML 10.8.3 การลงทะเบียนCmd+ Tabจะเกิดขึ้นในรูทีนย่อยที่ที่อยู่ 0x10000b258 ในโค้ดหลอกดูเหมือนว่า:

rax = CPSRegisterForKeyOnConnection(*(int32_t *)rbx, 0x1002cd078, 0x1, 0x1);
if (rax != 0x0) {
    fprintf(**__stderrp, "Error registering cmd-tab key, %d\\n");
}
rax = CPSRegisterForKeyOnConnection(*(int32_t *)0x1002ccda8, 0x1002cd078, 0x2, 0x1);
if (rax != 0x0) {
    fprintf(**__stderrp, "Error registering cmd-shift-tab key, %d\\n");
}

ดังนั้นหากคุณแทนที่รหัสไบต์ต่อไปนี้:

488D35691C2C008B3BBA01000000B901000000E85CD71B0085C0741A488B0DD5FC2400488B39488D355B341C0089C230C0E892C51B00488D0563192C008B38488D352A1C2C00BA02000000B901000000E81FD71B0085C0741A488B0D98FC2400488B39488D3541341C0089C230C0E855C51B00

ด้วย:

90909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090

และลาออกจาก Dock.app ของคุณก็จะทำงานได้ คุณต้องยกเลิกการป้องกันไบนารี Dock ก่อนที่จะทำเช่นนี้เนื่องจากไบนารีฐานข้อมูลถูกเข้ารหัส


5
คุณช่วยสำรองคำตอบของคุณด้วยแหล่งข้อมูลบางประเภทได้ไหม รหัสทั้งหมดนั้นอาจทำให้เกิดความสับสนและเป้าหมายของความไม่ไว้วางใจโดยผู้อ่านในอนาคต หวังว่าคุณจะเข้าใจ.
Lorenzo Von Matterhorn

1
นอกจากนี้ยังเพิ่มสิ่งที่รหัสต้นฉบับทำและการแทนที่ (การถอดแยกชิ้นส่วนจะดีเท่าที่ฉันกังวล)
vonbrand

3
นี่เป็นคำตอบที่ยอดเยี่ยม ในขณะที่ความกังวลในอีกสองความคิดเห็นนั้นน่าจะถูกต้องมันเป็นเรื่องน่าเศร้าที่ความคิดเห็นทั้งหมดกำลังตั้งคำถาม แต่ไม่มีใครชี้ให้เห็นว่าสิ่งนี้ค่อนข้างเจ๋ง คุณจะรู้รูทีนย่อยใดได้บ้างและ 090909 คืออะไร? (ไม่-op?)
สาว

0

คำตอบที่ยอมรับได้รวมถึงการสร้างใหม่หรือไม่

Mac OS X Lion (10.7) มีปัญหาในการตรวจจับเค้าโครงแป้นพิมพ์เมื่อฉันเสียบปลั๊กครั้งแรก แต่หลังจากทำตามคำแนะนำ (เช่นกดปุ่มทางด้านขวาของ Left Shift ฯลฯ ) ให้ระบุรูปแบบได้อย่างถูกต้อง

ในการตั้งค่าระบบ Lion มีแผงแป้นพิมพ์ที่ยอดเยี่ยม:

สกรีนช็อตของแผงคีย์บอร์ดของ Lion

ถัดไปไปที่ปุ่มปรับเปลี่ยน ...

ป้อนคำอธิบายรูปภาพที่นี่

Bingo ในขณะนี้ CapsLock ทำหน้าที่ควบคุม

หรือคุณสามารถลองและมีผลกับการผูกคีย์:

แก้ไขไฟล์ keybindings เริ่มต้น ~ / Library / KeyBindings / DefaultKeyBinding.dict สร้างไดเรกทอรีและ / หรือไฟล์หากยังไม่มีอยู่และทำให้มันเป็นดังนี้:

{
  /* Remap Home / End to be correct */
  "\UF729" = "moveToBeginningOfLine:"; /* Home */
  "\UF72B" = "moveToEndOfLine:"; /* End */
  "$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
  "$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
}

หากมีรายการอยู่ใน DefaultKeyBinding.dict ให้เพิ่มการแมปใหม่ 4 รายการข้างบนในส่วนหลักของไฟล์ของคุณ อาจจำเป็นต้องรีบูตเพื่อให้มันมีผล

คุณจะต้องปรับรหัสด้านบนสำหรับสิ่งที่คุณพยายามจะทำ


1
ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
ลุคชาวแคนาดา

3
เห็นด้วยกับผู้แสดงความคิดเห็นข้างต้น - คำตอบนี้ไกลเกินไป ฉันขอบคุณคำตอบที่คุณพยายาม แต่โปรดพยายามมากขึ้น ฉันรู้สึกว่าข้อความนี้มีแนวโน้มที่จะสร้างความสับสนให้ผู้อื่นที่พบคำถามนี้ในอนาคต นอกจากนี้การแมปคีย์คำสั่งใหม่ทั้งหมดกับสิ่งอื่นนั้นไม่ใช่โซลูชันที่ยอมรับได้สำหรับฉันเนื่องจากฉันใช้คีย์คำสั่งสำหรับสิ่งอื่น ๆ ฉันไม่สามารถบอกได้ว่ารหัสที่คุณแสดงในส่วนที่สองของโซลูชันของคุณจะอนุญาตให้ฉันปิดการใช้งานการเลือก CMD + TAB หรือไม่ แต่หากสามารถอธิบายได้อย่างชัดเจน
Sean Mackesey

การกำหนดคีย์คำสั่งใหม่ให้กับ Caps Lock อาจเป็นความคิดที่ดีที่สุดที่ฉันจะให้ได้ คุณยังคงได้รับคีย์คำสั่งและฉันจะตกใจเมื่อได้ยินว่าคุณกำลังใช้ตัวพิมพ์ใหญ่สำหรับบางสิ่งบางอย่าง ตัวเลือกที่สองคือแสดงปริมาณงานที่คุณต้องทำถ้าคุณมีเหตุผลว่าทำไมวิธีง่าย ๆ ไม่ทำงาน นอกเหนือจากสองสิ่งนี้ฉันไม่มีอะไรให้คุณ ฉันให้ชิ้นส่วนที่จำเป็นตามที่ลุคแนะนำ
Everett

จริง ๆ แล้วฉันมี CapsLock remapped ให้ Escape แล้ว (จำเป็นถ้าคุณใช้ Vim!) ขอบคุณสำหรับความพยายามอีกครั้งฉันขอแนะนำให้คุณแก้ไขโพสต์ของคุณ โปรดเชื่อมโยงบางสิ่งเกี่ยวกับการแมปตัวปรับเปลี่ยนใหม่เพื่อให้เบราว์เซอร์ในอนาคตไม่จำเป็นต้องอ่านคำอธิบายทั้งหมดเมื่อพวกเขารู้ว่าโซลูชันนั้นใช้ไม่ได้สำหรับพวกเขา
Sean Mackesey
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.