Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOW-TO] Guía para configurar el ratón y TODOS sus botones
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
Stolz
Moderator
Moderator


Joined: 19 Oct 2003
Posts: 3028
Location: Hong Kong

PostPosted: Tue Nov 01, 2005 8:29 pm    Post subject: [HOW-TO] Guía para configurar el ratón y TODOS sus botones Reply with quote

-- La siguiente guía está publicada bajo licencia Creative Commons 2.5 --

Actualizaciones:

  • 28 de Noviembre de 2005: Cambiado nombre del archio de la regla UDEV. Versión 1.02
  • 2 de Noviembre de 2005: Corregidos errores tipográficos (envent->event). Versión 1.01
  • 1 de Noviembre de 2005: Publicada la guía. Versión 1.0



Introducción

Si contamos la rueda como tres botones (rodar arriba, rodar abajo y presionar la rueda) podemos decir que el ratón Logitech MX500 dispone de un total de 10 botones. En esta guía voy a explicar como hacer que los 10 botones sean reconocidos y como asignarles funciones para sacar el máximo provecho del ratón. Gran parte de lo que se comenta es también aplicable a otros ratones como el MX510, el MX518, el MX700 o incluso otros ratones actuales con varios botones, no necesariamente de la marca Logitech.

Configuración de Xorg

El ratón se configura en la sección Section "InputDevice" del archivo /etc/X11/xorg.conf. Una breve descripción de las opciones se suelen usar en dicha sección:
  • Identifier es el identificador del dispositivo. Este identificado es el que usaremos para referirnos a nuestro ratón en el archivo de configuración de Xorg. Tener distintos identificadores permite tener distintos ratones configurados.
  • Driver "mouse" indica que el dispositivo que hemos definido es un ratón.
  • Option "Device" debe de apuntar a la ruta del dispositivo del ratón en nuestro sistema. Normalmente /dev/input/mice para ratones USB y /dev/psaux para ratones PS2.
  • Option "Buttons" indica al servidor X cuántos botones tiene el ratón.
  • Option "Protocol" indica el protocolo de comunicación que usa el ratón. Esta es la opción clave que nos va a permitir usar los 10 (o más) botones de nuestro ratón.
  • Option "ZAxisMapping" sirve para indicar que botones forman el eje Z que es con el que se identifica la rueda del ratón. El movimiento del ratón se identifica con los ejes X e Y.
  • Option "Emulate3Buttons" sirve para hacer que la pulsación simultánea de los dos botones principales se comporte como si fuese una pulsación del botón central. Como todos los ratones actuales tienen botón central lo normal es tener esta opción desactivada.


Una configuración típica para un ratón genérico de tres botones sería la siguiente:
Code:
# **********************************************************************
# Input device - Raton Generico
# **********************************************************************
Section "InputDevice"
        Identifier  "Raton Generico"
        Driver      "mouse"
        Option      "Device" "/dev/input/mice"
        Option      "Protocol"    "IMPS/2"
        Option      "ZAxisMapping"  "4 5"
        Option      "Emulate3Buttons"    "0"
EndSection

Por desgracia así es como la mayoría de gente tiene configurado su ratón. Esta configuración se nos queda corta ya que el protocolo IMPS/2 soporta un máximo de 5 botones, por lo que tendríamos más de la mitad de nuestro ratón desaprovechado.

Una alternativa sería usar la siguiente configuración con el protocolo ExplorerPS/2 que soporta hasta 7 botones:
Code:
# **********************************************************************
# Input device - Raton Logitech MX500
# **********************************************************************
Section "InputDevice"
        Identifier "Logitech MX500"
        Driver     "mouse"
        Option     "Device" "/dev/input/mice"
        Option     "Protocol" "ExplorerPS/2"
        Option     "Buttons" "7"
        Option     "ZAxisMapping"  "6 7"
        Option     "Emulate3Buttons"    "0"
EndSection
Esta alternativa se nos sigue quedando corta para poder usar los 10 botones.

Por suerte, desde hace bastantes versiones, x11-base/xorg-x11 incluye soporte del protocolo evdev, el cual soporta 8 o más botones sin problemas. Para configurar el ratón con dicho protocolo usar la siguiente configuración:
Code:
# **********************************************************************
# Input device - Raton Logitech MX500 con soporte evdev
# **********************************************************************
Section "InputDevice"
        Identifier "Logitech MX500 evdev"
        Driver     "mouse"
        Option     "Device" "/dev/input/event1"
        Option     "Dev Name" "B16_b_02 USB-PS/2 Optical Mouse"
        Option     "Protocol" "evdev"
        Option     "Buttons" "10"
        Option     "ZAxisMapping"  "9 10"
        Option     "Emulate3Buttons"    "0"
EndSection
La opción Option "Device" indica el dispositivo evdev que representa a nuestro ratón. Normalmente /dev/input/event1 es el ratón y /dev/input/event0 es el teclado.

El valor de la opción Option "Dev Name" lo obtenemos de la salida del comando
Code:
# cat /proc/bus/input/devices


Configuración del Kernel

Aparte de las opciones típicas de ratones USB, hay que activar las siguientes opciones en el Kernel para dar soporte al protocolo evdev:
Code:
Device Drivers --->
    Input device support --->
        <M> Event interface
Recompilar el kernel y cargar el modulo
Code:
# modprobe -v evdev

Si no tenemos instalado udev, para que el módulo se cargue automáticamente al iniciar hay que añadirlo al fichero /etc/modules.autoload.d/kernel-2.6.

Activando los botones extra del ratón

Por defecto, los botones que están encima y debajo de la rueda del ratón se comportan igual que ésta, es decir, es como si no existiesen. Además el botón 'cambio de tarea', también conocido como 'task switch' también está desactivado. Gracias al uso del protocolo evdev ya tenemos activado el botón 'task switch' pero para anular el comportamiento de los botones que están encima y debajo de la rueda del ratón tendremos que usar un programa externo.

Existen dos programas, Logitech Mouse Applet y LMCtl. Ambos programas están disponibles en Portage y sirven no solo para activar estos botones sino también para modificar algunos parámetros de nuestro ratón. Solo voy a explicar el uso de Logitech Applet puesto que al ser el que apareció antes es el que siempre he usado y el que mejor conozco.

Para instalarlo:
Code:
# emerge logitech-applet


Para anular el comportamiento anteriormente comentado ejecutar
Code:
# logitech_applet -d

y para volver a activarlo
Code:
# logitech_applet -e


Este programa también sirve para activar el segundo sensor de los Logitech y hacer que funcione a 800dpi en vez de a 400dpi. Para activar los 800dpi
Code:
# logitech_applet -s 800

y para desactivarlos y volver a 400dpi
Code:
# logitech_applet -s 400


Si queremos que estos comandos se ejecuten automáticamente al iniciar, podemos añadirlos en /etc/conf.d/local.start o mejor aun, crear una regla UDEV que lo ejecute automáticamente. Para crear la regla deberemos de averiguar el identificador de producto USB o idProduct de nuestro modelo de ratón. El identificador de fabricante o idVendor no es necesario averiguarlo ya que el de todos los Logitech es 046d. Para averiguar el idProduct podemos hacerlo desde cualquier utilidad que de información sobre los dispositivos conectados al bus USB, como puede ser el centro de información de KDE, el comando lsusb (perteneciente al paquete usbutils) o simplemente ejecutando
Code:
# grep 046d /proc/bus/usb/devices


En mi caso, el idProduct de mi MX500 es c025. Para crear la regla UDEV que ejecute los comandos, he creado el archivo /etc/udev/rules.d/10-logitech-mice.rules con el siguiente contenido:
Code:
BUS="usb", SYSFS{idVendor}="046d", SYSFS{idProduct}="c025", PROGRAM="/usr/sbin/logitech_applet -d"


Usando los nuevos botones extra del ratón

Para asignar funciones útiles a los botones podemos usar los programas Imwheel y Xbindkeys. Xbindkeys sirve para asignar la ejecución de un comando a la pulsación de un botón del ratón o una tecla del teclado. Imwheel sirve para emular pulsaciones de teclado con pulsaciones de ratón.

Para instalar xbindkeys:
Code:
# emerge xbindkeys


La configuración de xbindkeys se guarda en el fichero ~/.xbindkeysrc, formado por una o varias acciones. Cada acción consta de dos lineas, la primera indica el comando a ejecutar (escrito entre comillas) y la segunda indica a qué evento va asociado. Por ejemplo:
Code:
#Ejecutar xterm al pulsar control mas el botón 2 del ratón
"xterm"
control + b:2

#Ejecutar xcalc al pulsar el boton 8 del ratón
"xcalc"
b:8


Para instalar Imwheel
Code:
# emerge imwheel


La configuración de imwheel se guarda en el fichero ~/.imwheelrc y se basa en reglas para detectar el programa en el que estamos trabajando según sea el título de la ventana activa de X. Para cada programa indicaremos las acciones (combinación de teclas) a ejecutar cuando se pulse cierto botón. Para averiguar los nombres que da imwheel a nuestros botones y así poder usarlos en el archivo de configuración podemos usar una utilidad que incluye imwheel, la cual se invoca con el comando
Code:
# imwheel -c


En /etc/X11/imwheel/imwheelrc existe un fichero con muchas configuraciones ya hechas que podemos copiar a nuestro home para que sirva de base. Muchas de configuraciones están anticuadas o no funcionan por lo que lo mejor es que nos creemos nuestro propio fichero desde cero.

La sintaxis de cada regla de este fichero es la siguiente:
  • La primera linea sirve para indicar el nombre de la aplicación. Cada argumento se separa por comas. Tras indicar el título tenemos que indicar las siguientes opciones, en este orden obligatoriamente:
    • Key Modifiers Input: Las teclas que van a activar la acción.
    • Mouse Action Input: La acción del ratón que va a activar la acción [Up, Down, Left, Right, Thumb ]
    • Key Action Output: La acción (teclas).

  • Opcionalmente podemos indicar también estos argumentos, pero para usar uno, debemos de poner también todos los anteriores (lo siento, está sin traducir ;-) ):
    • Output Repetitions: How many times should the Output KeySyms be pressed in a row.Default is 1.
    • Delay Before KeyUp Event: How long in microseconds until we release all the Output KeySyms in one Output Repetition.Default is 0.
    • Delay Before Next KeyPress Event:How long in microseconds until we press the next the Output KeySyms. This delay occurs after the Output KeySyms are released. Default is 0.



En caso de que queramos indicar una acción que sea una combinación de dos teclas que se aprietan a la vez, se usa el carácter | (la barra vertical). Por ejemplo, una regla para navegar atrás (Alt+Flecha izquierda) y adelante (Alt+Flecha derecha) en Mozilla Firefox podría ser:
Code:
"^Mozilla.*"
    None, Up, Alt_L|Left
    None, Down, Alt_L|Righ

# Esta opcion siempre deberia de ser la ultima ya que
# imwheel para de buscar cuando una regla coincide
".*"
    None, Up, none
    None, Down, none



A modo de ejemplo, este es mi archivo ~/.imwheelrc. Previamente en KDE he asignado las combinaciones de teclas que me interesa usar con Imwheel. Para asignar una acción a una combinación de teclas en KDE ir a Centro de control de KDE -> Regional y accesibilidad -> Accesos rápidos de teclado
Code:
#Opciones predeterminadas para todas las ventanas
".*"
#                      Combinacion de teclas
#Evento IMWHEEL        que sera simulada       Accion asociada en mi KDE
#--------------        ---------------------   -------------------------
    None, Down,            Alt_L|F4                # Cerrar aplicacion
    None, Up,              Alt_L|F1                # Siguiente entrada de la barra de tareas
    Alt_L, Up,             Alt_L|F2                # Anterior entrada de la barra de tareas
    Control_L, Up,         Alt_L|F2                # Anterior entrada de la barra de tareas
    Super_L, Up,           Alt_L|F2                # Anterior entrada de la barra de tareas


Hacer que los programas instalados se ejecuten automáticamente

Para que los programas mencionados anteriormente funcionen es necesario que se ejecuten al iniciar el servidor X. Podemos hacer que se ejecuten automáticamente si los incluimos en el script de inicio del servidor X o del gestor de ventanas que usemos. En KDE se encuentra en ~/kde/Autostart, para otros gestores de ventanas consultar el Wiki.

Las líneas que debemos añadir a nuestro script de inicio son las siguientes:
Code:
xbindkeys
imwheel -k -b "67"


Lo normal es que las aplicaciones esperen que los dos últimos botones se encarguen del scroll. En ratones con solo 5 botones, los encargados de esta función serían los botones 4 y 5, pero en ratones con mas botones no. Por eso, además de las dos líneas anteriores, también hay que añadir al arranque una llamada al comando xmodmap. En concreto, para que no falle el scroll de los programas vamos a añadir una llamada para intercambiar los botones 4 y 5 con los botones 6 y 7 respectivamente. Usamos los botones 4 y 5 porque son los que esperan las aplicaciones y el 6 y 7 porque son los que hemos indicado a imwheel con en el parámetro -b. He probado a pasar a Imwhell otros botones distintos al 6 y 7 pero ninguna combinación a parte de esta parece funcionar.

Para una configuración con el protocolo ExplorerPS/2 que hemos mencionado antes, el comando que habría que añadir al script de inicio de nuestro gestor de ventanas es:
Code:
xmodmap -e "pointer = 1 2 3 6 7 4 5"

En cambio para la configuración de evdev con 10 botones que estamos usando en nuestro caso sería:
Code:
xmodmap -e "pointer = 1 2 3 6 7 8 9 10 4 5"



Una vez añadidas todas estas líneas al script de inicio del gestor de ventanas ya tenemos nuestro ratón con 10 botones configurado a nuestro gusto :).

Espero que os sea útil. Se agradecerá cualqueir tipo de comentario/mejora/crítica.

Saludozzzzzz


Last edited by Stolz on Mon Nov 28, 2005 7:16 pm; edited 5 times in total
Back to top
View user's profile Send private message
DDrDark
Guru
Guru


Joined: 01 Aug 2005
Posts: 429

PostPosted: Wed Nov 02, 2005 10:52 am    Post subject: Reply with quote

Se agradece una guía así!, gracias de nuevo por currartela.

En cuanto tenga tiempo la probaré que quiero configurar los botones de mi raton (izquierdo y derecho) para ir pa'tras o pa'lante en el navegador :D
_________________
Gentoo linux | FVWM | Deskmod | Screenshots at my blog
Back to top
View user's profile Send private message
German3D
Guru
Guru


Joined: 30 Nov 2004
Posts: 446
Location: ../madrid/mostoles

PostPosted: Wed Nov 02, 2005 3:39 pm    Post subject: Reply with quote

Ese stolz :P Buena guia si señor , ademas que tengo justo ese raton el MX500 conectado a un KVM por PS2.
Asi me queda mi xorg.conf
Code:
Section "InputDevice"
        Identifier "Mouse0"
        Driver     "mouse"
        Option     "Device" "/dev/input/envent1"
        Option     "Dev Name" "PS2++ Logitech MX Mouse"
        Option     "Protocol" "evdev"
        Option     "Buttons" "10"
        Option     "ZAxisMapping"  "9 10"
        Option     "Emulate3Buttons"    "0"
EndSection

El problema es que los botones estan raros , me explico . La rueda no hace el scroll lo hacen los botones que quedan justo en el dedo gordo de la mano derecha . Para ir atras y alante en las webs los botones son los de encima y debajo de la rueda , vamos que no me apaño . Para decir que los botones que se controlan con el pulgar sean los de "atras pagina" y "avance pagina" que debo hacer ? Y por supuesto que la rueda me haga scroll y aprentandola me haga "pam" Pos eso un saludete ;)
_________________
A mi lo que mas me gusta , es el espiritu linux :) ...
No leais esto!
El único problema de Gentoo es , que provoca adicción :\
Back to top
View user's profile Send private message
Stolz
Moderator
Moderator


Joined: 19 Oct 2003
Posts: 3028
Location: Hong Kong

PostPosted: Wed Nov 02, 2005 4:59 pm    Post subject: Reply with quote

German3D ¿lo tienes conectado por PS2? si es asi no te funcionará, es necesario usar conexion USB para que los botones funcionen como toca. Debería haber aclaroado en la gia que todo es aplicable únicamente a ratones con conexion USB. Si lso conectas por PS2 te cargas todo lo buieno de estos ratones.

Si lo tienes conectado por por USB, entonces tiene pinta de no tener bien mapeados los botones con xmodmap. ¿Añadiste el comando xmodmap -e "pointer = 1 2 3 6 7 8 9 10 4 5" al script de inicio del sistema? Si es así, tal vez tu ratón nuemere los botones de forma distinta. Es cuestion de encontrar que botones hacen el scroll y asignarselos a los botones 4 y 5. Por ejemplo, si en tu ranton los que hacen el scroll son el 9 y el 10, entonces el comando xmodmap necesario para intercambiar los botnes 4/9 y 5/10 seria
Code:
xmodmap -e "pointer = 1 2 3 9 10 6 7 8 4 5"



Ya de paso añado que con conexion PS2 los 800dpi de resolucion tampoco funcionan.


Saludozzzzzz
Back to top
View user's profile Send private message
German3D
Guru
Guru


Joined: 30 Nov 2004
Posts: 446
Location: ../madrid/mostoles

PostPosted: Wed Nov 02, 2005 5:37 pm    Post subject: Reply with quote

ouch :( Vaya , lo tengo por PS2 si pero por que lo tengo conctado a un KVM y no hay posibilidad ninguna de usarlo por USB .
Aun por PS2 con el xmodmap -e "pointer = 1 2 3 9 10 6 7 8 4 5" no puede funcionar ?
54|u2
_________________
A mi lo que mas me gusta , es el espiritu linux :) ...
No leais esto!
El único problema de Gentoo es , que provoca adicción :\
Back to top
View user's profile Send private message
Stolz
Moderator
Moderator


Joined: 19 Oct 2003
Posts: 3028
Location: Hong Kong

PostPosted: Wed Nov 02, 2005 6:32 pm    Post subject: Reply with quote

German3D wrote:
ouch :( Vaya , lo tengo por PS2 si pero por que lo tengo conctado a un KVM y no hay posibilidad ninguna de usarlo por USB .
Aun por PS2 con el xmodmap -e "pointer = 1 2 3 9 10 6 7 8 4 5" no puede funcionar ?
54|u2


Dudo que funcione. Tendrás que usar el protoclo "ExplorerPS/2" y cruzar los dedos,proque es posible que tampoco funcione.

Saludozzzzzz
Back to top
View user's profile Send private message
LinuxBlues
l33t
l33t


Joined: 26 Mar 2005
Posts: 892

PostPosted: Wed Nov 02, 2005 8:35 pm    Post subject: Reply with quote

Gracias Stolz, pero tiene un pequeño defecto tipográfico:
en la sección de xorg.conf cambia todas las apariciones de envent por event

Son "eventos" no "enventos". :wink:
Back to top
View user's profile Send private message
Stolz
Moderator
Moderator


Joined: 19 Oct 2003
Posts: 3028
Location: Hong Kong

PostPosted: Wed Nov 02, 2005 9:02 pm    Post subject: Reply with quote

LinuxBlues wrote:
Gracias Stolz, pero tiene un pequeño defecto tipográfico:
en la sección de xorg.conf cambia todas las apariciones de envent por event

Son "eventos" no "enventos". :wink:


Muchas gracias. Ya está corregido.

En realidad es un fallo que no afectaba al funcionamiento, puesto que si has usado la opción Option "Dev Name" con los datos que da el comando
Code:
# cat /proc/bus/input/devices
es suficiente. La opción Option "Device" (la que contenia el fallo) solo se usa en caso de no encontrar ningun dispositivo con el nombre indicado en Option "Dev Name", es decir, es una opción 'redundante'.

Se siguen aceptando comentarios, críticas y mejoras. :)

Saludozzzzzzz
Back to top
View user's profile Send private message
t4d3o
Tux's lil' helper
Tux's lil' helper


Joined: 18 Jan 2005
Posts: 79
Location: Cuenca

PostPosted: Thu Nov 03, 2005 11:08 am    Post subject: Reply with quote

Me he perdido del todo :(

Tengo un Logitech Cordless Click! Plus, este raton solo es PS/2

Despues de activar el modulo "Event Interface"

Lo cargo con modprobe y tal, instalo logitech_applet, pero este no me arroja datos.

Mi xorg.conf esta asi:

Code:
Identifier  "Mouse1"
    Driver "mouse"
    #Option "Protocol"   "ImPS/2"
    Option "Device" "/dev/input/event1"
    Option "Dev Name" "ImExPS/2 Logitech Explorer Mouse"
    Option "Protocol"   "evdev"
    Option "ZAxisMapping"   "4 5"
    #Option "Device"     "/dev/psaux"
    Option "Buttons" "10"


Lo unico que he notado es que ahora tiene menos sensibilidad, vamos que se mueve mas despacito.
Back to top
View user's profile Send private message
Stolz
Moderator
Moderator


Joined: 19 Oct 2003
Posts: 3028
Location: Hong Kong

PostPosted: Thu Nov 03, 2005 11:12 am    Post subject: Reply with quote

Repito, la guia es para ratones USB. Para ratones PS2 no sirve.

Saludozzzzzz
Back to top
View user's profile Send private message
German3D
Guru
Guru


Joined: 30 Nov 2004
Posts: 446
Location: ../madrid/mostoles

PostPosted: Thu Nov 03, 2005 4:41 pm    Post subject: Reply with quote

Bueno yo decir que consegui hacer funcionar la rueda con lo que dijo stolz por si vale de algo ... Estoy seguro que para que pase pagina atras y alante con el pulgar se podra pero no me arriesgo a probar combinaciones de numeros xD Ahora pasan con los botones que estan al lado de la rueda ...
un saludo
_________________
A mi lo que mas me gusta , es el espiritu linux :) ...
No leais esto!
El único problema de Gentoo es , que provoca adicción :\
Back to top
View user's profile Send private message
DarkMind
Guru
Guru


Joined: 18 Dec 2003
Posts: 525
Location: Santiago, Chile

PostPosted: Fri Nov 04, 2005 2:03 am    Post subject: Reply with quote

se agradece la guia

apenas este listo mi gentoo (toy instalando, toy desde links xD) la pondre en practica a ver que tal me va

gracias por tu tiempo :)
Back to top
View user's profile Send private message
Magnum44
Guru
Guru


Joined: 21 May 2003
Posts: 538

PostPosted: Thu Sep 28, 2006 12:26 pm    Post subject: imwheelrc? Reply with quote

Hola, por fin he puesto a andar el ratón con evdev, pero ahora me da un montón de problemas el imwheel. Alguien podría poner su imwheelrc para ver donde coño lo tengo mal?
Por cierto, ¿habéis conseguido que funcionen los botones del pulgar (yo tengo un Logitech MX700)?

Saaaaaaaaaludos.

[EDITADO]
Por cierto, no se que es lo que ha pasado pero se me han intercambiado los botones de la rueda por el derecho normal... ¿cómo se pone esto bien?

Esta es mi config:
Code:

$ cat .xinitrc

xmodmap -e "pointer = 1 2 3 6 7 8 9 10 4 5"
imwheel -k -b "67"
lineakd
alsactl restore

Code:
$ cat /etc/X11/imwheel/imwheelrc
# IMWheel Configuration file ($HOME/.imwheelrc or /etc/imwheelrc)
# (GPL)Jon Atkins <jcatki@jonatkins.org>
# Please read the README and/or imwheel(1) manpage for info
# and this is best operated on using vim (as I said: It's crunchy)

#
# This is only for demonstration of the priority command...
# See the other global Exclude command below for the one you want to use!
# If this is activated it will only apps that have a lower priority
# priority is based first on the priority command, then the position in this
# file - the higher the line is in a file the higher in a priority class it is
# thus for a default priority you can see that the position in the file is
# important, but the priority command CAN appear anywahere in a window's list
# of translations, and the priority will be assigned to all translations below
# it until either a new window is defined or the priority is set again.
#
#".*"
#@Priority=-1000 #the default priority is zero, higher numbers take precedence
#@Exclude
#@Repeat

# want it to type something?
# this would type "Rofl" and press Return in any window
#".*"
#,Up,Shift_L|R|-R|-Shift_L|O|-O|F|-F|L|-L|Return



# This one rule can send button events, as if you used ZAxisMapping "4 5"
# Make sure your XF86Config allows for the max buttons needed...
# otherwise the events will NOT even be generated...
#".*"
#, Up, Button4
#, Down, Button5
#, Left, Button6
#, Right, Button7
#, Thumb1, Button6
#, Thumb2, Button7
# alternatively with Button numbers
#".*"
#, Button4, Button4
#, Button5, Button5
#, Button6, Button6
#, Button7, Button7
#, Button6, Button6
#, Button7, Button7

#Thanks to Mathias Weyland <mathias@weyland-wtal.de>
"^mutt.*"
None,           Up,     Up
None,           Down,   Down
Control_L,      Up,     Page_Up
Control_L,      Down,   Page_Down

#Thanks to Mathias Weyland <mathias@weyland-wtal.de>
"^aterm"
None,           Up,     Shift_L|Page_Up
None,           Down,   Shift_L|Page_Down
Control_L,      Up,     Up
Control_L,      Down,   Down

#Thanks to Mathias Weyland <mathias@weyland-wtal.de>
"^Xplns"
None,           Up,     Left
None,           Down,   Right
Control_L,      Up,     Up
Control_L,      Down,   Down

"^kvt"
None,           Up,             Shift_L|Page_Up
None,           Down,   Shift_L|Page_Down

"^Konsole"
None,           Up,             Shift_L|Page_Up
None,           Down,   Shift_L|Page_Down

"^XMcd"
None,           Up,             C
None,           Down,   Shift_L|C

"^XMMS_Player"
Shift_L,                Up,             Right
Shift_L,                Down,   Left

"^XMMS_Playlist"
Shift_L,        Up,             Page_Up
Shift_L,        Down,   Page_Down

"^xmms"
Alt_L,          Up,             Z
Alt_L,          Down,   B
Control_L,      Up,             V
Control_L,      Down,   C

"^XATITV-GATOS"
None,       Down,       KP_Subtract
None,       Up,         KP_Add

"^Xman"
None,           Down,   F
Shift_L,        Down,   3
None,           Up,             B

"^Gvi(m|ew)"
Alt_L,  Up,             Page_Up
Alt_L,  Down,   Page_Down
Shift_L,        Up,             Control_L|Y
Shift_L,        Down,   Control_L|E
#None,          Up,             Page_Up
#None,          Down,   Page_Down
#,      Up,     Button4
#,      Down,   Button5
,       Left,   Shift_L|Left
,       Right,  Shift_L|Right
,       Thumb1, Shift_L|Left
,       Thumb2, Shift_L|Right

"^VIM"
Shift_L,        Up,             Control_L|Y
Shift_L,        Down,   Control_L|E
#None,          Up,             Page_Up
#None,          Down,   Page_Down

"^Eterm"
Alt_L,          Up,             Up
Alt_L,          Down,   Down
#Alt_L,         Up,     Shift_L|Page_Up
#Alt_L,         Down,   Shift_L|Page_Down

#"^GnomeTerminal"
#@Exclude
#@Repeat
#None,          Up,             Shift_L|Page_Up
#None,          Down,   Shift_L|Page_Down

"^NXTerm"
None,           Up,     Shift_L|Page_Up
None,           Down,   Shift_L|Page_Down

"^rxvt"
Alt_L,          Up,             Shift_L|Page_Up
Alt_L,          Down,   Shift_L|Page_Down

"^XTerm"
Alt_L,          Up,             Shift_R|Page_Up
Alt_L,          Down,   Shift_R|Page_Down
Alt_L,          Left,   Control_L|A
Alt_L,          Right,  Control_L|E
#Shift_L,       Down,   Shift_L|1

"^VMware"
@Exclude
#@Repeat

"^Mozilla-bin$"
#,      Up,     Button4
#,      Down,   Button5
#,      Left,   Alt_L|Left
#,      Right,  Alt_L|Right
#
# If you want to scroll by a few lines then uncomment these 4 lines
# and comment out the paging 4 lines below these!
#
Shift_L,        Down,   Page_Down,                      1#,     1000,   1000
Shift_L,        Up,             Page_Up,                        1#,     1000,   1000
#None,          Down,   Down,                           7#,     1000,   1000
#None,          Up,             Up,                                     7#,     1000,   1000
#
# If you don't like page scrolling then comment these out and uncomment above!
#
#Shift_L,       Down,   Down,                           7,
#Shift_L,       Up,             Up,                                     7,
#None,          Down,   Page_Down,                      1,
#None,          Up,             Page_Up,                        1,
# Left/Right & Thumb stuff
None,           Left,   Left,                           7,
None,           Right,  Right,                          7,
None,           Thumb1, Down,                           7,
Shift_L,        Thumb1, Up,                                     7,
None,           Thumb2, Up,                                     7,
Shift_L,        Thumb2, Down,                           7,

"^Freespace.*"
,       Up,             Y
,       Down,   X
,       Thumb1, H
,       Thumb2, R

"^SDL_App"
#,      Up,             Button4
#,      Down,   Button5
,       Thumb1, Home    #many apps don't understand Button > 5
,       Thumb2, End             #many apps don't understand Button > 5

# Thanks to shewp <shewplx@pblx.net>
"^Opera"
#@Repeat    # let qt do it
None,       Down,   Down,               4,  100,    100
None,       Up,     Up,                 4,  100,    100
None,       Thumb1, Right
None,       Thumb2, Left

"^Netscape.*"
, Thumb1, Alt_L|KP_Left
, Thumb2, Alt_L|KP_Right
#, Up, Button4
#, Down, Button5

"^Netscape"
#
# If you don't want to scroll by a few lines then comment out these 4 lines
# and uncomment the paging 4 lines below these!
#
Shift_L,        Down,   Page_Down,                      1,      1000,   1000
Shift_L,        Up,             Page_Up,                        1,      1000,   1000
None,           Down,   Down,                           7,      1000,   1000
None,           Up,             Up,                                     7,      1000,   1000
#
# If you don't like page scrolling then uncomment these
# and comment out the 4 lines above!
#
#Shift_L,       Down,   Shift_L|Down,           7,      1000,   1000
#Shift_L,       Up,             Shift_L|Up,                     7,      1000,   1000
#None,          Down,   Page_Down,                      1,      1000,   1000
#None,          Up,             Page_Up,                        1,      1000,   1000
# Left/Right & Thumb stuff
None,           Left,   Left,                           7,      1000,   1000
None,           Right,  Right,                          7,      1000,   1000
None,           Thumb1, Down,                           7,      1000,   1000
Shift_L,        Thumb1, Up,                                     7,      1000,   1000
None,           Thumb2, Up,                                     7,      1000,   1000
Shift_L,        Thumb2, Down,                           7,      1000,   1000

"^Navigator"
#Alt_L,         Down,   Alt_L|Right
#Alt_L,         Up,             Alt_L|Left
Alt_L,          Down,   Right,                          10,     1000,   1000
Alt_L,          Up,             Left,                           10,     1000,   1000

# Thanks to Paul J Collins <sneakums@usa.net>
"^emacs"
Shift_L,        Up,             Page_Up
Shift_L,        Down,   Page_Down
# you may need Alt instead of Meta....
None,           Down,   Control_L|Meta_L|Shift_L|parenright
None,           Up,             Control_L|Meta_L|Shift_L|parenleft

# Thanks to etienne grossmann <etienne@isr.ist.utl.pt>
"^Xftp"
,                       Down,   j
,                       Up,             k

".* - Pan$"
,       Left,   Control_L|Button1
,       Thumb1, Control_L|Button1
#,      Up,     Button4
#,      Down,   Button5

# Thanks to etienne grossmann <etienne@isr.ist.utl.pt>
"^gv[ :]"
None,           Up,             Shift_L|space
None,           Down,   space

#"^Event Tester"
#@Repeat
#@Exclude
#,      Left,   Button6
#,      Right,  Button7
#,      Thumb1, Button8
#,      Thumb2, Button9

"^xv grab"
@Priority=1
@Exclude

"^XV.*"
None,   Down,   Tab
None,   Up,             Delete

"^Untitled"
# if using wheel fifo, you may switch these.
#,      Up,             Button4
#,      Down,   Button5
#with these
,       Up,             Page_Up
,       Down,   Page_Down
# (end of switch)
,   Thumb1, Home
,   Thumb2, End

"^No Title"
# if using wheel fifo, you may switch these.
#,      Up,             Button4
#,      Down,   Button5
#with these
,       Up,             Page_Up
,       Down,   Page_Down
# (end of switch)
,   Left, Home
,   Right, End
,   Thumb1, Home
,   Thumb2, End

#"\(null\)"
# if using wheel fifo, you may want the 2nd group
#,      Up,             Button4
#,      Down,   Button5
#,      Left, Button6
#,      Right, Button7
#,      Thumb1, Button8
#,      Thumb2, Button9
# 2nd group (old keys...)
#,      Up,             Page_Up
#,      Down,   Page_Down
#,      Left, Home
#,      Right, End
#,      Thumb1, Home
#,      Thumb2, End
# (end of switch)

# send event to the window manager when in the root window...
"\(root\)"
,       Up,             Control_L|N
,       Down,   Control_L|P
,   Thumb1,     Alt_L|Left
,       Thumb2, Alt_L|Right

#
# Uncommment the following to exclude by default.
# Then you will have to add new apps all the time, but will retain any built-in
# wheel functionality contained in some KDE and other newer programs.
# This kinda defeats the original purpose of the program! ;)
#
#".*"
#@Priority=-1000
#@Exclude
#@Repeat

#
# These are the defaults, but note that the defaults for the right side of the
# keyboard are still handled within the program, unless you add the
# combinations desired here. (except for the None modifier of course!)
# If this section is deleted then the hardcoded defaults will be used, which
# are the same thing.
# Modifying these has global effects, but doesn't override what is above.
#
#".*"
#@Priority=-1001
#,      Up,     Button4
#,      Down,   Button5
#None,                                                  Left,   Left
#None,                                                  Right,  Right
#None,                                                  Up,             Page_Up
#None,                                                  Down,   Page_Down
#Shift_L,                                               Left,   Left
#Shift_L,                                               Right,  Right
#Shift_L,                                               Up,             Up
#Shift_L,                                               Down,   Down
#        Control_L,                             Left,   Left,           2
#        Control_L,                             Right,  Right,          2
#        Control_L,                             Up,             Page_Up,        2
#        Control_L,                             Down,   Page_Down,      2
#Shift_L|Control_L,                             Left,   Left,           5
#Shift_L|Control_L,                             Right,  Right,          5
#Shift_L|Control_L,                             Up,             Page_Up,        5
#Shift_L|Control_L,                             Down,   Page_Down,      5
#                  Alt_L,               Left,   Left,           10
#                  Alt_L,               Right,  Right,          10
#                  Alt_L,               Up,             Left,           10
#                  Alt_L,               Down,   Right,          10
#Shift_L|          Alt_L,               Left,   Left
#Shift_L|          Alt_L,               Right,  Right
#Shift_L|          Alt_L,               Up,             Left
#Shift_L|          Alt_L,               Down,   Right
#        Control_L|Alt_L,               Left,   Left.           20
#        Control_L|Alt_L,               Right,  Right.          20
#        Control_L|Alt_L,               Up,             Left.           20
#        Control_L|Alt_L,               Down,   Right.          20
#Shift_L|Control_L|Alt_L,               Left,   Left,           50
#Shift_L|Control_L|Alt_L,               Right,  Right,          50
#Shift_L|Control_L|Alt_L,               Up,             Left,           50
#Shift_L|Control_L|Alt_L,               Down,   Right,          50
#,   Thumb1, Home
#,   Thumb2, End

# vim:ts=4:shiftwidth=4:syntax=sh


Y la sección correspondiente al ratón en xorg.conf:
Code:
Section "InputDevice"
        Identifier "Mouse1"
        Driver     "evdev"
        Option     "Name" "Logitech USB Receiver"
        Option     "Device" "/dev/input/event1"
#        Option     "Dev Name" "Logitech USB Receiver"
        Option     "Protocol" "evdev"
        Option     "Buttons" "10"
        Option     "ZAxisMapping"  "9 10"
        Option     "Emulate3Buttons"    "0"
EndSection

_________________
"La suerte favorece sólo a la mente preparada." (Isaac Asimov citando a Louis Pasteur).
"Fortune favors the prepared mind." (Isaac Asimov quoting Louis Pasteur).
Back to top
View user's profile Send private message
Stolz
Moderator
Moderator


Joined: 19 Oct 2003
Posts: 3028
Location: Hong Kong

PostPosted: Thu Sep 28, 2006 5:32 pm    Post subject: Reply with quote

A la guía le hace falta actualizarse. Con la nuevas versiones de evdev que vienen con Xorg >=7.0 hay una forma mucho mas sencilla de hacer funcionar los botones, sin usar imwheel ni xmodmap. Además. La configuración ahora es tan sencilla como
Code:
Section "InputDevice"
        Identifier  "Logitech MX500 evdev"
        Driver      "evdev"
        Option      "Device"        "/dev/input/event1"
EndSection


Para asignar programas a los botones, se puede usar el programa xbindkeys, que reconoce directamente los botones. b:1 es el botón 1, b:2 es el botón 2, etc... Para asignar pulsaciones de teclas, se puede usar el programa xvkbd.

Un ejemplo de configuración que asigna al botón 7 la combinación de teclas ALT+F4 y l programa xterm al botón 8 sería:
Code:
~ cat ~/.xbindkeysrc
"xvkbd -text "\[Alt_L]\[Tab]""
b:7

"xterm"
b:8


Como ves, mucho mas sencillo que antes. Prueba con esta opcion y olvidate de imwheel
Back to top
View user's profile Send private message
0kupa
n00b
n00b


Joined: 16 Feb 2005
Posts: 66

PostPosted: Thu Sep 28, 2006 7:11 pm    Post subject: Reply with quote

La clave está en ir provando con el xmodmap, miratelo en la wiki (Category:Mouse). Por ejemplo yo fui provando hasta averiguar que secuencias tenía quer poner para un MX518 usando Protocol "ExplorerPS/2":

.xinitrc:
xmodmap -e "pointer = 1 2 3 8 9 4 5 6 7" &
imwheel -k -b "67" &
...


Y el archivo .imwheelrc lo tengo como global para los botones laterales del ratón, con sólo este texto:

Code:
".*"
None, Up, Alt_L|Left
None, Down, Alt_L|Right


Mirate a ver si te sirve tal como está aquí para un MX700.
Back to top
View user's profile Send private message
Stolz
Moderator
Moderator


Joined: 19 Oct 2003
Posts: 3028
Location: Hong Kong

PostPosted: Thu Sep 28, 2006 7:22 pm    Post subject: Reply with quote

La idea de la guía es precisamente no estar limitado a los 7 botones de ExplorerPS/2 y poder usar los 10 botones de los MX
Back to top
View user's profile Send private message
0kupa
n00b
n00b


Joined: 16 Feb 2005
Posts: 66

PostPosted: Thu Sep 28, 2006 7:34 pm    Post subject: Reply with quote

Stolz wrote:
La idea de la guía es precisamente no estar limitado a los 7 botones de ExplorerPS/2 y poder usar los 10 botones de los MX


Sólo le he dicho que ha de probar modificando las secuencias de xmodmap, tal como puedes ver en la wiki (sobretodo los enlaces que he puesto), ya sea con evdev o ExplorerPS/2.

Personalmente con ExplorerPS/2 me coge 7, pero claro, uso tal como es por defecto. Ya que mi ratón son 10 botones, pero tengo 2 botones fijos que son para cambiar la resolución dpi, por lo tanto sólo 7 configurables + el task switch que no uso nunca.
Back to top
View user's profile Send private message
Stolz
Moderator
Moderator


Joined: 19 Oct 2003
Posts: 3028
Location: Hong Kong

PostPosted: Thu Sep 28, 2006 7:45 pm    Post subject: Reply with quote

A la hora de escribir la guía, ExplorerPS/2 solo soportaba 7 botones. Ahora, xev solo me lanza eventos para 8, pero el "switch app" lanza el mismo evento que el botón 1, así es que en la práctica, siguen siendo 7. Con evdev, a parte de ser bastante mas sencilla la configuración, el límite en el número de botones lo pone tu ratón, no el driver :)

El wiki no me va. No se si está caido es probelma mío.
Back to top
View user's profile Send private message
Magnum44
Guru
Guru


Joined: 21 May 2003
Posts: 538

PostPosted: Thu Sep 28, 2006 10:03 pm    Post subject: evdev más simple... Reply with quote

Ok, voy a probar así, con xbindkeys a ver si me va mejor. De todas maneras, tengo un problema que creo que tiene que ver con xmodmap... La cuestion es que sin estar funcionando imwheel ni xbindkeys, el boton derecho del ratón actua como si fuese el boton central de la rueda y viceversa y los del pulgar actual como si fuese el boton izquierdo, mi ratón es un kaos, no se que he tocado pero ahora va así y me estoy volviendo loco... ¿dónde está el fallo? :evil:
_________________
"La suerte favorece sólo a la mente preparada." (Isaac Asimov citando a Louis Pasteur).
"Fortune favors the prepared mind." (Isaac Asimov quoting Louis Pasteur).
Back to top
View user's profile Send private message
Magnum44
Guru
Guru


Joined: 21 May 2003
Posts: 538

PostPosted: Thu Sep 28, 2006 10:06 pm    Post subject: xmodmap de un MX500 Reply with quote

Ah, se me olvidaba, otra cosa que no entiendo es porqué con la config de xmodmap de Stolz que tiene un MX500, el cual es exactamente el mismo modelo que mi MX700 pero con cable... a mi no me funciona!!! 8O Alguien me lo explica? debe ser que ya es tarde y no me funciona la neurona...
_________________
"La suerte favorece sólo a la mente preparada." (Isaac Asimov citando a Louis Pasteur).
"Fortune favors the prepared mind." (Isaac Asimov quoting Louis Pasteur).
Back to top
View user's profile Send private message
0kupa
n00b
n00b


Joined: 16 Feb 2005
Posts: 66

PostPosted: Thu Sep 28, 2006 10:45 pm    Post subject: Reply with quote

Yo tengo un MX500 y un MX518, y como te he dicho antes has de trastear modificando las secuencias del xmodmap, puedes provarlo mientras estás en las X, escribiendo en consola esto y luego provando en el navegador:

Code:
xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7"


o

Code:
xmodmap -e "pointer = 1 2 3 8 9 4 5 6 7"


o

Code:
xmodmap -e "pointer = 1 2 3 4 5 6 7 10 11 8 9"


Y vas provando en el navegador que botones del ratón has modificado. Ten encuenta que los 3 primeros 1 2 3 se refieren a lso botones derecho, izquierdo y central, y son los otros los que has de mapear. Ya que con el imwheel le estás diciendo que el botón 6 y 7 son los botones del scroll (tal como lo has puesto en el xorg.conf) y a los otros botones les asigna acciones como las de arriba, abajo, avanzar, retroceder. Y por eso haces el xmodmap, para intercambiar el mapeo de los botones, o lo lo que es lo mismo, la acción que tenía ese botón en esa posición 1 2 3 4 5 6 7 8 9 10 11 12..
Back to top
View user's profile Send private message
Stolz
Moderator
Moderator


Joined: 19 Oct 2003
Posts: 3028
Location: Hong Kong

PostPosted: Thu Sep 28, 2006 10:58 pm    Post subject: Reply with quote

¿Cual de las configuraciones no te va? porque ya han aparecido unas cuantas. ¿Que error te da? Asumo que estás usando Xorg >=7.0

Si usas evedev no debería hace falta usar xmodmap, el número de botón que te muestre xev, es el mismo que verán todas las aplicaciones (Xorg, los juegos,compiz, xbindkeys, firefox).

Comprueba el log de Xorg, que da pistas sobre los ajustes usados. Por ejempo, un indicador de que va bien pdría ser:
Code:
(**) Option "CorePointer"
(**) Logitech MX500: Core Pointer
(II) Logitech MX500: Found 3 relative axes.
(II) Logitech MX500: Configuring as pointer.
(**) Logitech MX500: WHEELRelativeAxisButtons: 4 5.
(II) Logitech MX500: Found 8 mouse buttons
(II) Logitech MX500: Configured 10 mouse buttons
Back to top
View user's profile Send private message
Magnum44
Guru
Guru


Joined: 21 May 2003
Posts: 538

PostPosted: Fri Sep 29, 2006 9:32 am    Post subject: problema con xmodmap arreglado Reply with quote

Argh! ya he encontrado el fallo, la cuestion es que hay tantos sitios donde lanzar programas en el inicio que se me habia quedado de una configuración anterior el comando que no debia en .kde/Autostart. Problema de los botones del ratón resuelto y tal y como dices Stolz, ya no hace falta xmodmap para nada!

Voy a ponerme a configurar xbindkeys a ver si doy hecho algo productivo con él. Entretanto, ¿cómo se hace para que xbindkeys ejecute unas pulsaciones dependiendo del programa donde se reciba el evento? me explico, quiero poner a funcionar los botones del pulgar para avanzar y retroceder en firefox y en konqueror.

Gracias por vuestra ayuda! 8)
_________________
"La suerte favorece sólo a la mente preparada." (Isaac Asimov citando a Louis Pasteur).
"Fortune favors the prepared mind." (Isaac Asimov quoting Louis Pasteur).
Back to top
View user's profile Send private message
Stolz
Moderator
Moderator


Joined: 19 Oct 2003
Posts: 3028
Location: Hong Kong

PostPosted: Fri Sep 29, 2006 10:34 am    Post subject: Re: problema con xmodmap arreglado Reply with quote

Magnum44 wrote:
quiero poner a funcionar los botones del pulgar para avanzar y retroceder en firefox y en konqueror.

Asigna a Konqueror las mismas combinaciones de tecla que Firefox y haz que xbindkeys use esas combinaciones.
Back to top
View user's profile Send private message
Magnum44
Guru
Guru


Joined: 21 May 2003
Posts: 538

PostPosted: Fri Sep 29, 2006 1:28 pm    Post subject: Problemas con xbindkeys Reply with quote

Mmmm... estoy teniendo bastantes problemas con xbindkeys, funcionar funciona (el programa, no los comandos), por ejemplo, cuando pulso uno de los botones del pulgar en un top me aparece que se ejecuta el programa xvkbd y el procesador se pone a 100% durante unos segundos relentizándome el pc, pero no realiza la funcion que se supone debería... Esta es mi config de xbindkeys:
Code:
$ cat .xbindkeysrc
#Ejecutar xterm al pulsar control mas el botón 2 del ratón
"xterm"
control + b:2

#Ejecutar xcalc al pulsar el boton 8 del ratón
"xcalc"
b:8

# Wheel buttons: Page up and Page down
"xvkbd -xsendevent -text "\[Control_L]\[Page_Down]""
b:12
"xvkbd -xsendevent -text "\[Control_L]\[Page_Up]""
b:11

# Desplazamiento anterior y siguiente con pulgar
"xvkbd -xsendevent -text "\[Alt_L]\[left]""
b:8
"xvkbd -xsendevent -text "\[Alt_L]\[right]""
b:10

# Toggle window maximization state with top button
#"xvkbd -text "\[Alt_L]\[F12]""
#m:0x10 + b:8

# Hide all windows and focus desktop with top button
#"xvkbd -text "\[Control_L]\[Alt_L]d""
#m:0x10 + b:8


Ideas? :idea:
_________________
"La suerte favorece sólo a la mente preparada." (Isaac Asimov citando a Louis Pasteur).
"Fortune favors the prepared mind." (Isaac Asimov quoting Louis Pasteur).
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum