У меня была похожая проблема с мышью Logitech M560 на моем MacBook Air. Я люблю эту мышь! Он имеет 5 кнопок плюс колесо наклона, настоящие резиновые ручки (не те брызги, которые становятся липкими через год), 1 год автономной работы и, что самое приятное ... весит всего 92 грамма с литиевым элементом !!! Так круто. Но это совсем не совместимо с Mac, и ни один из сторонних драйверов USB не работает с ним. Это связано с тем, что некоторые кнопки вообще не отправляют события нажатия кнопки USB (довольно плохая практика, если вы спросите меня), а скорее отправляют жестко запрограммированные сочетания клавиш / сенсорные события, характерные для Windows. USB Overdrive и SteerMouse ищут только события щелчка USB, поэтому они не могут "найти" большинство кнопок.
Я нашел решение, хотя!
- Загрузить карабинер: https://pqrs.org/osx/karabiner/
- Установите, запустите и дайте ему разрешение в «Системных настройках> Безопасность»
- В приложении нажмите «Открыть private.xml» на вкладке "Разное и удалить"
- Создавайте привязки для конкретного устройства, чтобы делать все, что вы хотите! (Документация по редактированию XML: https://pqrs.org/osx/karabiner/xml.html.en)
Так как некоторые кнопки M560 посылают нажатия клавиш только для Windows, которые не может понять Mac, в некоторых случаях единственные нажатия клавиш, которые ваш Mac "увидит", - это команда или опция нажатия клавиш! Но переопределить их безопасно, поскольку переопределение зависит от устройства. Они ТОЛЬКО стреляют при отправке с вашей мыши. Таким образом, я смог получить контроль над ВСЕМИ кнопками M560!
Мой файл private.xml для Karabiner находится ниже и включает в себя сопоставления для всех общих ярлыков "Управление полетом" для двух кнопок большого пальца. Единственное сопоставление, которое я включил для средней кнопки, это Launchpad, так как это кажется единственной очевидной функцией для этой кнопки. Но опять же, вы можете редактировать файл по своему вкусу. Самым сложным было выяснить правильные триггеры, и они все там. Вы просто должны изменить то, что они отображают (то есть последняя строка записи автогена).
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: Вам, вероятно, придется изменить продукт, чтобы он соответствовал идентификатору вашего USB-приемника Logitech. Нажмите на значок меню Karabinder, а затем «Запустите средство просмотра событий ...» и вкладку "Устройства", чтобы найти идентификатор для вашего устройства. И одна заключительная мысль ... Я думаю, что deviceid на самом деле является унифицированным приемником (а не мышью), поэтому, если вы используете клавиатуру Logitech, вам может не повезти, так как некоторые из этих сопоставлений испортят ваши клавиши команд и опций. Например, единственное, что посылает кнопка "большой палец вперед", которую может понять Mac, - это правильная клавиша управления! Но если вы используете только мышь M560, то все в порядке!
Вот мой файл 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>