jueves, septiembre 16, 2010

Pystromo, controlador para cualquier Speed Pad - Game Pad, Nostromo, Saitek, Logitec, etc...

Este manual os ayudará y enseñará a instalar y manejar el controlador Pystromo,
es mucho mas liviano y fiable para el sistema que el otro driver de nostromo para linux, nostromo_n50-1.3 o nostromo_n50-1.4,
los cuales a la larga tardas mas en tener que arreglar o configurar que el Pystromo a pesar de no tener GUI.
Además este controlador no se limita solo a los Nostromo, si no a cualquier Speed Pad como los saitek, logitec, etc...
En esta guia se ha utilizado un n52te, pero los pasos son portables para cualquier modelo.

Por otro lado es necesario saber que los nostromo tienen una memoria interna en la cual en algunos casos queda guardado la configuracion que hubierais cargado anteriormente con el software oficial de BELKIN en windows o MAC.
Por lo que una opcion sería correr Windows, instalar el driver oficial de Belkin y cargar los valores que querais en vuestro nostromo y despues sin cargar ningun daemon ni nada, logear a Ubuntu y tendrá los mismos valores que cargasteis.
Pero esto tiene su inconveniente, cada vez que preciseis de crear un nuevo perfil para un juego o aplicacion, o un simple cambio de tecla, precisariais de un segundo sistema operativo.

Recomiendo que por la facilidad del tutorial y por la fiabilidad de tener nativamente funcionando vuestro Speed Pad en Linux sigais el manual.

Para evitar errores es recomendable tener los valores de fabrica, por lo que si venís de otro SO en el que hubierais cargado
una configuracion en el nostromo, es conveniente restaurarla a valores de fabrica.
No obstante en uno de los pasos de la guia se muestra una solucion para ver el valor de cada tecla en cada perfil del nostromo.

Durante todo el manual se utilizaran rutas de la carpeta personal, por lo que debereis sustituir "usuario"
por vuestro nombre de la carpeta personal. por ejemplo, si mi carpeta personal se llama "srgio"
y en el manual pone : /home/usuario/.config
En mi caso deberia poner: /home/srgio/.config


1.- Descargar la ultima version Pystromo ( 0.6.0 en este manual)
2.- Descomprimir el archivo y copiar la carpeta pystromo en /home/usuario/.config/
De modo que queden asi :





3.- Es necesario añadir un nuevo modulo desde terminal:
sudo gedit /etc/modules
Esto es para ubuntu, segun la distro que tengas, donde tenga ubicados los modulos.
Añadiremos
uinput
guarda y cierra.
En otro terminal:
sudo modprobe uinput
Y tendremos iniciado el modulo.
Para sistemas debian será necesario ejecutar:
sudo cp /home/usuario/.config/pystromo/config/52-pystromo-debian.rules /etc/udev/rules.d/ 
Ahora todos, con cualquier distro, deberemos editar el siguiente archivo desde terminal:
gedit /home/username/.config/pystromo/monitor.conf
y pegar en el lo siguiente:
# This is the configuration file for Pystromo's monitoring script.
# Each line herein specifies a mapping file to use when certain
# processes are detected as running.
# With the exception of "*", whitespace in the key IS NOT ignored.
# "=" is an invalid character in keys.

# The * defines mapping files to use all the time
*=default.map
Necesitaremos saber nuestro ID del producto que tengamos conectado.
Esta informacion nos la brinda el comando:
lsusb
en el caso de mi n52te obtendremos algo como esto:
Bus 004 Device 003: ID 050d:0200 Belkin Components

Tendremos que quedarnos con el numero que aparece despues de ID.
En el mio 050d:0200.
Ahora deberemos añadir esta información al controlador pystromo para que funcione con nuestro dispositivo.
gedit /home/usuario/.config/pystromo/default.map

 y pegamos esto (cabecera de identificadores):
# Aqui ponemos una breve descripcioon del Pad.
[Device:nombreDeNuestroPad]
vendor=0x(Parte izquierda de los dos puntos del numero obtenido con lsusb)
product=0x(Parte derecha de los dos puntos del numero obtenido con lsusb)

[Map:nombreDeNuestroPad]
 
Una ayuda visual para no liarnos despues de hacer el lsusb y lo que hay que añadir en default.map
 
 
 
 
 
 
 
 
 
 
 
 
 
Os dejo una plantilla de lo que sigue en default.map. Copiar y pegarlo justo despues de lo que anteriorimente editamos.

Este será un key map correcto si los valores del pad están de fabrica.
No obstante luego se hará un metodo en el cual podreis editarlo facilmente.
#Fila de arriba del boton 1-5.
KEY_TAB:
KEY_Q:
KEY_W:
KEY_E:
KEY_R:

#Fila del medio del boton 6-10.
KEY_CAPSLOCK:
KEY_A:
KEY_S:
KEY_D:
KEY_F:

#Fila de abajo del boton 11-14.
KEY_LEFTSHIFT:
KEY_Z:
KEY_X:
KEY_C:

#Rueda (Como rueda de raton)
REL_WHEEL>=
# Remapea la rueda hacia abajo como "-"
REL_WHEEL<=
BTN_MIDDLE:

#D-Pad - "UP" es como "adelante"
KEY_UP:
KEY_LEFT:
KEY_DOWN:
KEY_RIGHT:

#Boton encima del D-Pad
KEY_LEFTALT:

#Boton encima de las luces, el boton 15
KEY_SPACE: 
 
Tendremos a la izquierda la tecla que pulsa el nostromo, dos puntos, y a la derecha 
la tecla que queremos asignar.
Del modo:
KEY_TAB:KEY_A
Con esto diremos que la Tecla 1 (que inicialmente vale TAB) del nostromo, al pulsarla será 
como la tecla 'A' en el teclado.
 
Para saber que tecla tenemos asignada a cada tecla tanto del nostromo como del 
teclado utilizaremos una utilidad que viene en el paquete del pystromo. 
Abrimos terminal:
cd /home/username/.config/pystromo
./pystromo-remap.py -m output.map -vv
 
Ahora nos aparecerá cada vez que pulsemos una tecla su identificador.
Recordar que aunque apareciera KEY_a tendremos que ponerlo todo en mayúsculas: KEY_A
Para crear el KEYMAP correctamente comprobaremos cada tecla.
Con el programita corriendo en terminal pulsamos una tecla del nostromo y nos saldra su identificador,
lo copiamos poniendolo todo igual pero en mayúsculas, despues dos puntos y escribimos la tecla que 
le queramos asignar.

Por ejemplo en mi caso (puede variar en el vuestro):
1.- Pulso la tecla 1 del nostromo y el programa que corre en terminal me dice que 
    se llama KEY_q
2.- Escribiré en /home/usuario/.config/pystromo/default.map a la derecha la tecla
    que me ha indicado pero en mayúsculas seguido de dos puntos ':' y la 
    tecla que quiero asignar.
    Quedará así:
    KEY_Q:KEY_T
    Por lo que cuando pulse la tecla 1 del nostromo será como pulsar la tecla T del teclado.
3.- Repetir con cada tecla.

Con nuestro Keymap creado ya solo quedaria crear un lanzador para que carge cada vez que se inicie el SO.
En 'aplicaciones de inicio', o 'crear lanzador' escribiremos en el campo para ejecutar comando:
/home/usuario/.config/pystromo/./pystromo-mon.py
Así tendremos nuestro Pad listo para funcionar.
Podeis abrir un documento de texto y probar que cada tecla corresponde ahora a lo que le asignásteis.
Hasta aquí ya estaria todo correcto.
 
Ya esta todo funcionando, pero si quereis personalizarlo mas para aplicaciones predeterminadas y otras
opciones como tiempo de retar, repeticiones seguimos....
 
**********Configuraciones y topics OPCIONALES******************** 
Opcional 1. Asignar un keymap a una aplicación, juego o programa.
Abrimos el monitor del Sistema, lo minimizamos y ejecutamos el juego o aplicación que deseemos.
Encuentra el programa que has ejecutado y copia el nombre del mismo.
Abrimos terminal:
cd /home/username/.config/pystromo
gedit monitor.conf
Nos mostrará lo siguiente:
# This is the configuration file for Pystromo's monitoring script.
# Each line herein specifies a mapping file to use when certain
# processes are detected as running.
# With the exception of "*", whitespace in the key IS NOT ignored.
# "=" is an invalid character in keys.

# The * defines mapping files to use all the time
*=default.map
  Asignaremos el nombre del proceso que queremos a un .map que hayamos creado.
*=default.map
Así (viene por defecto)con el asterisco tendremos todas las aplicaciones asignadas a default.map que hicimos antes.
Si por ejemplo queremos que solo funcione cuando se inicie el juego L2.exe escribiremos 
L2.exe=default.map

Podemos crear tantos keymaps para los distintos juegos/programas como queramos.
Nos dirigimos a
/home/usuario/.config/pystromo/
Y creamos un documento nuevo en la misma carpeta y lo nombramos como 'queramos.map' sin comillas.
Ahora dentro de este archivo haremos lo mismo que hicimos con default.map anteriormente, 
escribiremos la cabecera con los identificadores y el remapeo de las teclas como queramos.
Ahora tendremos otro 'perfil' de teclas creado que podremos asignar a la aplicacion que deseemos.
Solo tendremos que añadir al archivo monitor.conf anterior una linea alfinal del tipo:
aplicacionQueSea.exe=queramos.map
 Opcional 2. Comprobar si el remapeo es correcto sin tener que reiniciar.
Abrimos terminal:
cd /home/usuario/.config/pystromo
./pystromo-remap.py –m default.map
 Minimizamos terminal y abrimos un documento de texto donde pulsaremos las teclas de nuestro pad para ver
si estan correctamente asignadas.
Si no funcionara probar cerrar el anterior proceso en terminal y abrir una nueva :
cd /home/usuario/.config/pystromo
sudo ./pystromo-remap.py –m config/default.map
Volver a abrir un documento de texto y probar.

Opcional 3. Ociones de retardo, repeticion de teclas automática comando especificos para Nostromo de Belkin.
Se encuentra en:
/home/username/.config/pystromo/lib/constants.py
Y en:
/home/username/.config/pystromo/config/test.map
Abrir como texto y a investigar ;)

FIN!!
Esto es todo del manual para remapeo de pads utilizando pystromo.
Espero os resulte de utilidad.
Para cualquier duda escribir un comentario.
Saludos!!




0 Comentarios :

Publicar un comentario

 
Google+