¿Cómo puedo modificar el comportamiento de los botones para ratones solo para PC en Mac que no emiten eventos de clave estándar USB? [cerrado]

23

Tengo un mouse inalámbrico Logitech M510 y estoy en una Mac. En este momento puedo asignar diferentes acciones a los 2 botones de control a través del panel de control de Logitech. Lo que quiero hacer es tener combinaciones de botones del mouse para realizar acciones.

Entonces, si sostengo el botón del pulgar 1 y hago clic en el botón izquierdo, se cerrará una pestaña en Chrome. Además de cualquier otra combinación de "mantener presionado un botón, hacer clic en otro".

¿Hay alguna manera de lograr este tipo de personalización?

roflwaffle
fuente
Para controles básicos, uno puede querer instalar las opciones de Logitech . Probado en Mac OSX Yosemite, Mouse Logitech M510
Ricardo
Siempre conecto un Apple Mighty o Magic Mouse real para que aparezca el panel de Preferencias del Sistema, edito la configuración y luego vuelvo a mi mouse para juegos. Funciona. Muy extraño. Estoy seguro de que hay una solución alternativa.
sudo

Respuestas:

28

Better Touch Tool hace lo que quieres. Lo acabo de descargar y lo estoy disfrutando muchísimo: http://www.boastr.net/

Creo que también está disponible en la tienda de aplicaciones de Mac.

Apoya:

  • Ratón Mágico
  • Macbook Trackpad
  • Magic Trackpad
  • atajos de teclado
  • ratones normales
  • Apple Remote
usuario276007
fuente
Gracias por esta pista, buena herramienta. Pude asignar acciones de avance y retroceso de página a mis botones laterales MX518.
t0r0X
Better Touch Tool es el camino a seguir, básicamente puede hacer cualquier personalización con ella.
Maksim Luzik
Necesitaba salir de mi software Logitech Gaming Center que estaba reasignando las teclas. ¡Entonces Better Touch Tool funcionó de maravilla!
Rob Wise
La mejor herramienta táctil ahora es solo de pago (se fue gratis), parece que no vale la pena presionar unos pocos botones
bwawok
18

Tuve un problema similar con el mouse Logitech M560 en mi MacBook Air. ¡ME ENCANTA este ratón! Tiene 5 botones más una rueda de inclinación, empuñaduras de goma reales (no esas cosas en aerosol que se vuelven pegajosas después de un año), 1 año de duración de la batería y lo mejor de todo ... ¡pesa solo 92 gramos con una celda de litio! Tan genial. Pero no es compatible con Mac en absoluto y ninguno de los controladores USB de terceros funciona con él. Eso se debe a que algunos de los botones no envían eventos de clic de botón USB (una práctica bastante pobre si me preguntas), sino que envían atajos de teclado codificados / eventos táctiles que son específicos de Windows. USB Overdrive y SteerMouse solo buscan eventos de clic USB para que no puedan "encontrar" la mayoría de los botones.

¡Encontré una solución sin embargo!

  1. Descargar Karabiner: https://pqrs.org/osx/karabiner/
  2. Instala, inicia y dale permiso en "Preferencias del sistema> Seguridad"
  3. En la aplicación, haga clic en "Abrir private.xml" en la pestaña "Misc y desinstalar"
  4. ¡Crea reasignaciones específicas del dispositivo para hacer lo que quieras! (Documentación sobre la edición del XML: https://pqrs.org/osx/karabiner/xml.html.en )

Dado que algunos de los botones M560 envían pulsaciones de teclas exclusivas de Windows que una Mac no puede entender, ¡en algunos casos las únicas pulsaciones de teclas que su Mac "verá" son las teclas de comando u opción! Pero es seguro volver a asignarlos, ya que la reasignación es específica del dispositivo. SOLO se disparan cuando se envían desde su mouse. ¡Así que pude obtener el control sobre TODOS los botones M560!

Mi archivo private.xml para Karabiner está debajo e incluye asignaciones para todos los atajos comunes de "Control de Misión" para los dos botones de control. La única asignación que incluí para el botón central es Launchpad, ya que parece ser la única función obvia para ese botón. Pero, de nuevo, puede editar el archivo a su gusto. La parte difícil fue descubrir los desencadenantes correctos y todos están ahí. Solo tiene que cambiar a qué se asignan (es decir, la última línea de la entrada de autogen).

TENGA EN CUENTA: probablemente también tenga que cambiar el productid para que coincida con la ID de su receptor USB Logitech. Haga clic en el icono de la barra de menús de Karabinder y luego en "Iniciar Visor de eventos ..." y en la pestaña "Dispositivos" para encontrar la ID de su dispositivo. Y una última reflexión ... Creo que el deviceid es en realidad el receptor unificado (no el mouse), por lo que si está utilizando un teclado Logitech puede que no tenga suerte, ya que algunas de estas asignaciones arruinarán sus teclas de comando y opción. Por ejemplo, ¡lo único que el botón de avance envía que una Mac puede entender es la tecla de comando correcta! Pero si solo usa el mouse M560, ¡está listo para comenzar!

Aquí está mi archivo 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>
David Lewis
fuente
Esto también funcionó para mi M560, una vez que eliminé el Centro de control de Logitech (ya lo tenía instalado para el mouse anterior). El software unificador puede permanecer instalado.
mike__t
1
@mike__t Mi botón central M560 dispara diferentes eventos con cada clic. La primera vez que dispara F4, la segunda vez que hace clic izquierdo. ¿Alguna idea de por qué?
bengem
¡Gracias por tu configuración! Tengo una pregunta: ¿cómo diferencia el desplazamiento hacia la izquierda / derecha del alejamiento / acercamiento? Tienen el mismo mapeo: parece que no se pueden habilitar juntos, ¿estoy en lo cierto?
Lucas
aquí está el botón de retroceso y avance para la ergonomía humana ev mouse: code
jesse cai
7

Pude evitar que Expose se abriera cuando presioné el botón Atrás de mi Bluetooth Wireless Mouse 5000 de Microsoft System Preferences -> Mission Control -> Mouse Button 4 -> -.

mcandre
fuente
3
Esto es divertido Esto funciona perfectamente, sin embargo, no hay controles integrados del sistema operativo para cambiarlo a otra cosa que no sean estas 4 opciones ..
Keith Smiley
6

Puede intentar usar USB Overdrive o SteerMouse para personalizar el mouse. No sé si la utilidad Logitech por sí sola es suficiente.

Combinarlo con Mac OS X Servicios (por ejemplo, de Automator) que se asignan los atajos de teclado en Preferencias del sistema , o los servicios públicos como mayordomo o Keyboard Maestro .

Daniel Beck
fuente