VKeyboard 0.1

Por ahora solo es una demo, pero voy a intentar hacer una especie de libreria, para añadir el teclado a cualquier app =3
Faltan por implementar, las mayus, los numeros, caract. esp.,un cursor mas bonito xD...

Clic en la imagen para descargar
Imagen


Salu2 =3

Bugs:
La tecla de Bckspace borra dos caracteres
Me parece una idea estupenda y muy útil, voy a probarlo ahora mismo ;)

EDIT: He visto que no incluye fuentes, supongo que en la versión definitiva los incluirás ¿No?
Una cosa, el teclado se conecta por USB a la wii?
exelente, cuando este depurado se convertira en una utilidad muy buena.

merece esta en el post de los app de cangrejo
frontier escribió:EDIT: He visto que no incluye fuentes, supongo que en la versión definitiva los incluirás ¿No?

Por supuesto, pero ahora aun esta muy sucio xDD

pozas, se maneja con wiimote =P
Alguien sabe como hacer para usar transparencias con GRRLIB?
Si no es asi, me pasare a PNGU y te dare el coñazo frontier =P
pho... lo estas haciendo con GRRLIB?

Mi opinion es que es un coñazo :S, por aquello de tener que pasar las imagenes a un archivo .h
Que me vas a contar... T__T xDD, pero me venia mas comodo para empezar pk no habia tocado aun las pngu, aunque cada vez lo vemo mas claro.. xDD
Y yo estaré encantado de que te pases al lado oscuro jejeje...

Por cierto, en la versión que estoy a punto de sacar he añadido algunas funciones para que se puedan combinar PNGU y GRRLIB.

En cuanto a tu pregunta: Que yo sepa con GRRLIB no se pueden usar transparencias, porque internamente trabaja con un búfer RGB565 que no tiene canal alpha. Debería ser muy sencillo adaptar la librería para que trabaje en RGB5A3 o en RGBA8 que si tienen alpha, de hecho creo que sus autores deberían tomar nota y hacerlo cuanto antes. A lo mejor si les hacemos una petición entre varios nos hacen caso...
pues lo dicho, hacia PNGU vamos xDD
Para el cursor que me recomiendas? esque me parece que si cargo el fondo y cargo el cursor con coordenadas encima del fondo, y asi en un bucle sera muy duro para la wii xDD (y acabo de probarlo y almenos con una imagen grande (200x200) ha petado, no ha salido code dump, sino que se ha puesto la pantalla a franjas verdes...xDD)

EDIT: vale, creo que lo tengo.. xD me falta ver como hago para que el cursor apunte donde es debido, porque solo se mueve 5 pixleses abajo, y 5 arriba... xDD (asi a ojo..)
Pho, si quieres te ayudo con el diseño gráfico.

MP.
Una pregunta.. PNGU está acelerado por hardware? De ser así esos bucles que dice pho no deberían importarle a la wii lo mas mínimo, no?
A esto te respondera frontier mejor que yo, pero ya que estoy...PNGU no estan aceleradas por hardware porque no hay nada que acelerar xD PNGU no muestra las imagenes, sino que las carga en la memoria con un formato muy comodo para poder usarlas como texturas. El siguiente paso es crearte un Quad con GX (que SI estan aceleradas por hard) y que ocupe la parte de la pantalla que quieras. A ese quad le pones como textura la imagen que te han cargado las PNGU y ahi tienes tu bonito teclado. Ya solo queda lo mas complicado xD, que el programa reconozca la posicion del puntero y la enlace con el boton correspondiente xD
¿Entonces PNGU solo se encarga de coger un .png y transformarlo a un formato de textura? ¿No provee funciones que permitan sacar ese .png por la pantalla?
Que yo sepa no. Pero por si acaso pregunta a frontier.
Moki_X escribió:¿Entonces PNGU solo se encarga de coger un .png y transformarlo a un formato de textura? ¿No provee funciones que permitan sacar ese .png por la pantalla?

Si y no. Además de transformar imágenes PNG a los formatos usados por las texturas también las puede transformar al formato usado por el framebuffer, por lo que puedes abrir una imágen y descomprimirla directamente a pantalla. Tienes que tener en cuenta que PNGU no es una librería de sprites, es una librería de conversión de imágenes y lo que el usuario haga con esas imágenes ya es cosa suya.
entonces para el cursor con un decodetocoords bastaria? como hago para darle trasparencia=?
frontier escribió:Y yo estaré encantado de que te pases al lado oscuro jejeje...

Por cierto, en la versión que estoy a punto de sacar he añadido algunas funciones para que se puedan combinar PNGU y GRRLIB.

En cuanto a tu pregunta: Que yo sepa con GRRLIB no se pueden usar transparencias, porque internamente trabaja con un búfer RGB565 que no tiene canal alpha. Debería ser muy sencillo adaptar la librería para que trabaje en RGB5A3 o en RGBA8 que si tienen alpha, de hecho creo que sus autores deberían tomar nota y hacerlo cuanto antes. A lo mejor si les hacemos una petición entre varios nos hacen caso...

que yo sepa la gente que hizo grrlib sacó la 2.0 con errores porque ya no pensaban continuar el desarrollo. el soporte que dieron de valor se incluyó en las librerias de la devkitpro. a ver si marcan pasa por aqui y dice exactamente que se incluyó, pero me suena eso..
Personalmente creo que, para poder ser usado como standard, debería poder hacer las siguientes cosas:

-Leer imágenes externas para que pueda personalizarse para cada aplicación, incluyendo teclas, borde, cursores, etc.
-Posibilidad de cambiar la posición de cada tecla, añadir nuevas, etc, a través de un archivo de configuración o algo similar.
-Soporte para varias configuraciones de teclados distintos dentro de la misma aplicación.


Así por ejemplo en un emulador de spectrum se podría sacar por pantalla el teclado de cada modelo que puede emular, etc.
Lo de leer las imagenes para personalizar esta en la lista, y de hecho con las PNGU no sera un problema, el resto lo veo chungo... para cambiar las teclas se me ha ocurrido una cosa que puede molar bastante pero he de mirar como funciona, pero añadir... eso ya es otro tema porque hay que decirle las coordenadas de las teclas para el cursor y claro, añadir siempre se puede hacer desde codigo fuente, pero asi desde fichero de config. tambien lo veo poco factible

Que quieres decir con distintas config de teclados? cuando este acabado tendra todas las teclas que debe tener un teclado estandar..


Salu2 =3
pho escribió:Que quieres decir con distintas config de teclados? cuando este acabado tendra todas las teclas que debe tener un teclado estandar..
Me refería a que por ejemplo un emulador podría necesitar varios teclados distintos, algunos de ellos incluso con distintas teclas entre sí (como los distintos modelos de Spectrum), o en distinto orden (como los teclados Azerty). En estos casos, bastaría con cargar una de las varias configuraciones de teclado cuando se necesitara.
pho escribió:entonces para el cursor con un decodetocoords bastaria? como hago para darle trasparencia=?


Podrías usar un decodetocoords, pero no sería muy práctico porque estarías descomprimiendo la imágen png en cada frame. Lo suyo es que la descomprimas al principio del programa una sóla vez y luego la vayas copiando a su destino en cada frame usando una rutina de tu propia cosecha. Como ya dije antes, PNGU es una librería de carga de imágenes png, no de manejo de sprites.
De todas formas he pensando que lo siguiente que voy a hacer es la dichosa librería de sprites, ya que sería un complemento ideal, pero de aqui a que esté lista pasará un rato largo...

Sobre las transparencias: Con GRRLIB simplemente no puedes tenerlas a no ser que recurras a algún truco como el que hizo Kontakatilu en su aplicación WiiPaint. Mírate los fuentes y sabrás de que te hablo. Otra opción es usar la imágen de tu teclado como una textura y pintarla usando GX. Eso te permitiría transparencias aceleradas por hardware, pero yo de GX ni papa, así que no puedo decirte como se hace. Por ahí rula un manual de GX muy bueno, si tienes interés puedes pedírselo a alguno de los que está trabajando con GX, como por ejemplo oyzzo, technik o el mismo Kontakatilu.

Moki_X escribió:Una pregunta.. PNGU está acelerado por hardware? De ser así esos bucles que dice pho no deberían importarle a la wii lo mas mínimo, no?

Lo que te ha contestado technik es verdad, no hay manera de acelerar PNGU por hardware. Para eso haría falta que los diseñadores de Wii hubiesen incluido una especie de "versión hardware de libpng", lo que hubiese encarecido la consola un buen pico, por no hablar de lo inutil que sería ese hardware durante el 99'9% del tiempo de ejecución de cualquier juego...
cunado intento comparar las coordenadas que le doy, con los ir, es decir letrax < data.ir.ax < (letrax+letraw), el compilador me da warning "comparisons like X<=Y<=Z do not have their mathematical meaning" que tengo que hacer para que no me suelte la tonteria esta? =P xDD

PD: por ahroa seguire con GRRLIB, sacare algo funcional y despues me pasare a PNGU =3
hago un UP para ver si me podeis ayudar a una cosilla, el tema es que no tengo muy claros los temas de Video. El vkey esta "acabado" (es funcional) solo falta este detalle.
A ver la cosa es, a mi entender en la wii hay dos modos, el grafico y el texto. Que cambia entre ellos¿? si alguien hace algo en modo texto y mi programa usa (usará =P) las GX, puedo salir de este modo y ya esta?
por ahora lo que tengo hecho es la inicializacion de las GRRLIB (si T_T ya lo cambiare a GX a pelo xD) y al acabar la inicializacion del modo texto (toda la parte de los ejemplos por decirlo asi) pero si hago la secuencia texto -> GRRLIB -> texto [hasta aqui bien]->Grrlib [aqui peta] que vendria a ser para volver a introducir otra palabra.
Que recomendais? a ver si acabo esto ya que es util y se esta desaprovechando xD

Salu2 =3
24 respuestas