Jak mogę ponownie przypisać naciśnięcie przycisku odtwarzania z zestawu słuchawkowego Bluetooth w systemie OS X?

13

Mam stereofoniczny zestaw słuchawkowy Bluetooth LG Tone (HBS 700) i używam go z systemem OS X Lion.

Zestaw słuchawkowy ma przycisk przełączania odtwarzania / pauzy, ale w przeciwieństwie do przycisku odtwarzania mojej klawiatury, który przełącza odtwarzanie / pauzę, powiedzmy, odtwarzacza multimedialnego VLC, jeśli jest uruchomiony, przycisk odtwarzania zestawu słuchawkowego uruchomi iTunes, jeśli nie jest jeszcze otwarty, lub przełącz odtwarzanie / pauza w iTunes, jeśli jest już otwarty. Nie przełącza odtwarzania / pauzy w żadnym innym odtwarzaczu multimedialnym.

Czy ktoś może wyjaśnić, jakie zdarzenie systemowe prawdopodobnie zostanie wywołane po naciśnięciu przycisku odtwarzania? Oczywiste jest, że jakiś demon systemowy czegoś nasłuchuje, ponieważ iTunes uruchamia się i może dobrze zinterpretować sterowanie odtwarzaniem / pauzą / następną / poprzednią… Czy istnieje sposób na przechwycenie zdarzenia naciśnięcia klawisza i zmianę jego funkcji? Chciałbym, aby zachowywał się tak samo jak przycisk odtwarzania na klawiaturze.

Dzięki za pomoc!

Gulasz
źródło

Odpowiedzi:

7

Poszukujesz demona zdalnego sterowania znajdującego się w:

/System/Library/CoreServices/rcd.app

Można go wyłączyć za pomocą polecenia

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

(Jeśli go po prostu zabijesz, launchduruchomi się ponownie). Aby go ponownie włączyć,

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

Następnie wyloguj się i zaloguj ponownie, aby launchdrozpocząć.

Jeśli masz dość ambicji, możesz spróbować edytować go za pomocą edytora szesnastkowego. To jest poza moją wiedzą, ale mam dwie sugestie.

  1. Otwarcie szybkiego czasu (tylko puste, nic w nim) w tle może uniemożliwić demonowi korzystanie z iTunes. Zależy to od tego, czy urządzenie używa tego samego zdarzenia systemowego.

  2. Alternatywnie, pod poniższym linkiem znajduje się bezpłatne narzędzie, które łata demona dla Ciebie. Po uruchomieniu demon użyje aktywnego programu zamiast iTunes. Nie spowoduje to jednak ponownego mapowania VLC, ponieważ program zostanie otwarty po naciśnięciu przycisku odtwarzania. Jest przeznaczony do klawiszy multimedialnych na klawiaturze, ale wierzę, że system operacyjny widzi przycisk twojego LG Tone jako to samo zdarzenie systemowe. Ten link: http://lifehacker.com/5651055/free-your-macs-media-keys-from-itunes-no-manual-hacking-required

Na koniec mogę powiedzieć, że Apple nie zapewnił jeszcze prostego sposobu zmiany ustawień zdalnego sterowania. Jest to niefortunne, ponieważ jest to częste pytanie dotyczące klawiszy multimedialnych na klawiaturach i innych elementów sterujących na urządzeniach takich jak twoje. Zamiast oferować rozwiązanie, wydaje się, że w przeszłości wprowadzili zmiany w systemie operacyjnym, aby upewnić się, że iTunes jest programem używanym przez tego demona. Niestety, prawdopodobnie nie będzie lepszego rozwiązania niż wkrótce.

Blackjack00
źródło
3
Z mojego doświadczenia wynika, że ​​urządzenia Bluetooth wysyłające sygnały odtwarzania / pauzy nie są interpretowane w taki sam sposób jak klawisze multimedialne klawiatury. Używając wspomnianej łatki, moja klawiatura zachowuje się zgodnie z oczekiwaniami, ale mój zestaw słuchawkowy Bluetooth nadal uruchamia iTunes. Pomyślałem, że nie będę tego dla potomności.
Wilco,
Jakiś poradnik, jak wprowadzić tę zmianę w OS X Sierra? Mają system ochrony systemu operacyjnego i takie zmiany są dość trudne.
AB
3

Najpierw potrzebujesz aplikacji do mapowania klawiatury innej firmy o nazwie Karabiner (wcześniej KeyRemap4MacBook). Aplikacja jest nieco nieprzyjazna dla użytkownika, ale teoretycznie wystarczy to tylko raz. Również obecnie nie działa na MacOS Sierra ... więc miej to na uwadze.

No to ruszamy...

Zainstaluj Karabiner

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

Uruchom Karabiner

Powinieneś nadać mu pewne uprawnienia dostępu, jeśli chcesz mieć wszystkie funkcje.

Użyj aplikacji pomocniczej „EventViewer”, aby uzyskać kody dostępu

Otwórz EventViewer, aby uzyskać kody klawiszy / identyfikatory aplikacji / urządzeń:

wprowadź opis zdjęcia tutaj

Przejdź do zakładki głównej, a następnie naciśnij klawisz (y) na klawiaturze, pilocie Bluetooth itp., Które chcesz zmapować. W tym przypadku możesz zobaczyć kody klawiszy dla Media-Forward i Media-Back na moim pilocie Bluetooth Satechi (który chcę ponownie mapować na klawisze strzałek w lewo / w prawo).

wprowadź opis zdjęcia tutaj

Śmiało, „skopiuj na karton” i wklej go w dokumencie tekstowym na później. Teraz, w zależności od przypadku użycia, możesz przejść do aplikacji lub karty Urządzenia.

Jeśli chcesz ograniczyć mapowanie klucza do określonych aplikacji, musisz utworzyć regułę mapowania dla określonego identyfikatora aplikacji (np. Google Chrome). Więc przejdź do zakładki aplikacji i uzyskaj identyfikator aplikacji dla interesującej Cię aplikacji (do użycia później, kiedy tworzymy regułę).

wprowadź opis zdjęcia tutaj

W moim przypadku TYLKO chcę ponownie przypisać te klucze do mojego pilota Bluetooth Satechi i nie chcę zepsuć działania moich istniejących klawiszy klawiatury ... więc chcę stworzyć regułę specyficzną dla urządzenia. Więc przechodzę do zakładki Urządzenia.

wprowadź opis zdjęcia tutaj

Uwaga!!! W przypadku aplikacji i urządzeń należy również skopiować i wkleić do pliku tekstowego, aby mieć kompletny ciąg identyfikatora urządzenia / aplikacji do wykorzystania w naszej regule.

Budowanie zasad

Teraz, gdy masz już kody klawiszy, identyfikatory aplikacji i / lub urządzeń skopiowane i wklejone do pliku tekstowego w celu późniejszego wykorzystania, możesz zamknąć EventViewer i wrócić do głównej aplikacji.

Domyślne reguły nie są dla nas bardzo interesujące, dlatego musimy stworzyć niestandardową regułę, ale edytować private.xml

wprowadź opis zdjęcia tutaj

To po prostu uruchomi okno wyszukiwarki pokazujące plik private.xml. Śmiało i otwórz plik private.xml w swoim ulubionym edytorze tekstu.

Teraz jesteś gotowy do budowania reguł ...

Dokumentacja dotycząca formatu tego pliku znajduje się tutaj: https://pqrs.org/osx/karabiner/xml.html.en

Do każdego <item>potrzebujesz minimum <name> <identifier> i <autogen>. Imię to tylko imię dla ciebie. Identyfikator również jest tworzony przez Ciebie, ale powinien być unikalny. autogen to miejsce, w którym określasz regułę / mapowanie (tzn. klucz zainteresowania powinien wysyłać klucze do paska foo).

Co więcej, możesz sprecyzować, że reguła działa tylko dla określonych aktywnych aplikacji (myślę, że w tym miejscu mają zastosowanie uprawnienia ułatwień dostępu MacOS ... więc Karabiner może określić aktywne okno). Odbywa się to za pomocą<only> .

Interesujące (dla mnie) jest również to, <device_only>co pozwala mi tworzyć reguły tylko dla określonej klawiatury (tj. Mojego pilota bluetooth satechi). Zobacz link powyżej, aby uzyskać więcej informacji.

Tak czy siak. Użyj identyfikatorów kodu klucza, identyfikatorów urządzeń i identyfikatorów aplikacji uzyskanych z EventViewer, aby zbudować własne reguły.

Mój wygląda następująco:

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

Podsumowanie: 2 zasady. Tylko zdalne urządzenie Bluetooth Satechi. „następny” przycisk multimediów odwzorowuje na strzałkę w prawo, „poprzedni” przycisk multimediów na strzałkę w lewo. Dotyczy wszystkich aplikacji.

Załaduj reguły

Zapisz plik XML. Wróć do aplikacji Karabiner. Przejdź do zakładki „Zmień klucz”. Kliknij „Przeładuj XML” w lewym górnym rogu. Nowe zasady powinny się teraz pojawić. Zaznacz pola, aby włączyć reguły. Sprawdź, czy nowe mapowania kluczy działają zgodnie z oczekiwaniami.

wprowadź opis zdjęcia tutaj

Aplikacja zdecydowanie nie jest przyjazna dla użytkownika, ale pozwoliła mi skonfigurować dokładnie to, czego chciałem, gdy zrozumiałem opcje. Karabiner jest trochę błędny ... Niektóre zdarzenia przestały się wyświetlać w przeglądarce zdarzeń, mimo że reguły mapowania nadal działały ... restart pomaga.

matpr
źródło
1
Wygląda na to, że następca Karabinera, Karabiner-Elements, który jest wymaganym uaktualnieniem dla nowszych wersji MacOS, nie widzi sterowania urządzeniami multimedialnymi Bluetooth. Nowy EventViewer w ogóle nie rejestruje takich naciśnięć przycisków, ale mimo to iTunes nadal się uruchamia. :(
wfaulk