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

22

Eu tenho um mouse sem fio Logitech M510 e estou em um Mac. Agora posso atribuir ações diferentes aos dois botões de polegar através do painel de controle da Logitech. O que eu quero fazer é ter combos de botão do mouse para realizar ações.

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

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

    
por roflwaffle 07.01.2011 / 05:00

4 respostas

27

A Ferramenta Better Touch faz o que você deseja. Acabei de fazer o download e estou gostando: link

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

Ele suporta:

  • Mouse Mágico
  • Macbook Trackpad
  • Magic Trackpad
  • atalhos de teclado
  • mouses normais
  • Apple Remote
por 22.11.2013 / 00:01
17

Eu tive um problema semelhante com o mouse Logitech M560 no meu MacBook Air. Eu amo este rato! Ele tem 5 botões mais uma roda de inclinação, apertos de borracha reais (não aquele spray que fica pegajoso depois de um ano), 1 ano de duração da bateria e o melhor de tudo ... pesa apenas 92 gramas com uma célula de lítio !!! Tão legal. Mas não é compatível com Mac e nenhum dos drivers USB de terceiros funciona com ele. Isso porque alguns dos botões não enviam eventos de clique com botão USB (uma prática muito ruim se você me perguntar), mas sim enviam atalhos de teclado codificados / eventos de toque específicos do Windows. O USB Overdrive e o SteerMouse só procuram eventos de clique USB para que não possam "encontrar" a maioria dos botões.

Eu encontrei uma solução!

  1. Faça o download do Karabiner: link
  2. Instalar, iniciar e dar permissão em "Preferências do sistema > Segurança"
  3. No aplicativo, clique em "Abrir private.xml" na guia "Misc. e desinstalar"
  4. Crie re-mapeamentos específicos de dispositivos para fazer o que você quiser! (Documentação sobre como editar o XML: link )

Como alguns dos botões do M560 enviam pressionamentos de tecla somente do Windows que um Mac não entende, em alguns casos os únicos pressionamentos de tecla que o seu Mac "verá" são um comando ou uma opção de pressionamento de tecla! Mas é seguro mapeá-los novamente, já que o mapeamento é específico do dispositivo. Eles só disparam quando enviados pelo seu mouse. Então consegui controlar todos os botões do M560!

Meu arquivo private.xml para o Karabiner está abaixo e inclui mapeamentos para todos os atalhos comuns do "Controle da Missão" para os dois botões do polegar. O único mapeamento que incluí para o botão do meio é o Launchpad, já que 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ê só precisa alterar o que eles mapeiam (ou seja, a última linha da entrada do autogen).

ATENÇÃO: Você provavelmente terá que alterar o ID do produto para coincidir com o ID do seu receptor USB da Logitech também. Clique no ícone do menu do Karabinder e depois em "Iniciar o Visualizador de Eventos ..." e na guia "Dispositivos" para encontrar o ID do seu dispositivo. E um último pensamento ... Eu acho que o deviceid é realmente o receptor unificado (não o mouse), então se você estiver usando um teclado da Logitech, você pode estar sem sorte, já que alguns desses mapeamentos bagunçarão suas chaves de comando e opção. Por exemplo, a única coisa que o botão de polegar para frente envia que um Mac pode entender é a tecla de comando correta! Mas se você estiver usando apenas o mouse M560, é bom ir!

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>
    
por 10.11.2014 / 02:25
7

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

    
por 20.06.2013 / 05:21
6

Você pode tentar usar USB Overdrive ou 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 em Preferências do Sistema , ou utilitários como Butler ou Maestro do teclado .

    
por 07.01.2011 / 10:54