Jak mogę zmodyfikować zachowanie przycisków myszy na komputerach PC, które nie emitują zdarzeń kluczowych dla standardu USB? [Zamknięte]


23

Mam bezprzewodową mysz Logitech M510 i pracuję na komputerze Mac. Obecnie mogę przypisywać różne akcje do 2 przycisków kciukowych za pomocą panelu sterowania Logitech. Chcę mieć kombinacje przycisków myszy do wykonywania akcji.

Więc jeśli trzymam przycisk kciuka 1 i klikam lewy przycisk, karta zamknie się w Chrome. Jak każda inna kombinacja „przytrzymaj jeden przycisk, kliknij inny”.

Czy istnieje sposób na osiągnięcie tego rodzaju dostosowania?


W przypadku podstawowych elementów sterujących można zainstalować opcje Logitech . Testowany na Mac OSX Yosemite, Mouse Logitech M510
Ricardo

Zawsze podłączam rzeczywistą mysz Apple Mighty lub Magic Mouse, aby wyświetlić panel Preferencje systemowe, edytować ustawienia, a następnie wrócić do myszy do grania. To działa. Bardzo dziwny. Jestem pewien, że istnieje obejście tego problemu.
sudo

Odpowiedzi:


28

Narzędzie Better Touch robi to, co chcesz. Właśnie go pobrałem i bardzo się cieszę: http://www.boastr.net/

Uważam, że jest on również dostępny w sklepie Mac App Store.

To wspiera:

  • Magic Mouse
  • Gładzik Macbook
  • Magic Trackpad
  • Skróty klawiszowe
  • normalne myszy
  • Apple Remote

Dzięki za podpowiedź, dobre narzędzie. Był w stanie przypisać akcje wstecz i dalej do moich bocznych przycisków MX518.
t0r0X

Narzędzie Better Touch Tool to droga, w zasadzie można z nim dowolnie dostosowywać.
Maksim Luzik,

Musiałem wyjść z mojego oprogramowania Logitech Gaming Center, które mapowało klucze. Wtedy Better Touch Tool działało jak urok!
Rob Wise,

Lepsze narzędzie dotykowe jest teraz tylko płatne (za darmo odszedł), wydaje się nie warte swojej ceny za kilka naciśnięć przycisków
bwawok

18

Miałem podobny problem z myszą Logitech M560 na moim MacBooku Air. UWIELBIAM tę mysz! Ma 5 przycisków plus kółko przechylne, prawdziwe gumowe uchwyty (nie te natryskowe rzeczy, które stają się gumowate po roku), 1 rok żywotności baterii, a co najważniejsze ... waży zaledwie 92 gramy z ogniwem litowym !!! Niesamowite. Ale w ogóle nie jest kompatybilny z Mac i żaden ze sterowników USB innych firm nie działa z tym. To dlatego, że niektóre przyciski w ogóle nie wysyłają zdarzeń kliknięcia przycisku USB (dość kiepska praktyka, jeśli mnie pytasz), ale raczej wysyłają zakodowane skróty klawiaturowe / zdarzenia dotykowe specyficzne dla systemu Windows. USB Overdrive i SteerMouse szukają tylko zdarzeń kliknięcia USB, więc nie mogą „znaleźć” większości przycisków.

Znalazłem jednak rozwiązanie!

  1. Pobierz Karabiner: https://pqrs.org/osx/karabiner/
  2. Zainstaluj, uruchom i daj mu uprawnienia w „Preferencjach systemowych> Bezpieczeństwo”
  3. W aplikacji kliknij „Otwórz plik private.xml” w zakładce „Różne i odinstaluj”
  4. Twórz mapowania specyficzne dla urządzenia, aby robić co chcesz! (Dokumentacja dotycząca edycji XML: https://pqrs.org/osx/karabiner/xml.html.en )

Ponieważ niektóre przyciski M560 wysyłają tylko naciśnięcia klawiszy systemu Windows, których komputer Mac nie może zrozumieć, w niektórych przypadkach jedynymi naciśnięciami klawiszy, które „zobaczy” Twój Mac, są klawisze poleceń lub opcji! Ale można je ponownie mapować, ponieważ ponowne mapowanie jest specyficzne dla urządzenia. Wystrzeliwują TYLKO po wysłaniu z myszy. Dzięki temu mogłem przejąć kontrolę nad WSZYSTKIMI przyciskami M560!

Mój plik private.xml dla Karabinera znajduje się poniżej i zawiera mapowania wszystkich popularnych skrótów „Mission Control” dla dwóch przycisków kciuka. Jedyne mapowanie, które podałem dla środkowego przycisku, to Launchpad, ponieważ wydaje się to jedyną oczywistą funkcją tego przycisku. Ale znowu możesz edytować plik według własnych upodobań. Trudność polegała na znalezieniu właściwych wyzwalaczy i wszystkie są w środku. Musisz tylko zmienić to, na co mapują (tj. Ostatni wiersz wpisu autogenu).

UWAGA: Prawdopodobnie będziesz musiał zmienić identyfikator produktu, aby pasował do identyfikatora odbiornika USB Logitech. Kliknij ikonę paska menu Karabinder, a następnie „Uruchom przeglądarkę zdarzeń ...” i kartę „Urządzenia”, aby znaleźć identyfikator swojego urządzenia. I ostatnia myśl ... Myślę, że deviceid jest w rzeczywistości zunifikowanym odbiornikiem (nie myszą), więc jeśli używasz klawiatury Logitech, możesz mieć pecha, ponieważ niektóre z tych mapowań zepsują klawisze poleceń i opcji. Na przykład jedyne, co wysyła przycisk kciuka do przodu, który Mac może zrozumieć, to odpowiedni klawisz polecenia! Ale jeśli używasz tylko myszy M560, możesz zacząć!

Oto mój plik private.xml.

    <?xml version="1.0"?>
<root>
    <item>
    <name>Logitech M560 Mouse - Macintosh Shortcuts</name>

        <!-- Middle Button - Launchpad -->
        <devicevendordef>
            <vendorname>LOGITECH</vendorname>
            <vendorid>0x046d</vendorid>
        </devicevendordef>
        <deviceproductdef>
            <productname>USB_Receiver</productname>
            <productid>0xc52b</productid>
        </deviceproductdef>
        <item>
            <name>Middle Button -> Launchpad</name>
            <identifier>private.deviceproductdef_middle_button_to_launchpad</identifier>
            <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
            <autogen>__SimultaneousKeyPresses__ 
            KeyCode::OPTION_L, KeyCode::COMMAND_L, 
            KeyCode::F4
            </autogen>
        </item>

        <item>
            <name>Tilt Wheel</name>

            <!-- M560 Tilt Left - Zoom Out -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Left -> Zoom Out</name>
                <identifier>private.deviceproductdef_tilt_left_to_zoom_out</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::BRACKET_LEFT, ModifierFlag::COMMAND_L,
                    KeyCode::MINUS, ModifierFlag::COMMAND_L
                </autogen>
            </item>

            <!-- M560 Tilt Left - Scroll Left -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Left -> Scroll Left</name>
                <identifier>private.deviceproductdef_tilt_left_to_scroll_left</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::BRACKET_LEFT, ModifierFlag::COMMAND_L,
                    KeyCode::CURSOR_LEFT
                </autogen>
            </item>

            <!-- M560 Tilt Right - Zoom In -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Right -> Zoom In</name>
                <identifier>private.deviceproductdef_tilt_right_to_zoom_out</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::BRACKET_RIGHT, ModifierFlag::COMMAND_L,
                    KeyCode::EQUAL, ModifierFlag::COMMAND_L
                </autogen>
            </item>

            <!-- M560 Tilt Right - Scroll Right -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Right -> Scroll Right</name>
                <identifier>private.deviceproductdef_tilt_right_to_scroll_right</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::BRACKET_RIGHT, ModifierFlag::COMMAND_L,
                    KeyCode::CURSOR_RIGHT
                </autogen>
            </item>

        </item>
        <item>
            <name>Forward Button</name>

            <!-- M560 Forward Button - Forward in Safari -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Forward in Safari</name>
                <identifier>private.deviceproductdef_forward_button_to_safari_forward</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::COMMAND_R,
                    KeyCode::BRACKET_RIGHT, ModifierFlag::COMMAND_L
                </autogen>
            </item>

            <!-- M560 Forward Button - Mission Control -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Mission Control</name>
                <identifier>private.deviceproductdef_forward_button_to_mission_control</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::COMMAND_R,
                    KeyCode::CURSOR_UP, ModifierFlag::CONTROL_L
                </autogen>
            </item>

            <!-- M560 Forward Button - Application Windows -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Application Windows</name>
                <identifier>private.deviceproductdef_forward_button_to_application_windows</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::COMMAND_R,
                    KeyCode::CURSOR_DOWN, ModifierFlag::CONTROL_L
                </autogen>
            </item>

            <!-- M560 Forward Button - Desktop -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Show Desktop</name>
                <identifier>private.deviceproductdef_forward_button_to_show_desktop</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::COMMAND_R,
                    KeyCode::F11
                </autogen>
            </item>

            <!-- M560 Forward Button - Dashboard -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Show Dashboard</name>
                <identifier>private.deviceproductdef_forward_button_to_show_dashboard</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::COMMAND_R,
                    KeyCode::F12
                </autogen>
            </item>
        </item>

        <item>
            <name>Back Button</name>

            <!-- M560 Back Button - Back in Safari -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Back in Safari</name>
                <identifier>private.deviceproductdef_back_button_to_safari_back</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::D, ModifierFlag::COMMAND_L,
                    KeyCode::BRACKET_LEFT, ModifierFlag::COMMAND_L
                </autogen>
            </item>

            <!-- M560 Back Button - Mission Control -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Mission Control</name>
                <identifier>private.deviceproductdef_back_button_to_mission_control</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::D, ModifierFlag::COMMAND_L,
                    KeyCode::CURSOR_UP, ModifierFlag::CONTROL_L
                </autogen>
            </item>

            <!-- M560 Back Button - Application Windows -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Application Windows</name>
                <identifier>private.deviceproductdef_back_button_to_application_windows</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::D, ModifierFlag::COMMAND_L,
                    KeyCode::CURSOR_DOWN, ModifierFlag::CONTROL_L
                </autogen>
            </item>

            <!-- M560 Back Button - Show Desktop -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Show Desktop</name>
                <identifier>private.deviceproductdef_back_button_to_show_desktop</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::D, ModifierFlag::COMMAND_L,
                    KeyCode::F11
                </autogen>
            </item>

            <!-- M560 Back Button - Show Dashboard -->
            <devicevendordef>
                <vendorname>LOGITECH</vendorname>
                <vendorid>0x046d</vendorid>
            </devicevendordef>
            <deviceproductdef>
                <productname>USB_Receiver</productname>
                <productid>0xc52b</productid>
            </deviceproductdef>
            <item>
                <name>Show Dashboard</name>
                <identifier>private.deviceproductdef_back_button_to_show_dashboard</identifier>
                <device_only>DeviceVendor::LOGITECH, DeviceProduct::USB_Receiver</device_only>
                <autogen>__KeyToKey__
                    KeyCode::D, ModifierFlag::COMMAND_L,
                    KeyCode::F12
                </autogen>
            </item>

        </item>
    </item>
</root>

Działa to również dla mojego M560, gdy usunąłem Logitech Control Center (już zainstalowane dla poprzedniej myszy). Oprogramowanie Unifying może pozostać zainstalowane.
mike__t

1
@ mike__t Mój środkowy przycisk M560 uruchamia różne zdarzenia przy każdym kliknięciu .. Przy pierwszym uruchomieniu F4, po raz drugi lewym przyciskiem myszy. Masz pomysł, dlaczego?
bengem

Dziękujemy za konfigurację! Mam pytanie: jak odróżnić przewijanie w lewo / prawo od pomniejszania / powiększania? Mają to samo mapowanie - wygląda na to, że nie można ich razem włączyć, prawda?
Lucas,

tutaj jest przycisk Wstecz i Dalej myszy ludzkiej ergonomii ev: code
Jesse Cai


7

Byłem w stanie zatrzymać otwieranie Expose po naciśnięciu przycisku Wstecz myszy Microsoft Bluetooth Wireless Mouse 5000 System Preferences -> Mission Control -> Mouse Button 4 -> -.


3
To jest zabawne Działa to doskonale, ale nie ma wbudowanych elementów sterujących systemu operacyjnego, aby zmienić go na cokolwiek oprócz tych 4 opcji ..
Keith Smiley

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.