Ho avuto un problema simile con il mouse Logitech M560 sul mio MacBook Air. ADORO questo mouse! Ha 5 pulsanti più una rotella di inclinazione, impugnature in vera gomma (non quella roba spray che diventa gommosa dopo un anno), 1 anno di durata della batteria e soprattutto ... pesa solo 92 grammi con una cella al litio !!! Così impressionante. Ma non è affatto compatibile con Mac e nessuno dei driver USB di terze parti funziona con esso. Questo perché alcuni dei pulsanti non inviano affatto eventi di clic sui pulsanti USB (una pratica piuttosto scadente se me lo chiedi) ma piuttosto inviano scorciatoie da tastiera / eventi tattili specifici di Windows. USB Overdrive e SteerMouse cercano solo eventi di clic USB in modo che non possano "trovare" la maggior parte dei pulsanti.
Ho trovato una soluzione però!
- Scarica Karabiner: https://pqrs.org/osx/karabiner/
- Installa, avvia e concedi l'autorizzazione in "Preferenze di Sistema> Sicurezza"
- Nell'app fare clic su "Apri private.xml" nella scheda "Misc & Uninstall"
- Crea re-mapping specifici per dispositivo per fare quello che vuoi! (Documentazione sulla modifica dell'XML: https://pqrs.org/osx/karabiner/xml.html.en )
Poiché alcuni dei pulsanti dell'M560 inviano sequenze di tasti solo per Windows che un Mac non può capire, in alcuni casi le uniche battute che il tuo Mac "vedrà" sono un comando o un'opzione di battitura! Ma è sicuro mappare nuovamente quelli poiché la rimappatura è specifica del dispositivo. Sparano SOLO quando vengono inviati dal mouse. Così sono stato in grado di ottenere il controllo su TUTTI i pulsanti dell'M560!
Il mio file private.xml per Karabiner è sotto e include i mapping per tutte le scorciatoie comuni "Mission Control" per i due pulsanti a pollice. L'unica mappatura che ho incluso per il pulsante centrale è Launchpad poiché sembra l'unica funzione ovvia per quel pulsante. Ma ancora una volta, puoi modificare il file a tuo piacimento. La parte difficile era capire i grilletti giusti e sono tutti lì dentro. Devi solo cambiare ciò a cui mappano (cioè l'ultima riga della voce autogena).
NOTA: probabilmente dovrai cambiare il productid affinché corrisponda anche all'ID del tuo ricevitore USB Logitech. Fai clic sull'icona della barra dei menu di Karabinder, quindi su "Avvia Visualizzatore eventi ..." e sulla scheda "Dispositivi" per trovare l'ID del tuo dispositivo. E un ultimo pensiero ... Penso che deviceid sia in realtà il ricevitore unificato (non il mouse) quindi se stai usando una tastiera Logitech potresti essere sfortunato dal momento che alcune di queste mappature rovineranno i tuoi tasti di comando e opzione. Ad esempio, l'unica cosa che il pulsante del pollice in avanti invia a un Mac è in grado di capire è il tasto di comando giusto! Ma se stai usando solo il mouse M560, sei a posto!
Ecco il mio file 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>