Peticion: programa que genere coordenadas de un BMP para escribir KMLs de emu48(+)


Hola amigos foreros, tengo un montón de imágenes de skins o cubiertas que he realizado para EMU48 pero aun no son funcionales, para que estas imágenes trabajen con el emulador se requiere digitar un archivo texto (.kml) en si es un controlador de teclado, posicionamiento de botones, de pantalla, el trabajo de esto es arduo, la hp50g tiene como 50 teclas, codificadas son entonces 50 bloques de código y cada tecla puede llegar a tener 4 cambios, finalmente hay que escribir 200 bloques de código como el siguiente
Muestra
Button 12 Type 0 Offset 161 144 Size 54 27 Down 161 538 OutIn 5 2 End
Para ubicar las coordenadas del BMP del skin utilizo un editor de imágenes y con el puntero veo la posición, luego la escribo en el archivo * ejp (Offset 161 144) y (Down 161 538) igualmente con el mismo editor visualizo el tamanio del rectángulo del boton(Size 54 27)
Algún ing de sistemas aca en el foro o que pueda programar en Visual Basic/C++/C#, JAVA u otro requiero por favor un programita que lea una imagen BMP y que cuando le de un clic sobre la imagen específicamente encima de un botón del gráfico me escriba en un archivo texto (.txt) la coordenada y listo, me facilita la vida enormemente y podre compartir estos KML
Gracias
Otros temas de interes

Se me ocurre una idea un poco artesanal pero factible.
La idea es la siguiente:
Insertas la imagen en AUTOCAD con el tamaño y sistema de referencia de coordenadas adecuado. Una vez hecho esto, insertas un rectángulo con el tamaño adecuado encima de cada tecla y con las funciones de distancia y coordenadas de un punto (Menu HERRAMIENTAS CONSULTAR) puedes obtener todos los valores necesarios. Luego estos valores los copias al portapapeles y los pegas donde los necesites.
De esta manera puedes guardar la imagen en AUTOCAD con todos los rectángulos y consultarla o verificar errores, y si encima de cada rectángulo pones un número identificador (texto) de cada tecla lo tendrás todo más claro.
Saludos.
Emmo0
pd: no se si te soluciona mucho, la ventaja es que no tienes que copiar ninguna coordenada ni ningún tamaño a mano, todo lo puedes pasar al portapapeles y pegarlo en tu código.

-¿Ni siquiera una versión antigua?, lo que tienes que hacer luego con AUTOCAD es sencillo.
-Otra idea es utilizar otro programa de CAD (Diseño asistido por ordenador)no AUTOCAD que ocupe poca memoria (y gratuito).
Ejemplos:
BRL-CAD 7.18.0: http://brlcad.org/
QCAD : http://www.ribbonsoft.es/#downloads
Saludos.
Emmo0


Gracias, por los links
Conocen de algún editor de imágenes que permita copiar al portapapeles la posición actual (x,y) del cursor sobre la imagen




Miren en la siguiente imagen de un skin de la HP50 visualizado con el programa xnVIEW, al posicionar el cursor sobre la esquina superior izquierda de la tecla [7] me muestra la coordenada, quiero capturar ese dato (#x, #y)en el portapapeles, o automáticamente en un archivo texto, una sola coordenada no desgasta pero hacer lo mismo para el resto de teclas y otras posiciones ... y para varias imágenes ...


Se me ocurre una idea un poco artesanal pero factible.
La idea es la siguiente:
Insertas la imagen en AUTOCAD con el tamaño y sistema de referencia de coordenadas adecuado. Una vez hecho esto, insertas un rectángulo con el tamaño adecuado encima de cada tecla y con las funciones de distancia y coordenadas de un punto (Menu HERRAMIENTAS CONSULTAR) puedes obtener todos los valores necesarios. Luego estos valores los copias al portapapeles y los pegas donde los necesites.
De esta manera puedes guardar la imagen en AUTOCAD con todos los rectángulos y consultarla o verificar errores, y si encima de cada rectángulo pones un número identificador (texto) de cada tecla lo tendrás todo más claro.Saludos.
Emmo0
pd: no se si te soluciona mucho, la ventaja es que no tienes que copiar ninguna coordenada ni ningún tamaño a mano, todo lo puedes pasar al portapapeles y pegarlo en tu código.
disculpa pero no se si podrias explicar mejor esa parte de (Menu HERRAMIENTAS CONSULTAR), solo tengo el autocad 2010, que comando correponde a "CONSULTAR" supongo q habra cambiado el nombre, y dime con este comando puedo obtener las coordenas de las figuras que esten presentes en la hoja de dibujo?

Para obtener las propiedades de un objeto en AUTOCAD estas son algúnos de los comandos básicos, para que funcione los comandos antepones "_" si usas CAD en otro idioma distinto al Ingles.
ID : Muestra las coordenadas de un punto
List: Muestra todas las propiedades de un objeto.
Area: Determia el area por puntos/Objetos(+-).
Dist: Distancia entre dos puntos.


Pero para que funcione bien en AutoCAD la imagen tiene que estar referenciada,
luego puedes crear puntos y luego de volver a seleccionarlos con "LIST" puedes ver sus propiedades de posicion con la cual podras copiar y pegar a un editor de texto.
Parece demasiado facil jejejeje, pero la cosa es referenciar la imagen.
Yo no se como referenciar una imagen en AutoCAD, para mis trabajos yo utilizo Ilwis, o SagaGIS . Y cuando intente aplicar mis conocimientos en archivos Raster (Ilwis o SagaGIS) en un programa que maneja archivos vectoriales (AutoCAD) me hice lios y lo deje, así que si hay alguien que nos podria indicar como REFERENCIAR una imagen en base a 3 puntos en AutoCAD les sería muy agradecido jejeje.


Pienso que se puede programar en Autocad para que genere un script al seleccionar por ejemplo un rectángulo de la figura y que escriba el tamanio y posición del mismo, Es posible?



Para Referenciar una imagen en Autocad (a partir de ahora hablaré de autocad 2010, en versiones anteriores es prácticamente igual) los pasos a seguir son:
1)Realizas una linea con el comando línea desde las coordenadas X,Y de la esquina inferior izquierda de la imagen hasta las coordenadas X,Y de la esquina superior derecha de la imagen.
->Menu Dibujo
->Linea
2)Insertas la imagen:
->Menu insertar
->Referencia de imagenes raster
Seleccionas el archivo (le das a abrir)y en punto de inserción pones las coordenadas X,Y, de la esquina inferior izquierda de la imagen a insertar, en escala pones 1 por defecto y en rotación pones 0 (si la imagen no hay que girarla). Dejas sin marcar "precisar en pantalla" puesto que ya has metido los valores en el menu.
3)Cambias el tamaño de la imagen haciendo lo siguiente:
Pinchas en la imagen y mueves la esquina superior derecha de la misma (pinzamiento) hasta que coincida con el punto final de la línea que tiene por coordenadas las coordenadas superior derecha de la imagen (para ello en referencia a objetos tienes que tener seleccionado punto final), de esta manera tienes una imagen cuyas esquinas inferior izquierda y superior derecha coinciden con las de la línea introducida.
De esta manera ya la tendrías referenciada y con los comandos que han explicado los compañeros del foro podrías obtener las coordenadas y tamaño de las teclas.
Saludos.
Emmo0

Hola, creo tener la solución al problema planteado:
http://www.megaupload.com/?d=GPKRBW5R
Lo he creado en Visual Básic 6 como manera de recordar este lenguaje, se puede hacer mejoras pues no entiendo como están relacionados los valores down y offset :
Button 12 Type 0 Offset 161 144 Size 54 27 Down 161 538 OutIn 5 2 End
Los puntos son almacenados en un archivo de texto (.txt) en los cuales están los datos que mencionaste.
El modo de manejo es muy intuitivo, en archivo zip contiene un .exe (el progrmama) y un .manifest(Botones graficos de windows), descomprimes en una misma carpete para que funcionen correctamente.


Gracias Edward por el prg 
no me corre en Windows7 genera el siguiente fallo comdlg32.ocx archivo perdido
notas para mejorarlo
La guía para crear KML para emu48(+)
Download KML Guide script
Estoy escribiendo un documento para KML maker, redactando ...
Como mejorarlo y automatizar el proceso
Edward y otros que deseen unirse al proyecto KML maker
PASO1:
el KML maker debe leer un archivo txt guia, lo llame CodesGuideEmu48pKMLmaker.txt
que contine una tabla de codigos.
(Nota: el subguion es espacio y # son comentarios)
Tabla1 completa de códigos HP50 para codificar las teclas del skin
Archivo CodesGuideEmu48pKMLmaker.txt
Button Array Button Name Position Code | Row-Col OutIn | | | #[F1](A)______11____5_1 #[F2](B)______12____5_2 #[F3](C)______13____5_4 #[F4](D)______14____5_8 #[F5](E)______15____5_16 #[F6](F)______16____5_32 #[APPS](G)____21____5_128 #[MODE](H)____22____4_128 #[TOOL](I)____23____3_128 #[UP](^)______25____6_8 #[VAR](J)_____31____2_128 #[STO](K)_____32____1_128 #[NXT](L)_____33____0_128 #[LEFT](<)____34 ___6_4 #[DOWN](V)____35____6_2 #[RIGHT](>)___36____6_1 #[HIST](M)____41____4_64 #[EVAL](N)____42____3_64 #[ALG](O)_____43____2_64 #[SYMB](P)____44____1_64 #[BACKSPC]____45____0_64 #[Y^X](Q)_____51____4_32 #[ROOTX](R)___52____3_32 #[SIN](S)_____53____2_32 #[COS](T)_____53____1_32 #[TAN](U)_____55____0_32 #[EEX](V)_____61____4_16 #[+/-](W)_____62____3_16 #[X]__________63____2_16 #[1/X](Y)_____64____1_16 #[/](Z)_______65____0_16 #[ALPHA]______71____7_8 #[7]__________72____3_8 #[8]__________73____2_8 #[9]__________74____1_8 #[*]__________75____0_8 #[<¬]_________81____7_4 #[4]__________82____3_4 #[5]__________83____2_4 #[6]__________84____1_4 #[-]__________85____0_4 #[/->]________91____7_2 #[1]__________92____3_2 #[2]__________93____2_2 #[3]__________94____1_2 #[+]__________95____0_2 #[ON]_________101___0_32768 #[0]__________102___3_1 #[.]__________103___2_1 #[SPC]________104___1_1 #[ENTER]______105___0_1 #
Muestra de la codificacion
#[F1](A) # Primer fila, primer columna del TABLA1: ButtonName, requiere el caracter # para que quede como comentario
Button 11 # Primer fila, Segunda columna del TABLA1: RowCol de la tecla (ArrayPosition)
OutIn 5 1 # Primer fila, Tercera columna del TABLA1: OutInCode, codigo de la tecla
#[F2](B) # 2da fila, primer columna del TABLA1 ButtonName
Button 12 # 2da fila, Segunda columna del TABLA1RowCol
OutIn 5 2 # 2da fila, Tercera columna del TABLA1 OutInCode
...
PASO2: Despues de cargar el archivo anterior KML maker debe desplegar la lista de nombre de teclas [F1]...[ENTER]
que es la primer columna de la tabla anterior en una especie de chooseBox para que el usuario escoja la tecla y
luego se diriga a la imagen del skin y seniale la tecla correspondiente en un rectangulo para obtener
el offset (desface desde la coordenada 0,0) del BMP ezquina superior izquierda y el tamanio de la tecla (size del rectangulo)
PASO3: Luego KML Maker genera el bloque de sentencias para cada tecla
Archivo .kml o txt a generar
Codigo para la tecla [f1]
#[F1](A) Button 11 OutIn 5 1 Type 0 Size 36 19 Offset 15 200 End # of Button 11
Nota no importa el orden de OutIn, Type, Size, Offset, Down
El comando Down sirve para crear un efecto de tecla pulsada, por ejemplo si se desfaza el boton una posicion X,Y
entonces Down seria Offset x+1 y+1
Si Offset 15 200 entonces Down 16 201
Luego explico los parametros de Type
Codigo completo para la tecla [f1]
#[F1](A) Button 11 OutIn 5 1 Type 0 Size 36 19 Offset 15 200 Down 16 201 End # of Button 11

Si tienes Windows Vista/Win7 tendrás que registrar el archivo comdlg32.ocx.
Explicacíón del Problema

Aquí unas pautas para que funcione en Windows 7 y Vista.
- Descargar comdlg32.ocx.
- Desactivar el UAC (Vista/Win7)
Panel de control -> Cuentas de usuario -> Activar o Desactivar el control de cuentas de usuario.Luego de esto reiniciar la maquina. - El archivo comdlg32.ocx lo colocas en la Carpeta:
c:\Windows\System32Para Vista/Win7 de 64 bits
c:\Windows\SysWOW64 - Click en Inicio>Ejecutar (Tecla WINDOWS+R), aparecerá la Ventana Ejecutar
en ella escribes lo siguiente
regsvr32 c:\Windows\system32\comdlg32.ocxPara Vista/Win7 de 64 bits
regsvr32 c:\Windows\SysWOW64\comdlg32.ocx
- Aparecerá un mensaje indicando que fue registrado correctamente, Vuelve a activar el UAC (Vista/Win7) y reinicias la máquina.
Cuando tenga tiempo lo modificaré y posiblemente lo cree como macro en Ms Excel o en Macromedia Flash, para que no tenga problemas de compatibilidad.
Si lo requieren puedo colgar el Código fuente (VB6) para que lo modifiquen.


En el paso 2 no encontré Activar o Desactivar ... pero realice lo siguiente y funciono.
2. Desactivar el UAC (Vista/Win7)
Panel de control -> Cuentas de usuario -> Cambiar configuración de control de cuentas de usuario. Luego bajar a NO notificarme cuando realice cambios ...
Según Google también se puede hacer
También podemos dar a la tecla de [Windows] + [R] para que salga la ventana de ejecutar y escribimos “msconfig”, en la ventana que sale vamos a la pestaña herramientas y buscamos “Cambiar configuración de UAC” luego botón [Iniciar]
Hay un creador de Skin para el emulador de la TI calcs
te puedes Edward inspirar en este software para sacar ideas, por ejemplo en el icono de [Keys] lanza una ventana flotante para tener toda la pantalla visible del BMP cuando la imagen es muy grande



Tabla1 completa de códigos HP50 para codificar las teclas del skin
Archivo CodesGuideEmu48pKMLmaker.txt
Button Array Button Name Position Code | Row-Col OutIn | | | #[F1](A)______11____5_1 #[F2](B)______12____5_2 #[F3](C)______13____5_4 #[F4](D)______14____5_8 #[F5](E)______15____5_16 #[F6](F)______16____5_32 #[APPS](G)____21____5_128 #[MODE](H)____22____4_128 #[TOOL](I)____23____3_128 #[UP](^)______25____6_8 #[VAR](J)_____31____2_128 #[STO](K)_____32____1_128 #[NXT](L)_____33____0_128 #[LEFT](<)____34 ___6_4 #[DOWN](V)____35____6_2 #[RIGHT](>)___36____6_1 #[HIST](M)____41____4_64 #[EVAL](N)____42____3_64 #[ALG](O)_____43____2_64 #[SYMB](P)____44____1_64 #[BACKSPC]____45____0_64 #[Y^X](Q)_____51____4_32 #[ROOTX](R)___52____3_32 #[SIN](S)_____53____2_32 #[COS](T)_____53____1_32 #[TAN](U)_____55____0_32 #[EEX](V)_____61____4_16 #[+/-](W)_____62____3_16 #[X]__________63____2_16 #[1/X](Y)_____64____1_16 #[/](Z)_______65____0_16 #[ALPHA]______71____7_8 #[7]__________72____3_8 #[8]__________73____2_8 #[9]__________74____1_8 #[*]__________75____0_8 #[<¬]_________81____7_4 #[4]__________82____3_4 #[5]__________83____2_4 #[6]__________84____1_4 #[-]__________85____0_4 #[/->]________91____7_2 #[1]__________92____3_2 #[2]__________93____2_2 #[3]__________94____1_2 #[+]__________95____0_2 #[ON]_________101___0_32768 #[0]__________102___3_1 #[.]__________103___2_1 #[SPC]________104___1_1 #[ENTER]______105___0_1 #


Archivo KML_skinMakerForEmu48_plus.rar con el COMDLG32.OCX incluido
Download KML Skin Maker for emu48(+) Version Alpha 1 By Edward


Hay una actualización del documento para crear KML scripts para emu48(+)


Nueva versión, incluye código fuente, algún otro colaborador para optimizarlo
Download KML Skin Maker for emu48(+) Version Alpha 2 By Edward


Escribiendo código teclas con cambio a la izquierda, derecha y alfabéticas para los skins HP50g
#teclas con cambio a la izquierda RowCol2
#2 al final equivale a cambio a la izquierda (no se requiere outIN)
#pero si un codigo para efectuar el cambio de tecla
#[Y=] 112 OnDown; Press 81; Release 81; End;
OnUp; Press 11; Release 11; End;
#[WIN] 122 OnDown; Press 81; Release 81; End;
OnUp; Press 12; Release 12; End;
#[GRAPH] 132 OnDown; Press 81; Release 81; End;
OnUp; Press 13; Release 13; End;
#[2D/3D] 142 OnDown; Press 81; Release 81; End;
OnUp; Press 14; Release 14; End;
#[TblSet] 152 OnDown; Press 81; Release 81; End;
OnUp; Press 15; Release 15 End;
#[TABLE] 162 OnDown; Press 81; Release 81; End;
OnUp; Press 16; Release 16; End;
#[FILES] 212 OnDown; Press 81; Release 81; End;
OnUp; Press 21; Release 21; End;
#[CUSTOM] 222 OnDown; Press 81; Release 81; End;
OnUp; Press 22; Release 22; End;
#[i] 232 OnDown; Press 81; Release 81; End;
OnUp; Press 23; Release 23; End;
#[UPDIR] 312 OnDown; Press 81; Release 81; End;
OnUp; Press 31; Release 31; End;
#[RCL] 322 OnDown; Press 81; Release 81; End;
OnUp; Press 32; Release 32; End;
#[PREV] 332 OnDown; Press 81; Release 81; End;
OnUp; Press 33; Release 33; End;
#[CMD] 412 OnDown; Press 81; Release 81; End;
OnUp; Press 41; Release 41; End;
#[PRG] 422 OnDown; Press 81; Release 81; End;
OnUp; Press 42; Release 42; End;
#[MTRW] 432 OnDown; Press 81; Release 81; End;
OnUp; Press 43; Release 43; End;
#[MTH] 442 OnDown; Press 81; Release 81; End;
OnUp; Press 44; Release 44; End;
#[DEL] 452 OnDown; Press 81; Release 81; End;
OnUp; Press 45; Release 45; End;
#[e^x] 512 OnDown; Press 81; Release 81; End;
OnUp; Press 51; Release 51; End;
#[x^2] 522 OnDown; Press 81; Release 81; End;
OnUp; Press 52; Release 52; End;
#[ASIN] 532 OnDown; Press 81; Release 81; End;
OnUp; Press 53; Release 53; End;
#[ACOS] 542 OnDown; Press 81; Release 81; End;
OnUp; Press 54; Release 54; End;
#[ATAN] 552 OnDown; Press 81; Release 81; End;
OnUp; Press 55; Release 55; End;
#[10^x] 612 OnDown; Press 81; Release 81; End;
OnUp; Press 61; Release 61; End;
#[/=/] 622 OnDown; Press 81; Release 81; End;
OnUp; Press 62; Release 62; End;
#[<=] 632 OnDown; Press 81; Release 81; End;
OnUp; Press 63; Release 63; End;
#[>=] 642 OnDown; Press 81; Release 81; End;
OnUp; Press 64; Release 64; End;
#[ABS ] 652 OnDown; Press 81; Release 81; End;
OnUp; Press 65; Release 65; End;
#[USER] 712 OnDown; Press 81; Release 81; End;
OnUp; Press 71; Release 71; End;
#[SSLV] 722 OnDown; Press 81; Release 81; End;
OnUp; Press 72; Release 72; End;
#[EXP&LN] 732 OnDown; Press 81; Release 81; End;
OnUp; Press 73; Release 73; End;
#[FINANCE] 742 OnDown; Press 81; Release 81; End;
OnUp; Press 74; Release 74; End;
#[[]] 752 OnDown; Press 81; Release 81; End;
OnUp; Press 75; Release 75; End;
#[CALC] 822 OnDown; Press 81; Release 81; End;
OnUp; Press 82; Release 82; End;
#[MATRS] 832 OnDown; Press 81; Release 81; End;
OnUp; Press 83; Release 83; End;
#[CONVERT] 842 OnDown; Press 81; Release 81; End;
OnUp; Press 84; Release 84; End;
#[()] 852 OnDown; Press 81; Release 81; End;
OnUp; Press 85; Release 85; End;
#[ARITH] 922 OnDown; Press 81; Release 81; End;
OnUp; Press 92; Release 92; End;
#[DEF] 932 OnDown; Press 81; Release 81; End;
OnUp; Press 93; Release 93; End;
#[#] 942 OnDown; Press 81; Release 81; End;
OnUp; Press 94; Release 94; End;
#[{}] 952 OnDown; Press 81; Release 81; End;
OnUp; Press 95; Release 95; End;
#[CONT] 1012 OnDown; Press 81; Release 81; End;
OnUp; Press 101; Release 101; End;
#[INF ] 1022 OnDown; Press 81; Release 81; End;
OnUp; Press 102; Release 102; End;
#[::] 1032 OnDown; Press 81; Release 81; End;
OnUp; Press 103; Release 103; End;
#[PI] 1042 OnDown; Press 81; Release 81; End;
OnUp; Press 104; Release 104; End;
#[ANS] 1052 OnDown; Press 81; Release 81; End;
#teclas con cambio a la derecha RowCol3
#3 al final equivale a cambio a la derecha (no se requiere outIN)
#pero si un codigo para efectuar el cambio de tecla
#[BEGIN] 213 OnDown; Press 91; Release 91; End;
OnUp; Press 21; Release 21; End;
#[END] 223 OnDown; Press 91; Release 91; End;
OnUp; Press 22; Release 22; End;
#[|] 233 OnDown; Press 91; Release 91; End;
OnUp; Press 23; Release 23; End;
#[COPY] 313 OnDown; Press 91; Release 91; End;
OnUp; Press 31; Release 31; End;
#[CUT] 323 OnDown; Press 91; Release 91; End;
OnUp; Press 32; Release 32; End;
#[PASTE] 333 OnDown; Press 91; Release 91; End;
OnUp; Press 33; Release 33; End;
#[UNDO] 413 OnDown; Press 91; Release 91; End;
OnUp; Press 41; Release 41; End;
#[CHAR] 423 OnDown; Press 91; Release 91; End;
OnUp; Press 42; Release 42; End;
#[EQ ] 433 OnDown; Press 91; Release 91; End;
OnUp; Press 43; Release 43; End;
#[CAT] 443 OnDown; Press 91; Release 91; End;
OnUp; Press 44; Release 44; End;
#[CLEAR] 453 OnDown; Press 91; Release 91; End;
OnUp; Press 45; Release 45; End;
#[LN] 513 OnDown; Press 91; Release 91; End;
OnUp; Press 51; Release 51; End;
#[xVy] 523 OnDown; Press 91; Release 91; End;
OnUp; Press 52; Release 52; End;
#[SUMAT] 533 OnDown; Press 91; Release 91; End;
OnUp; Press 53; Release 53; End;
#[DER] 543 OnDown; Press 91; Release 91; End;
OnUp; Press 54; Release 54; End;
#[INT] 553 OnDown; Press 91; Release 91; End;
OnUp; Press 55; Release 55; End;
#[LOG] 613 OnDown; Press 91; Release 91; End;
OnUp; Press 61; Release 61; End;
#[=] 623 OnDown; Press 91; Release 91; End;
OnUp; Press 62; Release 62; End;
#[<] 633 OnDown; Press 91; Release 91; End;
OnUp; Press 63; Release 63; End;
#[>] 643 OnDown; Press 91; Release 91; End;
OnUp; Press 64; Release 64; End;
#[ARG] 653 OnDown; Press 91; Release 91; End;
OnUp; Press 65; Release 65; End;
#[ENTRY] 713 OnDown; Press 91; Release 91; End;
OnUp; Press 71; Release 71; End;
#[NUMSLV] 723 OnDown; Press 91; Release 91; End;
OnUp; Press 72; Release 72; End;
#[TRIG] 733 OnDown; Press 91; Release 91; End;
OnUp; Press 73; Release 73; End;
#[TIME] 743 OnDown; Press 91; Release 91; End;
OnUp; Press 74; Release 74; End;
#[""] 753 OnDown; Press 91; Release 91; End;
OnUp; Press 75; Release 75; End;
#[ALG] 823 OnDown; Press 91; Release 91; End;
OnUp; Press 82; Release 82; End;
#[STAT] 833 OnDown; Press 91; Release 91; End;
OnUp; Press 83; Release 83; End;
#[UNITS] 843 OnDown; Press 91; Release 91; End;
OnUp; Press 84; Release 84; End;
#[_] 853 OnDown; Press 91; Release 91; End;
OnUp; Press 85; Release 85; End;
#[CMPLX] 913 OnDown; Press 91; Release 91; End;
OnUp; Press 92; Release 92; End;
#[LIB] 923 OnDown; Press 91; Release 91; End;
OnUp; Press 93; Release 93; End;
#[BASE] 933 OnDown; Press 91; Release 91; End;
OnUp; Press 94; Release 94; End;
#[<<>>] 943 OnDown; Press 91; Release 91; End;
OnUp; Press 95; Release 95; End;
#[OFF] 1013 OnDown; Press 91; Release 91; End;
OnUp; Press 101; Release 101; End;
#[->] 1023 OnDown; Press 91; Release 91; End;
OnUp; Press 102; Release 102; End;
#[<|] 1033 OnDown; Press 91; Release 91; End;
OnUp; Press 103; Release 103; End;
#[,] 1043 OnDown; Press 91; Release 91; End;
OnUp; Press 104; Release 104; End;
#[->NUM] 1053 OnDown; Press 91; Release 91; End;
OnUp; Press 105; Release 105; End;
#teclas ALFABETICAS RowCol4
#4 al final equivale a teclado alfabetico (no se requiere outIN)
#pero si un codigo para efectuar el cambio de tecla
#[A] 114 OnDown; Press 71; Release 71; End;
OnUp; Press 11; Release 11; End;
#[B] 124 OnDown; Press 71; Release 71; End;
OnUp; Press 12; Release 12; End;
#[C] 134 OnDown; Press 71; Release 71; End;
OnUp; Press 13; Release 13; End;
#[D] 144 OnDown; Press 71; Release 71; End;
OnUp; Press 14; Release 14; End;
#[E] 154 OnDown; Press 71; Release 71; End;
OnUp; Press 15; Release 15; End;
#[F] 164 OnDown; Press 71; Release 71; End;
OnUp; Press 16; Release 16; End;
#[G] 214 OnDown; Press 71; Release 71; End;
OnUp; Press 21; Release 21; End;
#[H] 224 OnDown; Press 71; Release 71; End;
OnUp; Press 22; Release 22; End;
#[I] 234 OnDown; Press 71; Release 71; End;
OnUp; Press 23; Release 23; End;
#[J] 314 OnDown; Press 71; Release 71; End;
OnUp; Press 31; Release 31; End;
#[K] 324 OnDown; Press 71; Release 71; End;
OnUp; Press 32; Release 32; End;
#[L] 334 OnDown; Press 71; Release 71; End;
OnUp; Press 33; Release 33; End;
#[M] 414 OnDown; Press 71; Release 71; End;
OnUp; Press 41; Release 41; End;
#[N] 424 OnDown; Press 71; Release 71; End;
OnUp; Press 42; Release 42; End;
#[O] 434 OnDown; Press 71; Release 71; End;
OnUp; Press 43; Release 43; End;
#[P] 444 OnDown; Press 71; Release 71; End;
OnUp; Press 44; Release 44; End;
#[Q] 514 OnDown; Press 71; Release 71; End;
OnUp; Press 51; Release 51; End;
#[R] 524 OnDown; Press 71; Release 71; End;
OnUp; Press 52; Release 52; End;
#[S] 534 OnDown; Press 71; Release 71; End;
OnUp; Press 53; Release 53; End;
#[T] 544 OnDown; Press 71; Release 71; End;
OnUp; Press 54; Release 54; End;
#[U] 554 OnDown; Press 71; Release 71; End;
OnUp; Press 55; Release 55; End;
#[V] 614 OnDown; Press 71; Release 71; End;
OnUp; Press 61; Release 61; End;
#[W] 624 OnDown; Press 71; Release 71; End;
OnUp; Press 62; Release 62; End;
#[X] 634 OnDown; Press 71; Release 71; End;
OnUp; Press 63; Release 63; End;
#[Y] 644 OnDown; Press 71; Release 71; End;
OnUp; Press 64; Release 64; End;
#[Z] 654 OnDown; Press 71; Release 71; End;
OnUp; Press 65; Release 65; End;




Edward alguna novedad de tu skin editor?
Un editor de skins de la TInspire cx cas







Muy buena solución, pero mi portátil es de los viejitos lo pongo lentium
( con AutoCAD 2011
EXTRA
Attend HHC 2012, the annual HP calculator conference, in Nashville, TN, USA, September 22-23
http://hhuc.us/2012/