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!
- Faça o download do Karabiner: https://pqrs.org/osx/karabiner/
- Instale, inicie e conceda permissão em "Preferências do Sistema> Segurança"
- No aplicativo, clique em "Abrir private.xml" na guia "Diversos e desinstalar"
- 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>