Có thể tắt trình chuyển đổi ứng dụng tab lệnh trong Mac OS X Lion không?


Câu trả lời:


6

Bạn có thể ánh xạ tab lệnh sang một tổ hợp phím khác với KeyRemap4MacBook :

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

Điều này sẽ vô hiệu hóa tab lệnh và tab lệnh-shift:

<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>

Cảm ơn, đây là một dẫn tốt. Thật tốt khi biết rằng ánh xạ lại qua DefaultKeyBinding.dict là một ngõ cụt. Tôi sẽ dùng thử KeyRemap4MacBook
Sean Mackesey

1
Điều này đã làm việc tuyệt vời, cảm ơn. Trong trường hợp không rõ ràng với người khác, bạn cần thêm các định nghĩa này private.xmlvào <item>thẻ riêng của nó bên dưới <root>. Sau đó, tải lại private.xmlvà chuyển đổi tùy chọn mới.
jrhorn424

Đảm bảo thêm tên và số nhận dạng vào mục <item> <name>Disable Command Tab</name> <identifier>private.disable_command_tab</identifier>
Willem D'Haeseleer

1

Bạn có thể làm điều đó như cấp độ lắp ráp. Đối với ML 10.8.3, đăng ký Cmd+ này Tabxảy ra trong chương trình con tại địa chỉ 0x10000b258. Trong mã giả, nó trông giống như:

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");
}

Vì vậy, nếu bạn thay thế các mã byte sau:

Tách xuôi

với:

9090909090,

Và từ chức Dock.app của bạn, nó sẽ hoạt động. Bạn cũng phải bỏ bảo vệ nhị phân Dock trước khi bạn thực hiện việc này vì nhị phân Dock được mã hóa.


5
bạn có thể vui lòng sao lưu câu trả lời của bạn với một số loại nguồn xin vui lòng? tất cả các mã đó có thể gây nhầm lẫn và đối tượng không tin tưởng của các độc giả trong tương lai. mong là bạn hiểu.
Lorenzo Von Matterhorn

1
Ngoài ra, hãy thêm những gì mã gốc làm và thay thế (việc tháo gỡ sẽ ổn theo như tôi quan tâm)
vonbrand 23/03/13

3
Đây là một câu trả lời khá tuyệt. Mặc dù mối quan tâm trong hai bình luận khác có lẽ là hợp lệ, nhưng thật đáng buồn là tất cả các bình luận đều nghi ngờ nó, nhưng không ai chỉ ra rằng điều này khá tuyệt. Làm thế nào để bạn biết địa chỉ chương trình con nào, và 090909 là gì? (không-op?)
Gal

0

Một câu trả lời chấp nhận được bao gồm sửa chữa nó?

Mac OS X Lion (10.7) gặp khó khăn trong việc phát hiện bố cục bàn phím khi tôi cắm nó lần đầu tiên. Nhưng sau khi làm theo hướng dẫn (tức là nhấn phím bên phải Shift trái, v.v.), nó sẽ xác định chính xác bố cục.

Trong System Preferences, Lion có một bảng điều khiển bàn phím tuyệt vời:

Ảnh chụp màn hình bảng điều khiển của Lion

Tiếp theo, vào Modifier Keys

nhập mô tả hình ảnh ở đây

Bingo, bây giờ CapsLock hoạt động như Control.

Hoặc, bạn có thể thử và thực hiện các ràng buộc chính:

Chỉnh sửa tệp keybindings mặc định, ~ / Library / KeyBindings / DefaultKeyBinding.dict. Tạo thư mục và / hoặc tệp nếu chúng chưa có ở đó và làm cho nó trông như thế này:

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

Nếu đã có các mục trong DefaultKeyBinding.dict, chỉ cần thêm 4 ánh xạ mới ở trên vào phần chính của tệp của bạn. Khởi động lại có thể cần thiết để có hiệu lực.

Bạn sẽ cần điều chỉnh mã ở trên cho những gì bạn đang cố gắng làm


1
Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Luke Luke

3
Đồng ý với người bình luận ở trên-- câu trả lời này quá xa vời. Tôi đánh giá cao câu trả lời đã cố gắng của bạn, nhưng vui lòng cố gắng trực tiếp hơn. Tôi cảm thấy như mục này chỉ có thể gây nhầm lẫn cho những người khác tìm thấy câu hỏi này trong tương lai. Ngoài ra, ánh xạ lại toàn bộ khóa lệnh cho một thứ khác không phải là một giải pháp chấp nhận được đối với tôi, vì tôi sử dụng phím lệnh cho nhiều thứ khác. Tôi không thể biết liệu mã bạn hiển thị trong phần thứ hai của giải pháp có cho phép tôi vô hiệu hóa có chọn lọc CMD + TAB hay không, nhưng nếu nó có thể giải thích rõ ràng như thế nào.
Sean Mackesey

Ánh xạ lại phím lệnh cho Caps Lock có lẽ là ý tưởng tốt nhất tôi có thể cung cấp. Bạn vẫn nhận được khóa lệnh và tôi sẽ choáng váng khi biết bạn thực sự đang sử dụng khóa mũ cho một cái gì đó. Tùy chọn thứ hai là thể hiện khối lượng công việc bạn sẽ phải làm nếu bạn có lý do tại sao cách dễ dàng sẽ không hiệu quả. Ngoài hai điều này tôi không có gì khác cho bạn. Tôi đã cung cấp những phần thiết yếu như Luke đề nghị.
Everett

Tôi thực sự đã cài đặt CapsLock vào Escape rồi (rất cần thiết nếu bạn sử dụng Vim!). Cảm ơn nỗ lực của bạn, một lần nữa tôi sẽ khuyên bạn nên chỉnh sửa bài viết của mình. Vui lòng chỉ liên kết với một cái gì đó về ánh xạ lại các phím bổ trợ, để các trình duyệt trong tương lai sẽ không phải lướt qua toàn bộ lời giải thích khi họ biết rằng giải pháp đó sẽ không hiệu quả với họ.
Sean Mackesey
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.