Как изменить поведение кнопок для мышей, работающих только на ПК, на Mac, которые не генерируют стандартные события USB-ключа? [закрыто]

23

У меня беспроводная мышь Logitech M510, и я работаю на Mac. Прямо сейчас я могу назначить различные действия двум большим пальцам на панели управления Logitech. То, что я хочу сделать, это иметь комбо кнопки мыши для выполнения действий.

Поэтому, если я удерживаю кнопку большого пальца 1 и нажимаю левую кнопку, вкладка закроется в Chrome. Как и любая другая комбинация «держи одну кнопку, нажми другую».

Есть ли способ выполнить этот тип настройки?

roflwaffle
источник
Для базовых элементов управления можно установить параметры Logitech . Протестировано на Mac OSX Yosemite, мыши Logitech M510
Рикардо
Я всегда подключаю настоящую Apple Mighty или Magic Mouse, чтобы открыть панель «Системные настройки», отредактировать настройки, а затем переключиться обратно на свою игровую мышь. Оно работает. Очень странно. Я уверен, что есть обходной путь.
Судо

Ответы:

28

Better Touch Tool делает то, что вы хотите. Я только что скачал и наслаждаюсь этим: http://www.boastr.net/

Я считаю, что это также доступно в магазине приложений Mac.

Поддерживает:

  • Волшебная мышь
  • Macbook Trackpad
  • Волшебный трекпад
  • горячие клавиши
  • нормальные мыши
  • Apple Remote
user276007
источник
Спасибо за этот совет, хороший инструмент. Был в состоянии назначить действия назад и вперед для моих боковых кнопок MX518.
t0r0X
Лучше Touch Tool это путь, в основном можно сделать любую настройку с ним.
Максим Лузик
Мне нужно было выйти из моего программного обеспечения Logitech Gaming Center, которое перераспределяло ключи. Тогда Better Touch Tool работал как шарм!
Роб Уайз
Лучший сенсорный инструмент теперь только платный (бесплатный ушел), кажется, не стоит денег за несколько нажатий кнопок
bwawok
18

У меня была похожая проблема с мышью Logitech M560 на моем MacBook Air. Я люблю эту мышь! Он имеет 5 кнопок плюс колесо наклона, настоящие резиновые ручки (не те брызги, которые становятся липкими через год), 1 год автономной работы и, что самое приятное ... весит всего 92 грамма с литиевой батареей !!! Так круто. Но это совсем не совместимо с Mac, и ни один из сторонних драйверов USB не работает с ним. Это потому, что некоторые кнопки вообще не отправляют события нажатия кнопки USB (довольно плохая практика, если вы спросите меня), а скорее отправляют жестко запрограммированные сочетания клавиш / сенсорные события, характерные для Windows. USB Overdrive и SteerMouse ищут только события щелчка USB, поэтому они не могут «найти» большинство кнопок.

Я нашел решение, хотя!

  1. Загрузить Карабинер: https://pqrs.org/osx/karabiner/
  2. Установите, запустите и дайте ему разрешение в «Системных настройках> Безопасность»
  3. В приложении нажмите «Открыть private.xml» на вкладке «Разное и удалить»
  4. Создавайте привязки для конкретного устройства, чтобы делать все, что вы хотите! (Документация по редактированию 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>
Дэвид Льюис
источник
Это сработало и для моего M560, когда я удалил Logitech Control Center (он уже был установлен для предыдущей мыши). Программное обеспечение Unifying может оставаться установленным.
mike__t
1
@mike__t Моя средняя кнопка M560 запускает различные события при каждом щелчке .. При первом запуске F4, второй раз при щелчке левой кнопкой мыши. Есть идеи почему?
Бенгем
Спасибо за вашу конфигурацию! У меня вопрос: как вы отличаете прокрутку влево / вправо от уменьшения / увеличения? У них одинаковое отображение - похоже, их нельзя включить вместе, я прав?
Лукас
вот кнопка «назад» и «вперед» для эргономики человека и мыши: code
jesse cai
7

Я смог остановить открытие «Expose», когда нажал кнопку «Назад» на беспроводной Bluetooth-мыши Microsoft Bluetooth 5000 System Preferences -> Mission Control -> Mouse Button 4 -> -.

mcandre
источник
3
Это забавно. Это работает отлично, но нет встроенных элементов управления ОС, чтобы изменить его на что-либо, кроме этих 4 вариантов ..
Кейт Смайли
6

Вы можете попробовать использовать USB Overdrive или SteerMouse для настройки мыши. Я не знаю, достаточно ли одной утилиты Logitech.

Объедините его с Mac OS X Services (например, от Automator), которым назначены сочетания клавиш в Системных настройках , или такими утилитами, как Butler или Keyboard Maestro .

Даниэль Бек
источник