Como posso modificar o comportamento dos botões de mouses somente para PC no Mac que não emitem eventos de chave padrão USB? [fechadas]

23

Eu tenho um mouse sem fio Logitech M510 e estou em um Mac. No momento, posso atribuir ações diferentes aos 2 botões de polegar no painel de controle da Logitech. O que eu quero fazer é ter combinações de botões do mouse para executar ações.

Portanto, se eu estiver segurando o botão 1 do polegar e clicar no botão esquerdo, uma guia será fechada no Chrome. Assim como qualquer outra combinação "mantenha um botão, clique em outro".

Existe uma maneira de realizar esse tipo de personalização?

roflwaffle
fonte
Para controles básicos, pode-se instalar as opções da Logitech . Testado no Mac OSX Yosemite, Mouse Logitech M510
Ricardo
Eu sempre conecto um Apple Mighty ou Magic Mouse real para abrir o painel Preferências do Sistema, editar as configurações e voltar ao meu mouse para jogos. Funciona. Muito estranho. Tenho certeza de que há uma solução alternativa.
Sudo #

Respostas:

28

A Better Touch Tool faz o que você deseja. Acabei de baixar e estou gostando muito: http://www.boastr.net/

Acredito que também esteja disponível na Mac App Store.

Suporta:

  • Magic Mouse
  • Trackpad para Macbook
  • Magic Trackpad
  • atalhos do teclado
  • ratos normais
  • Apple Remote
user276007
fonte
Obrigado por esta dica, boa ferramenta. Consegui atribuir ações de retorno e avanço de página aos meus botões laterais do MX518.
T0r0X
Better Touch Tool é o caminho a percorrer, basicamente você pode fazer qualquer personalização com ele.
Maksim Luzik
Eu precisava sair do meu software Logitech Gaming Center, que estava remapeando as chaves. Então a Better Touch Tool funcionou como um encanto!
Rob Sábio
Ferramenta de toque melhor agora é pagar apenas (Free foi embora), parece não vale o dinheiro por alguns pressiona o botão
bwawok
18

Eu tive um problema semelhante com o mouse Logitech M560 no meu MacBook Air. EU AMO esse mouse! Ele tem 5 botões e uma roda de inclinação, alças de borracha reais (não aquelas coisas que ficam em spray depois de um ano), 1 ano de bateria e o melhor de tudo ... pesa apenas 92 gramas com uma célula de lítio !!! Tão maravilhoso. Mas não é compatível com Mac e nenhum dos drivers USB de terceiros trabalha com ele. Isso ocorre porque alguns dos botões não enviam eventos de clique no botão USB (uma prática muito ruim se você me perguntar), mas enviam atalhos de teclado codificados / eventos de toque específicos do Windows. O USB Overdrive e o SteerMouse procuram apenas eventos de clique no USB, para que eles não possam "encontrar" a maioria dos botões.

Eu encontrei uma solução!

  1. Faça o download do Karabiner: https://pqrs.org/osx/karabiner/
  2. Instale, inicie e conceda permissão em "Preferências do Sistema> Segurança"
  3. No aplicativo, clique em "Abrir private.xml" na guia "Diversos e desinstalar"
  4. Crie re-mapeamentos específicos do dispositivo para fazer o que quiser! (Documentação sobre a edição do XML: https://pqrs.org/osx/karabiner/xml.html.en )

Como alguns dos botões do M560 enviam pressionamentos de tecla somente para Windows que um Mac não consegue entender, em alguns casos, os únicos pressionamentos de tecla que seu Mac "verá" são pressionamentos de comando ou opção! Mas é seguro re-mapear esses dados, pois o re-mapeamento é específico do dispositivo. Eles SOMENTE são acionados quando enviados pelo mouse. Então eu fui capaz de ganhar controle sobre TODOS os botões do M560!

Meu arquivo private.xml para o Karabiner está abaixo e inclui mapeamentos para todos os atalhos comuns de "Controle de missão" dos dois botões de polegar. O único mapeamento que incluí para o botão do meio é o Launchpad, pois essa parece ser a única função óbvia para esse botão. Mas, novamente, você pode editar o arquivo ao seu gosto. A parte difícil foi descobrir os gatilhos certos e eles estão todos lá. Você apenas precisa alterar para o que eles mapeiam (ou seja, a última linha da entrada do autogen).

OBSERVAÇÃO: você provavelmente também precisará alterar o ID do produto para corresponder ao ID do seu receptor USB Logitech. Clique no ícone da barra de menus do Karabinder e, em seguida, em "Iniciar visualizador de eventos ..." e na guia "Dispositivos" para encontrar o ID do seu dispositivo. E um pensamento final ... acho que o deviceid é na verdade o receptor unificado (não o mouse), portanto, se você estiver usando um teclado da Logitech, poderá ter azar, já que alguns desses mapeamentos atrapalharão as teclas de comando e opção. Por exemplo, a única coisa que o botão de encaminhamento envia que um Mac pode entender é a chave de comando correta! Mas se você estiver usando apenas o mouse M560, estará pronto!

Aqui está o meu arquivo 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>
David Lewis
fonte
Isso funcionou para o meu M560 também, depois que removi o Logitech Control Center (já o tinha instalado para o mouse anterior). O Unifying Software pode permanecer instalado.
mike__t
1
@mike__t Meu botão do meio do M560 está disparando eventos diferentes a cada clique. Na primeira vez que ele dispara F4, na segunda vez, clique esquerdo. Alguma idéia do porquê?
bengem
Obrigado pela sua configuração! Tenho uma pergunta: como você diferencia a rolagem esquerda / direita do zoom out / in? Eles têm o mesmo mapeamento - parece que não podem ser ativados juntos, estou certo?
Lucas
aqui está o botão voltar e avançar para ergonomia humana ev mouse: code
jesse cai
7

Consegui parar a abertura do Expose quando pressionei o botão Voltar do Microsoft Bluetooth Wireless Mouse 5000 com System Preferences -> Mission Control -> Mouse Button 4 -> -.

mcandre
fonte
3
Isso é divertido. Isso funciona perfeitamente ainda não há nenhuma construído em controles mínimos para alterá-lo para qualquer coisa, mas estes 4 opções ..
Keith Smiley
6

Você pode tentar usar o USB Overdrive ou o SteerMouse para alguma personalização do mouse. Não sei se o utilitário Logitech sozinho é suficiente.

Combine-o com os Serviços Mac OS X (por exemplo, do Automator) aos quais são atribuídos atalhos de teclado nas Preferências do Sistema , ou utilitários como Butler ou Keyboard Maestro .

Daniel Beck
fonte