Foro x-plane.es
Foro General
»
Complementos de X-Plane, aviones, escenarios, plugins...
»
Comando para X-Plane utilizando Stream Deck
Usuario:
Recordar
Contraseña:
Inicio
Ayuda
Tags
Ingresar
Registrarse
Páginas: [
1
]
Ir Abajo
« anterior
próximo »
Imprimir
Autor
Tema: Comando para X-Plane utilizando Stream Deck (Leído 4177 veces)
0 Usuarios y 1 Visitante están viendo este tema.
22 Mayo, 2022, 10:30:07
JMSL
Usuario reciente
Desconectado
Mensajes: 8
En línea
Comando para X-Plane utilizando Stream Deck
Buenos días.
Estoy utilizando un
Stream Deck
con
X-Plane 11
, y para ello uso los dos comandos que hay dedicados a X-Plane, que son el \"
Generic X-PLane command
\" y \"
Set X-Plane dataref
\".
Normalmente no tengo problema para encontrar el
comando
y/o
dataref
que utilizan los botones, palancas, etc del avión para asignarlos a una tecla del
Stream Deck
. Todo bien, salvo los
dataref
que están vinculados a los botones que regulan, por ejemplo, la luminosidad. Detecto el
dataref
involucrado, pero desconozco la forma de hacer que el valor se vaya incrementando, en vez de tomar el valor que le pongo en el campo correspondiente del comando
Stream Deck
(Set X-Plane dataref).
Cuando pulso el botón con el ratón, observo que se va cambiando en más o menos el valor contenido en el
dataref
en un valor que seguramente está establecido en otro
dataref
. El comando
Set X-Plane dataref
, me permite poner un valor, que es el que asigna a la variable seleccionada. Yo querría que esa variable representada en el
dataref
, se fuera incrementando/decrementado conforme yo fuera pulsando la tecla de
Stream Deck
.
¿Alguien podría ayudarme en este problema?
Gracias por adelantado.
22 Mayo, 2022, 12:13:35
#1
grrr05
Superusuario
Desconectado
Mensajes: 4344
If it ain't broke don't fix it
En línea
Re: Comando para X-Plane utilizando Stream Deck
Nunca he tocado un Stream Deck concretamente así que desconozco su interfaz para X-Plane, aunque me dá la impresión que no es diferente a cualquier otro dispositivo HID.
Por lo que cuentas, necesitas una función para que la pulsación del botón incremente o disminuya el valor antes de enviarlo al dataref. Si el interfaz del Stream Deck no te permite "scriptear", siempre puedes hacerlo con el plugin FlyWithLua - en este caso (asumiendo que el SD sea un dispositivo HID), que el script de FWL capture las pulsaciones y ejecute dicha funcion. En este caso, para evitar conflictos los botones a usar no deberían estar asignados en el interfaz de Stream Deck.
Sería algo así como:
Código:
#asumiendo que el dataref es un flotante (ratio) de 0 a 1; con pasos de 0.1
valorDataref = dataref()
#incremento
if botonXpulsado:
if valorDataref < 1:
valorDataref += 0.1
escribeDataref(dataref(valorDataref))
#disminucion
if botonYpulsado:
if valorDataref > 0:
valorDataref -= 0.1
escribeDataref(dataref(valorDataref))
Hace muchísimos años que no pico código en LUA (ni siquera eso que he escrito lo és), pero si es lo que necesitas podemos echarle un vistazo, me vendría bien refrescar algunos lenguajes...
Albert Ràfols
www.spainuhd.es
22 Mayo, 2022, 15:57:52
#2
JMSL
Usuario reciente
Desconectado
Mensajes: 8
En línea
Re: Comando para X-Plane utilizando Stream Deck
Buenas tardes. Ante todo muchas gracias por la pronta respuesta que te agradezco enormemente. Entiendo que la solución que ves es la de añadir a los comandos de STREAM DECK creados por FLIGHTDECK, uno que permita modificar los DATAREFS, aumentando/disminuyendo un valor, es decir, programar una función a la que se le facilite el DATAREFS a modificar, y el valor, positivo o negativo que se quiere aumentar o disminuir.
Me parece muy lógico y el script que me indicas parece abundar en este sentido. Pues te agradezco, y acepto, tu oferta de colaboración, por lo que quedo a las indicaciones que tengas a bien hacerme.
El STREAM DECK XL es como un teclado, de 15 botones a los que puedo poner un texto y una imagen de fondo. Yo estoy encantado con las opciones que me permite con X-Plane.
Reiterando mi agradecimiento, y a la espera de tus indicaciones recibe un afectuoso saludo.
Jose Manuel Surroca Laguardia.
22 Mayo, 2022, 17:42:36
#3
grrr05
Superusuario
Desconectado
Mensajes: 4344
If it ain't broke don't fix it
En línea
Re: Comando para X-Plane utilizando Stream Deck
Hmmm acabo de informarme un poco mas sobre el Stream Deck y me temo que no tengo muy buenas noticias, pero eso no significa que no sea posible.
Primero, el Flight Deck para X-Plane es de código cerrado así que olvida añadir nueva funcionalidad de forma nativa.
Luego, Stream Deck no es un HID por lo que lo de capturar eventos de teclas/botones desde FlyWithLua se va al traste salvo que se conecte a traves de un joystick virtual.
He visto que existe este plugin de vJoy para enlazar el Stream Deck a un joystick virtual:
https://github.com/ashupp/Streamdeck-vJoy
Y ahí está el vJoy
https://sourceforge.net/projects/vjoystick/
Lo que no puedo decirte es como interferiría el interfaz nativo de Stream Deck con el joystick virtual, pero eso sí, olvidate de la retroalimentación en los botones que vayas a usar como "joystick", es decir que en ellos no verás ninguna imagen ni se iluminarán ni nada.
Como no tengo el cacharro, voy bastante a ciegas pero puedo asegurarte que con los joysticks virtuales se puede hacer magia, en X-Plane 10 logré enlazar una controladora midi (era una behringer bcr2000 creo) 100% funcional, tanto para botones toggle como pulsadores e incluso ejes analógicos cuya entrada se convertía desde los pulsos de los encoders.
Lo suyo sería que probases primero lo del joystick virtual a ver si se puede usar simultaneamente con el Flight Deck para no sacrificar funcionalidad del cacharro, es decir que te reserves los botones que vayas a usar con script, y todo el resto lo dejas configurado con el Flight Deck, como ahora. Si el Stream Deck está correctamente enlazado al joystick virtual, X-Plane debería detectártelo como joystick, y asegurándote de que el Flight Deck siga funcionando
Si consigues eso, crear las funciones será coser y cantar. Sé que puede parecer un peñazo, y lo es, pero la gran mayoría de los que alguna vez hemos apañado una cabina para simuladores mediante hardware no específico o incluso para extender la funcionalidad del propio hardware, hemos tenido que pasar por esto.
Albert Ràfols
www.spainuhd.es
22 Mayo, 2022, 18:34:12
#4
JMSL
Usuario reciente
Desconectado
Mensajes: 8
En línea
Re: Comando para X-Plane utilizando Stream Deck
De nuevo Gracias por su amabilidad y prontitud.
Ya veo el problema, que me has dejado meridianamente claro. Voy a ponerme en contacto con FLIGHTDECK, pues he estado buscando información sobre los pluggins que han creado para xplane, y según indican, están abiertos a nuevas sugerencias que se les puedan hacer. Afortunadamente, siempre hay personas que se prestan a ayudar a los demás de forma desinteresada.
En cualquier caso muchas gracias por la información, y voy a probar su sugerencia para ver hasta donde me lleva. Naturalmente, si obtengo solución por parte de FLIGHTDECK, se lo comentaré para su conocimiento.
Gracias y buenas tardes. Un saludo.
Jose Manuel Surroca Laguardia
23 Mayo, 2022, 10:06:27
#5
JMSL
Usuario reciente
Desconectado
Mensajes: 8
En línea
Re: Comando para X-Plane utilizando Stream Deck
Buenos días.
He estado dándole vueltas al asunto, y abusando de su amabilidad, le pediría que me aclarara si estoy en lo cierto, en lo que le voy a exponer. Entiendo que utilizando
FlyWithLua
, podría crear un comando que se añadiría a los comandos que ya controla X-Plane, como son los del tipo
sim/.....
. o
Laminar/.....
Si esto es así, yo podría crear ese comando que me incremente/decremente un determinado valor en el contenido de un
dataref
determinado. Y llegados a este punto, podría utilizarlo directamente desde el
STREAM DECK
, mediante el
pluggin
de X-Plane (realizados por
FLIGHTDECK
), que ejecuta Comandos X-Plane, o bien el otro que permite modificar
Datarefs
.
¿Sería posible esto que le expongo? Verdaderamente no tenía pensado meterme en este lio, pero después de darle vuelta a la cosa, me parece que podría añadir algunas cosillas más. En mi vida \"civil\" (ahora estoy jubilado) trabajaba de informático en una entidad bancaria, y creo que no me costaría mucho refrescar la memoria y hacerme con el manejo de Lua.
Espero su opinión al respecto.
Un saludo.
José Manuel Surroca Laguardia
23 Mayo, 2022, 18:17:38
#6
grrr05
Superusuario
Desconectado
Mensajes: 4344
If it ain't broke don't fix it
En línea
Re: Comando para X-Plane utilizando Stream Deck
Exacto, bueno ahora creo que si, ayer no lo tenía muy claro.
Acabo de probar con la demo de Stream Deck Mobile desde una tablet, junto con vJoy y X-Plane lo pilla perfecto aunque ahora ya es irrelevante, pues he estado trasteando un poco con FlyWithLua (hacía eones que no lo tocaba) y uno de los scripts de demostración que trae hace exactamente eso que supuestamente necesitas, te crea dos comandos para incrementar/disminuir un dataref en concreto, en el caso del script de demo es para mover la cámara del piloto lateralmente, ahí tendrías que modificarlo para que usara tus dataref y el valor de los pasos (que casualmente ahí también es 0.1). El script en cuestión es el "test commands.lua" y esta en el directorio "Scripts (disabled)" del FlyWithLua, el cual tendrás que mover al directorio "Scripts" para que funcione (no está de mas echarle un vistazo al manual de FWL para ver lo más básico)
Código:
-- test commands.lua
gHeadPositionXDataRef = XPLMFindDataRef("sim/aircraft/view/acf_peX")
create_command( "FlyWithLua/ViewPoint/MoveRight", "Move Right",
"",
"XPLMSetDataf(gHeadPositionXDataRef, XPLMGetDataf(gHeadPositionXDataRef) + .1)",
"XPLMSetDataf(gHeadPositionXDataRef, XPLMGetDataf(gHeadPositionXDataRef) + .1)")
create_command( "FlyWithLua/ViewPoint/MoveLeft", "Move Left",
"",
"XPLMSetDataf(gHeadPositionXDataRef, XPLMGetDataf(gHeadPositionXDataRef) - .1)",
"XPLMSetDataf(gHeadPositionXDataRef, XPLMGetDataf(gHeadPositionXDataRef) - .1)")
Ahí tendrías que cambiar el dataref en XPLMFindDataRef() por el que necesites, el nombre de los comandos y sus respectivas etiquetas son "FlyWithLua/ViewPoint/MoveRight", "Move Right" y "FlyWithLua/ViewPoint/MoveLeft", "Move Left", las etiquetas son lo que se ve en el menú de configuración de X-Plane, los comandos son los que empiezan con "FlyWithLua/..." pero evidentemente puedes usar los nombres y prefijos que quieras.
Por último "gHeadPositionXDataRef" es el nombre del callback, puedes cambiarlo por algun nombre que sea mas relevante conforme lo que hace el comando, mas que nada por si dentro de 10 años tienes que volver a modificar el script, que sea mas entendible
Luego en Flight Deck imagino que podrás configurar dos botones para que lance estos comandos directamente.
Si me dices los dataref que necesitas puedo probarlo en un momento ahora que tengo medio emulado un Stream Deck, pero mas que nada por los comandos, ya que con Flight Deck si que no puedo probar nada. (no es por el precio, pero es que paso de gastarme dinero en cosas que no necesito y que no voy a usar, para eso ya tengo mis vicios jeje)
«
Última modificación: 23 Mayo, 2022, 18:19:46 por grrr05
»
Albert Ràfols
www.spainuhd.es
23 Mayo, 2022, 19:56:04
#7
JMSL
Usuario reciente
Desconectado
Mensajes: 8
En línea
Re: Comando para X-Plane utilizando Stream Deck
Buenas tardes.
Yo también espero que dentro de diez años pueda, o tenga ganas, de modificar o incluir algún comando más.
El Dataref que me ocupa es
sim/cockpit2/switches/instrument_brightness_ratio[0] , [1], [2] y [3]
que son los que controlan los botones de brillo de Aviónica, Paneles, Pedestal y Standard respectivamente.
Ya he visto ese archivo que me comentas, pero al desconocer en principio como va el asunto, estoy leyendo el manual de FlyWithLua que me está pereciendo interesante. De paso te planteo una duda. Cuando se crea el comando mediante Create_Command, el valor del dataref que se modifica, lo recibe de oficio, o hay que utilizar una instrucción del tipo Set para devolverlo?
En fin, muy agradecido por tu amabilidad.
Un abrazo.
José Manuel Surroca Laguardia
23 Mayo, 2022, 19:57:40
#8
JMSL
Usuario reciente
Desconectado
Mensajes: 8
En línea
Re: Comando para X-Plane utilizando Stream Deck
Ah, se me olvidaba que se trata del Cessna 172SP G1000.
24 Mayo, 2022, 01:01:45
#9
grrr05
Superusuario
Desconectado
Mensajes: 4344
If it ain't broke don't fix it
En línea
Re: Comando para X-Plane utilizando Stream Deck
Vale ya lo tengo.
https://www.dropbox.com/s/w1rcjje7n0srbly/reostatos_c172.lua?dl=0
Descárgate esto y mételo en el directorio "Scripts" de FlyWithLua.
El script crea ocho comandos, dos para cada uno de los reostatos (aumentar/reducir), que tendras que asignarlos cada uno a un botón de Flight Deck, ya que según cuentas en el primer post el programa te permite tanto mandar comandos como modificar datarefs (en este caso hacemos lo primero). Y respondiendo a tu pregunta, no hay que hacer nada para modificar los dataref, el comando se encarga de ello y cuando se ejecute hará todo lo que haya en él, así que no deberías preocuparte en absoluto de los datarefs.
Los comandos que se crean son
grrr05/reostatos/avionica/aumentar
grrr05/reostatos/avionica/reducir
grrr05/reostatos/panel/aumentar
grrr05/reostatos/panel/reducir
grrr05/reostatos/pedestal/aumentar
grrr05/reostatos/pedestal/reducir
grrr05/reostatos/stdby_ind/aumentar
grrr05/reostatos/stdby_ind/reducir
He puesto mi nick como prefijo para asegurarse de que el comando no pueda interferir con ningún otro existente ya sea interno de X-Plane o creado por otros plugins o aviones de terceros. Evidentemente puedes editar el script y cambiarlo al gusto, pero asegúrate de que no existan otros comandos con los mismos nombres - si vas a hacerlo usa un editor de texto plano con cara y ojos (para windows te recomiendo
NotePad++
), o almenos uno que no se cargue los saltos de línea y esas cosas que suele hacer el bloc de notas.
Ya me contarás, por mi parte con el Stream Deck Mobile conectado a modo de joystick (con las asignaciones de botones definidas dentro de X-Plane) me funciona perfectamente, aunque si el Flight Deck te permite lanzar comandos no veo por que no tendría que funcionar también.
Albert Ràfols
www.spainuhd.es
24 Mayo, 2022, 10:01:47
#10
bokepacha
Moderador Global Foro
Superusuario
Desconectado
Mensajes: 7601
liberate tute me ex inferis
En línea
Re: Comando para X-Plane utilizando Stream Deck
Por momentos pensé que hablábais de la
Steam
Deck...y me estaba volviendo mu loco.
24 Mayo, 2022, 10:28:20
#11
grrr05
Superusuario
Desconectado
Mensajes: 4344
If it ain't broke don't fix it
En línea
Re: Comando para X-Plane utilizando Stream Deck
Cita de: bokepacha en 24 Mayo, 2022, 10:01:47
Por momentos pensé que hablábais de la
Steam
Deck...y me estaba volviendo mu loco.
calla calla que el año pasado ya tenía intención de reservar una hasta que lo superé...
Albert Ràfols
www.spainuhd.es
24 Mayo, 2022, 11:43:38
#12
JMSL
Usuario reciente
Desconectado
Mensajes: 8
En línea
Re: Comando para X-Plane utilizando Stream Deck
Buenos días.
Perfecto en todo. Y de paso me ha aclarado algunas dudas que tenía, pero he visto que se pueden crear funciones a las que se puede llamar desde la creación del Comando en el script, con lo que se pueden chequear situaciones puntuales en el momento de aplicar el comando. Una cuestión. En el comando
create_command
he leído que de los cinco parámetros, el tercero esta dedicado a operaciones a realizar al
pulsar
el botón; el cuarto para actuar en el caso de que se
mantenga pulsado
ese botón y el quinto, para cuando se
deje de pulsar
la tecla o botón. Desconozco, si es necesario utilizar alguna instrucción más para que se cumpla lo estipulado en el cuarto parámetro.
Muchas gracias por tu inestimable ayuda, y confío en poderte hacer alguna consulta de vez en cuando, cuando me encuentre en un callejón sin salida.
Un saludo.
Voy a seguir buceando en FlyWhithLua, con el fin de ver hasta donde puedo llegar.
Muchas gracias por la ayuda
Cita de: grrr05 en 24 Mayo, 2022, 01:01:45
Vale ya lo tengo.
https://www.dropbox.com/s/w1rcjje7n0srbly/reostatos_c172.lua?dl=0
Descárgate esto y mételo en el directorio \"Scripts\" de FlyWithLua.
El script crea ocho comandos, dos para cada uno de los reostatos (aumentar/reducir), que tendras que asignarlos cada uno a un botón de Flight Deck, ya que según cuentas en el primer post el programa te permite tanto mandar comandos como modificar datarefs (en este caso hacemos lo primero). Y respondiendo a tu pregunta, no hay que hacer nada para modificar los dataref, el comando se encarga de ello y cuando se ejecute hará todo lo que haya en él, así que no deberías preocuparte en absoluto de los datarefs.
Los comandos que se crean son
grrr05/reostatos/avionica/aumentar
grrr05/reostatos/avionica/reducir
grrr05/reostatos/panel/aumentar
grrr05/reostatos/panel/reducir
grrr05/reostatos/pedestal/aumentar
grrr05/reostatos/pedestal/reducir
grrr05/reostatos/stdby_ind/aumentar
grrr05/reostatos/stdby_ind/reducir
He puesto mi nick como prefijo para asegurarse de que el comando no pueda interferir con ningún otro existente ya sea interno de X-Plane o creado por otros plugins o aviones de terceros. Evidentemente puedes editar el script y cambiarlo al gusto, pero asegúrate de que no existan otros comandos con los mismos nombres - si vas a hacerlo usa un editor de texto plano con cara y ojos (para windows te recomiendo
NotePad++
), o almenos uno que no se cargue los saltos de línea y esas cosas que suele hacer el bloc de notas.
Ya me contarás, por mi parte con el Stream Deck Mobile conectado a modo de joystick (con las asignaciones de botones definidas dentro de X-Plane) me funciona perfectamente, aunque si el Flight Deck te permite lanzar comandos no veo por que no tendría que funcionar también.
Tags:
Páginas: [
1
]
Ir Arriba
Imprimir
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
INSTRUCCIONES Y NORMAS DEL FORO
-----------------------------
=> Normas del foro
=> Instrucciones
-----------------------------
FAQ DEL FORO - X-PLANE.ES
-----------------------------
=> Preguntas frecuentes
=> Preguntas frecuentes - Usuarios X-Plane10
-----------------------------
Foro General
-----------------------------
=> Zona de presentaciones.
=> X-Plane 12
=> X-Plane 11
=> X-Plane10
=> X-Plane
=> Zona de consultas
=> Complementos de X-Plane, aviones, escenarios, plugins...
===> El rincón de nuestro corresponsal Luis Angel.
===> Boeing B737-800X ZIBO mod
=> WorldEditor (WED) & Overlay Editor
=> Aircraft-Plane-Maker
=> Helis
=> Hardware
=> Imágenes y Videos.
===> Capturas x-plane - concurso mensual
=> Sugerencias-Tablón anuncios
=> Vuelo On-line
=> International room
-----------------------------
Tutoriales y manuales
-----------------------------
=> Escuela de vuelo
-----------------------------
Taller de proyectos
-----------------------------
=> Proyectos Escenarios
=> Proyectos Aeropuertos
=> Proyectos Aviones
-----------------------------
Aviación civil y militar
-----------------------------
=> El mundo de la aeronáutica.
=> Aviación militar
=> Aviación civil
=> Imágenes y videos relacionados con la aviación.
Loading...