Làm cách nào tôi có thể ánh xạ lại phím nhấn nút phát từ tai nghe Bluetooth trên OS X?


13

Tôi có tai nghe stereo Bluetooth LG Tone (HBS 700) và đang sử dụng nó với OS X Lion.

Tai nghe có nút bật / tắt nút phát, nhưng không giống như nút phát trên bàn phím của tôi, nút này sẽ chuyển đổi phát / tạm dừng, giả sử, trình phát phương tiện VLC nếu nó đang chạy, nút phát của tai nghe sẽ khởi chạy iTunes nếu nó chưa mở hoặc chuyển đổi phát / tạm dừng trong iTunes nếu nó đã mở. Nó sẽ không chuyển / phát trong bất kỳ trình phát đa phương tiện nào khác.

Ai đó có thể giải thích sự kiện hệ thống nào có khả năng được kích hoạt khi tôi nhấn play không? Rõ ràng là một số trình nền hệ thống đang lắng nghe một cái gì đó, vì iTunes được khởi chạy và có thể diễn giải các điều khiển phát / tạm dừng / tiếp theo / trước tốt ... Có cách nào tôi có thể chặn sự kiện nhấn phím và ánh xạ lại chức năng của nó không? Tôi muốn nó có hành vi tương tự như nút phát của bàn phím.

Cảm ơn bạn đã giúp đỡ!

Câu trả lời:


7

Bạn đang tìm kiếm Daemon điều khiển từ xa nằm ở:

/System/Library/CoreServices/rcd.app

Nó có thể bị vô hiệu hóa bằng lệnh

sudo chmod a-x /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd
killall -9 rcd

(Nếu bạn chỉ giết nó, launchdsẽ khởi động lại nó một lần nữa). Để kích hoạt lại nó,

sudo chmod a+x /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd

Sau đó đăng xuất và quay lại để launchdbắt đầu nó.

Nếu bạn đủ tham vọng, bạn có thể thử chỉnh sửa nó bằng trình chỉnh sửa hex. Điều này nằm ngoài phạm vi kiến ​​thức của tôi, nhưng tôi có hai gợi ý.

  1. Mở nhanh chóng (chỉ để trống, không có gì trong đó) trong nền có thể ngăn trình nền sử dụng iTunes. Nó phụ thuộc vào việc thiết bị của bạn có sử dụng cùng một sự kiện hệ thống hay không.

  2. Ngoài ra, có một tiện ích miễn phí nằm ở liên kết sau giúp vá daemon cho bạn. Sau khi chạy nó, daemon sẽ sử dụng chương trình hoạt động, thay vì iTunes. Tuy nhiên, điều này sẽ không ánh xạ lại VLC như chương trình sẽ được mở khi bạn nhấn play. Nó được thiết kế cho các phím phương tiện bàn phím, nhưng tôi tin rằng HĐH thấy nút LG Tone của bạn là cùng một sự kiện hệ thống. Liên kết đó: http://lifehacker.com/5651055/free-your-macs-media-keys-from-itunes-no-manual-hacking-required

Cuối cùng, tôi có thể nói với bạn rằng Apple vẫn chưa cung cấp một cách đơn giản để thay đổi cài đặt điều khiển từ xa. Điều này thật đáng tiếc, vì đây là một câu hỏi phổ biến liên quan đến các phím phương tiện trên bàn phím và các điều khiển khác trên các thiết bị như của bạn. Thay vì cung cấp một giải pháp, có vẻ như họ đã thực hiện các thay đổi đối với HĐH trước đây để đảm bảo iTunes là chương trình được sử dụng bởi trình nền này. Thật không may, không có khả năng là một sửa chữa tốt hơn so với những điều này sớm.


3
Theo kinh nghiệm của tôi, các thiết bị bluetooth gửi tín hiệu phát / tạm dừng không được diễn giải theo cùng cách diễn giải các phím phương tiện bàn phím. Sử dụng bản vá được đề cập, bàn phím của tôi hoạt động như mong đợi, nhưng tai nghe bluetooth của tôi vẫn tiếp tục khởi chạy iTunes. Chỉ cần nghĩ rằng tôi không phải vì lợi ích của hậu thế.
Wilco

Bất kỳ tư vấn làm thế nào để thực hiện thay đổi này trong OS X Sierra? Họ có hệ thống bảo vệ os, và thật khó để thực hiện những thay đổi như vậy.
AB

3

Trước tiên, bạn sẽ cần một ứng dụng ánh xạ bàn phím của bên thứ ba được gọi là Karabiner (trước đây là KeyRemap4MacBook). Ứng dụng này hơi thân thiện với người dùng nhưng về lý thuyết bạn chỉ cần thực hiện việc này một lần. Ngoài ra, hiện tại nó không hoạt động trên MacOS Sierra ... vì vậy hãy ghi nhớ điều đó.

Chúng ta đi đây ...

Cài đặt Karabiner

https://pqrs.org/osx/karabiner/index.html.en

Chạy Karabiner

Bạn nên cung cấp cho nó một số quyền truy cập nếu bạn muốn tất cả các tính năng.

Sử dụng Ứng dụng trợ giúp "EventViewer" để nhận mã khóa

Mở EventViewer để nhận mã khóa / id ứng dụng / thiết bị:

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

Chuyển đến tab Chính và sau đó nhấn (các) phím trên bàn phím, điều khiển từ xa bluetooth, v.v. bạn muốn ánh xạ lại. Trong trường hợp này, bạn có thể thấy mã khóa cho Media-Forward và Media-Back trên điều khiển bluetooth Satechi của tôi (mà tôi muốn ánh xạ lại tới các phím mũi tên sang trái / phải).

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

Đi trước và "sao chép vào bảng" và dán nó vào một tài liệu văn bản cho sau này. Bây giờ tùy thuộc vào trường hợp sử dụng của bạn, bạn có thể chuyển đến tab Ứng dụng hoặc tab Thiết bị.

Nếu bạn muốn giới hạn ánh xạ lại khóa của mình cho các ứng dụng cụ thể, thì bạn sẽ muốn tạo quy tắc ánh xạ dành cho ID ứng dụng cụ thể (ví dụ: google chrome). Vì vậy, bạn sẽ chuyển đến tab ứng dụng và nhận ID ứng dụng cho ứng dụng mà bạn quan tâm (sẽ được sử dụng sau này khi chúng tôi tạo quy tắc).

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

Trong trường hợp của tôi, tôi CHỈ muốn sắp xếp lại các phím này trên điều khiển bluetooth Satechi của mình và không muốn làm hỏng cách các phím bàn phím hiện tại của tôi hoạt động ... vì vậy tôi muốn đưa ra một quy tắc cụ thể cho thiết bị. Vì vậy, tôi đi đến tab Thiết bị.

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

Ghi chú!!! Đối với ứng dụng và thiết bị, bạn cũng nên sao chép và dán vào tệp văn bản để bạn có chuỗi id thiết bị / ứng dụng hoàn chỉnh để sử dụng theo quy tắc của chúng tôi.

Xây dựng quy tắc

Bây giờ bạn đã có mã khóa, id ứng dụng và / hoặc id thiết bị được sao chép và dán vào tệp văn bản để tham khảo sau, bạn có thể đóng EventViewer và quay lại ứng dụng chính.

Các quy tắc mặc định không thú vị đối với chúng tôi, vì vậy chúng tôi cần tạo quy tắc tùy chỉnh nhưng chỉnh sửa private.xml

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

Điều này sẽ chỉ khởi chạy một cửa sổ tìm kiếm hiển thị private.xml. Hãy tiếp tục và mở private.xml trong trình soạn thảo văn bản yêu thích của bạn.

Bây giờ bạn đã sẵn sàng để xây dựng quy tắc ...

Tài liệu về định dạng của tệp này có tại đây: https://pqrs.org/osx/karabiner/xml.html.en

Đối với mỗi <item>bạn cần tối thiểu <name> <identifier><autogen>. Tên chỉ là một tên cho bạn. Định danh cũng được tạo bởi bạn nhưng nên là duy nhất. autogen là nơi bạn chỉ định quy tắc / ánh xạ (tức là khóa quan tâm sẽ gửi khóa foo bar).

Quan tâm hơn nữa, bạn có thể chỉ định quy tắc chỉ chạy cho các ứng dụng hoạt động cụ thể (Tôi nghĩ rằng đây là nơi các quyền truy cập MacOS phát huy tác dụng ... vì vậy Karabiner có thể xác định cửa sổ hoạt động). Điều này được thực hiện với <only>.

Điều thú vị nữa (đối với tôi) là <device_only>cho phép tôi đưa ra quy tắc chỉ cho một bàn phím cụ thể (ví dụ như điều khiển bluetooth satechi của tôi). Xem liên kết ở trên để biết thêm chi tiết.

Dù sao. Sử dụng ID mã khóa, ID thiết bị và id ứng dụng bạn nhận được từ EventViewer để xây dựng quy tắc tùy chỉnh của mình.

Của tôi trông như thế này:

<?xml version="1.0"?>
<root>
    <item>
        <name>Satechi Right</name>
        <identifier>private.satechi.right</identifier>
        <device_only>DeviceVendor::RawValue::0x05ac,DeviceProduct::RawValue::0x023c</device_only>
        <autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_NEXT_17, KeyCode::CURSOR_RIGHT</autogen>
    </item>
    <item>
        <name>Satechi Left</name>
        <identifier>private.satechi.left</identifier>
        <device_only>DeviceVendor::RawValue::0x05ac,DeviceProduct::RawValue::0x023c</device_only>
        <autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PREV_18, KeyCode::CURSOR_LEFT</autogen>
    </item>
</root>

Tóm tắt: 2 quy tắc. Satechi bluetooth chỉ thiết bị từ xa. Nút phương tiện "tiếp theo" ánh xạ sang mũi tên phải, nút phương tiện "trước" sang mũi tên trái. Áp dụng cho tất cả các ứng dụng.

Tải các quy tắc

Lưu tệp XML của bạn. Quay trở lại ứng dụng Karabiner. Chuyển đến tab "Thay đổi khóa". Nhấp vào "Tải lại XML" ở trên cùng bên trái. Quy tắc mới của bạn bây giờ sẽ hiển thị. Kiểm tra các hộp để kích hoạt các quy tắc. Kiểm tra rằng ánh xạ khóa mới của bạn hoạt động như mong đợi.

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

Ứng dụng này chắc chắn không thân thiện với người dùng nhưng cho phép tôi thiết lập chính xác những gì tôi muốn khá dễ dàng một khi tôi hiểu các tùy chọn. Karabiner có một chút lỗi ... Tôi đã có một số sự kiện ngừng hiển thị trong trình xem sự kiện mặc dù các quy tắc ánh xạ vẫn hoạt động ... khởi động lại giúp.


1
Dường như người kế nhiệm Karabiner, Karabiner-Elements, đây là bản nâng cấp bắt buộc cho các phiên bản MacOS mới hơn, không thấy các điều khiển thiết bị phương tiện Bluetooth. EventViewer mới hoàn toàn không đăng ký nhấn nút như vậy, nhưng iTunes vẫn bắt đầu. :(
wfaulk
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.