Buenas llevo unos dias preparando este pequeño proyectillo y ante las multiples dudas que me van surgiendo, prefiero antes de marear mas a Macarro y [Mad], contaros este proyectillo ademas ver las necesidades que hay

[
Encuentra la Version Actualizada de este articulo aquí | English Version Here! ]
Proyecto:Crear un driver totalmente opensource que permita usar el puerto paralelo para nuestros controles; en principio yo voy a trabajar en
Linux, pero al ser el driver abierto, si alquien quiere portarlo a
MSDOS, MacOS o Windows; es perfectamente libre de hacerlo
Mi Idea:En principio mi objetivo va a ser hacer un keycoder por software, es decir un boton te da una tecla, pero seria luego perfectamente posible hacer un driver mejor para configurar Joys virtuales a partir de una configuracion dada al driver (ya sea con configuraciones base, o dando un archivo ini creado por una aplicacion visual :?).
El Debate:Pues hay varios problemas, en principio he visto diferentes versiones con formas de leer el LPT y en todas lo que me he encontrado que seria mejor el concepto/politica que tenemos hoy dia de configuracion de los controles, explico:
Ahora mismo configuramos los botones por lineas, asi:
CODE
[ ][ 10 ][ 11 ][ 12 ][ 13 ][ 15 ]
[ 2 ][1-ARRIB][1-ABAJO][1-DEREC][1-IZQUI][1-DISP1]
[ 3 ][1-DISP2][1-DISP3][1-DISP4][1-DISP5][1-DISP6]
....
El problema es que se lee siguiendo las columnas y comprobando que bits hay activos en esa posicion, ej: Enviamos un barrido a la columna 10, esperamos unos segundos (el delay que me teneis que decir - ver abajo), luego miramos de nuevo la columna 10 y vemos que estan pulsados [1-ARRIBA] y [1-DISP2], pasamos a la siguiente columna 11 y repetimos...
Y asi con todas, mi idea seria configurar los controles por columnas:
CODE
[ ][ 10 ][ 11 ][ 12 ][ 13 ][ 15 ]
[ 2 ][1-ARRIB][2-ARRIB][ ][ ][ ]
[ 3 ][1-ABAJO][1-ABAJO][ ][ ][ ]
....
o algo mas complejo para cuatro jugadores seria:
CODE
[ ][ 10 ][ 11 ][ 12 ][ 13 ][ 15 ]
[ 2 ][1-ARRIB][2-ARRIB][3-ARRIB][4-ARRIB][1-EXTR1]
[ 3 ][1-ABAJO][2-ABAJO][3-ABAJO][4-ABAJO][1-EXTR2]
....
de esta forma tendriamos solo que mirar el numero de columnas/controles activos, y no tener que esperar mas de lo necesario, Con esta configuracion podrias configurar cada via con controles virtuales de varias formas:
- Joy4 ejes + 8 botones (
Joy4)
- Joy8 ejes + 4 botones (
Joy8)
- 12 Botones (
Btn12)
- 12 botones como teclas (
Key12)
- Custom (
Custom) - Usando algun configurador o ini para mandarle tu config
(no se me ocurren mas opciones xD)
Asi podriamos configurar el driver:
insmod arcade.lpt0=Joy8,Joy8,Joy4,Joy4,Btn12Y direis 4 botones para 8 vias son pocos, pero es que con (
12btn) podemos meterle los 4/8 mas que necesitemos, no se si e entiende la idea :?
Si solo quisieramos un simple panel de arcade clasico para 2 jugadores:
insmod arcade.lpt0=Joy4,Joy4Y tendriamos 2 joystick virtuales de 4 ejes con 8 botones cada uno
Vuestra Ayuda:Desafortunadamente yo no tengo Windows, asi que no puedo comprobar totalmente todas las funcionalidades del PPJoy y los diferentes conceptos que usa. En principio me gustaria saber 2 cosas el delay que tiene el PPjoy por defecto y como hace para configurar los botones de tu panel (supongo que sera una utilidad a parte).
Por favor, debatid y aconsejadme que yo acabo de llegar a este mundillo (como quien dice) y no se las necesidades que hay

Un Saludo y seguro que entretodos creamos un util proyecto

WORK IN PROGRESSRelease publicas del proyecto:
- Driver Linux v0.4
Version de 12 canales - Sin configuracion.
Modificado por D_Skywalk - 22/5/2006, 10:48