У мене була схожа проблема з мишкою 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, оскільки це здається єдиною очевидною функцією для цієї кнопки. Але знову ж таки, ви можете редагувати файл на свій смак. Важка частина була з'ясування правильних спускових механізмів, і вони все там. Вам просто потрібно змінити те, на що вони відображаються (тобто останній рядок запису автогену).
УВАГА! Примітка. Вам, ймовірно, доведеться змінити продукцію, щоб відповідати ідентифікатору вашого Logitech USB-приймача. Клацніть піктограму меню Карабіндера, а потім «Запустити переглядач подій ...» та вкладку «Пристрої», щоб знайти ідентифікатор свого пристрою. І ще одна остання думка ... Я думаю, що 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>