Documentación de Steamworks
Conceptos generales

Steam Input

"Steam Input" es el término general que se refiere a toda la colección de software, hardware y utilidades de configuración que Steam utiliza para interactuar con los juegos.

Configurador de Steam Input

El configurador de Steam Input (SIC por sus siglas en inglés) está integrado en el cliente de Steam y se sitúa entre el jugador y su juego o aplicación. El SIC recibe los datos del dispositivo de entrada y los traduce de distinta manera en función de la configuración del jugador, antes de pasarlos al juego.

El SIC se puede usar principalmente de dos formas: modo clásico y modo nativo.

Modo clásico

El modo clásico es un modo de compatibilidad diseñado para juegos que no han implementado la API de Steam Input. En este caso, el SIC solo sirve como un sofisticado asignador de entradas que cualquier jugador puede utilizar para cualquier juego en Steam.

El jugador puede asociar cualquier entrada física a cualquier otra, como, por ejemplo, hacer que el botón "A" simule la tecla "Entrar", que pulsar el gatillo izquierdo hasta el fondo simule un clic del ratón, etc. Este modo funciona con cualquier dispositivo de entrada compatible, no solo con el Steam Controller.

El modo clásico es ideal para juegos que no son compatibles con la API, aunque tiene sus limitaciones. Para empezar, se ha constatado que, si el juego se ha programado asumiendo que los controles del ratón y los del mando nunca se usarán de manera simultánea, pueden presentarse diferentes incidencias cuando la configuración contradice esta idea. Además, como el juego no sabrá si estás usando el configurador (se limita a recibir las entradas de hardware de bajo nivel que le envía el mando), es muy probable que los iconos del mando que aparezcan en pantalla no sean los correctos.

Modo nativo

En modo nativo, el juego recibe datos de entrada directamente desde el configurador en forma de "acciones". La idea aquí es que el juego, en sí mismo, no tiene conocimiento de qué elementos reales están impulsado dichas acciones; simplemente que las acciones están teniendo lugar. Todos los ajustes de configuración y control son relegados al configurador de Steam Input. Ahora bien, el juego puede solicitar información a través de una llamada especial de la API sobre qué controles físicos están vinculados a cada acción con el único propósito de mostrar los glifos apropiados en la pantalla.

API de Steam Input

La API de Steam Input es la interfaz de programación de aplicaciones que usan los desarrolladores para comunicarse directamente con el configurador de Steam Input en modo nativo. Esta API no es necesaria para que funcione el modo clásico.

Puedes encontrar toda la documentación al respecto aquí: ISteamInput.

Configuración del mando

Los jugadores pueden crear asignaciones de control totalmente personalizadas para cualquiera de los juegos de su biblioteca usando el modo nativo, el clásico o incluso una mezcla de ambos. Estas asignaciones se llaman "configuraciones del mando" y se pueden crear muchas diferentes para un mismo juego, así como compartirlas por internet con otros jugadores.

Jerarquía de las entradas

Entradas físicas

Una "entrada física" es un mecanismo físico o cualquier dispositivo de entrada con el que interactúa el usuario para generar datos de entrada para su equipo. Existen variantes digitales y físicas, como las siguientes: botones, joysticks, Dpads, direccionales, botones frontales, gatillos, interruptores, trackballs, paneles táctiles, giroscopios, etc.

Enseguida pasaremos a conceptos más abstractos, así que, de momento, basta con recordar que las "entradas físicas" son los pequeños elementos del mando que mueves con los dedos de las manos (o de los pies, si quieres).

Fuente de entrada

La "fuente de entrada" es una región del dispositivo que se puede concebir como una unidad modular de mayor tamaño, a la que se le pueden aplicar diferentes modos para modificar cómo envía los datos.

¡Ya avisé de que íbamos a ponernos abstractos!

Volvamos al planeta Tierra: ¿qué diferencia hay entre un Dpad y los cuatro botones principales de un mando, distribuidos en forma de rombo?

input_dpad.pnginput_bpad.png

Ambos tienen cuatro "botones", pero la mayoría de los dpad están diseñados de tal manera que es imposible pulsar al mismo tiempo arriba y abajo (o izquierda y derecha), mientras que cada botón de la botonera puede pulsarse de forma independiente. Sin embargo, Steam Input te permite imponer las restricciones de un dpad en la botonera.

Por lo tanto, aunque tanto el dpad como la botonera están compuestos por cuatro "entradas físicas" individuales, es conveniente pensar en el "dpad" y la "botonera" como sus propias unidades, de modo que podamos cambiar cómo se comporta el conjunto.

La lista completa de "fuentes de entrada" reconocidas es:

  • Trackpad izquierdo
  • Trackpad derecho
  • Trackpad central
  • Joystick izquierdo
  • Joystick derecho
  • ABXY
  • DPAD
  • Gatillo izquierdo
  • Gatillo derecho
  • Giroscopio
  • Interruptor
NOTA: La fuente de entrada "Switch" es una categoría comodín para todas las entradas físicas que no pertenecen a ningún otro grupo, como los botones BACK y START, los botones superiores frontales izquierdo y derecho o las empuñaduras de la parte trasera de los mandos/controles.

Véase también:

Modos de las fuentes de entrada

A las fuentes de entrada se les pueden imponer distintos modos que modifiquen su comportamiento. Estos se denominan "modos de fuente de entrada". Aunque estos son útiles para las fuentes de entradas digitales, el lugar más frecuente en el que se van a encontrar utilizando los modos de fuente de entradas es en los controles analógicos, especialmente con trackpads, que puedan configurarse de muchas formas diferentes.

La lista completa de "modos de fuente de entrada" es:

  • Pad direccional (Dpad)
  • Cuatro botones
  • Ratón absoluto
  • Ratón relativo
  • Joystick (movimiento)
  • Joystick (ratón)
  • Joystick (cámara)
  • Rueda de desplazamiento
  • Gatillo
  • Menú táctil
  • Ratón (joystick)
  • Región del ratón
  • Menú radial
  • Interruptores

Véase también:

En resumen:

Entradas físicas:
cosas físicas reales con las que interactúas en el dispositivo. Ejemplo: Botón A, el de "arriba" en la entrada del Dpad, etc.

Fuentes de entrada:
una agrupación más grande de entradas físicas individuales que se pueden agrupar en una unidad modular. El Dpad direccional entero, los cuatro botones principales, el conjunto completo del joystick izquierdo, etc.

Modos de las fuentes de entrada:
un comportamiento específico que estás forzando en una fuente de entrada. Ejemplo: "Hacer que los botones principales actúen como un Dpad", "Hacer que el joystick izquierdo actúe como cuatro botones principales", etc.

Acciones

Las acciones son los eventos que la API de Steam Input utiliza para orquestarlo todo. En el modo nativo, tu juego no recibe una acción de "botón A pulsado", sino una acción de "saltar" (o lo que sea), y qué tipo de entrada causa "saltar" está enteramente en manos del jugador.

Acciones digitales

Las acciones digitales son las más sencillas y habituales. Solo tienen dos valores posibles (activada o no), así que el juego se limita a enviar sondeos constantes y atender al estado de dichas acciones.

Acciones analógicas

Las acciones analógicas cuentan con uno o más ejes de datos y se usan para cosas como mover los personajes con suavidad, conducir vehículos, controlar cámaras, etc. Por lo general, las acciones estándar de joystick y ratón cuentan con dos ejes, X e Y, pero también puede haber acciones analógicas de eje único (como las asociadas a los gatillos analógicos); en casos así, los datos de la acción seguirán aludiendo a dos ejes, pero el valor de Y siempre será cero.

Nombre de la acción

Todas las acciones requieren nombres de identificación como "saltar" o "golpear". Los valores de estas cadenas son distintos a los que ve el jugador (que son "etiquetas de acción" y se pueden traducir).

Identificador de acción

Sondear en busca de acciones basadas en nombres de cadenas resulta costoso y poco eficiente, así que, cuando el juego inicia la API, debe registrar todas las acciones por su nombre y recibir a cambio los correspondientes controles de identificación de acción.

Origen de acción

Un "origen de acción" es una cadena que identifica qué clase de entrada está vinculada a una acción determinada en la configuración de mando del jugador.

Sets de acciones

Un set de acciones es una serie de acciones agrupadas de manera lógica. Solo un set de acciones puede estar activo para cualquier dispositivo de entrada en un momento dado. Por ejemplo, se puede crear un "menú" de set de acciones que solo esté activado en la secuencia del menú, o un set de acciones de "conducir", "caminar" y "volar" para un juego como GTAV, que cuenta con distintos modos de movimiento y de vehículos. Los sets de acciones se pueden usar tanto en el modo nativo como en el clásico. En el modo nativo, el desarrollador las define de manera explícita, y el juego realizará llamadas a la API para designar la que está activa en un momento dado. En el modo clásico, los propios jugadores deben activar de manera manual el cambio de los sets de acciones. En ambos casos, se trata de un buen modo de liberar espacio en el dispositivo eliminando la necesidad de vincular de manera permanente cada acción que pudiera ejecutarse en cualquier parte del juego y tenerlas todas activadas en todo momento.

Capas del set de acciones

Las capas del set de acciones son sets opcionales de enlaces de acción que pueden superponerse a un conjunto de controles existente. A diferencia de los sets de acciones, las capas obtienen sus acciones del set de acciones al que pertenecen, y no sustituyen por completo lo que está activo cuando se aplican, sino que aplican pequeñas modificaciones. Estas pueden ser modificaciones de parámetros, así como añadir o quitar enlaces del set de acciones base. Se puede aplicar más de una capa en un momento y se hará consecutivamente.

Para más detalles: Capas de set de acciones.

Respuesta física

Aparte de lo que sucede en la pantalla, algunos dispositivos poseen la capacidad de dar información al jugador utilizando la vibración o la luz.

Respuesta háptica

Esta permite transmitir sensaciones físicas de elevada granularidad, para que el jugador comprenda en qué parte de una superficie táctil de gran tamaño están sus manos y dedos, así como para transmitir, p. ej., la inercia virtual de un trackball. Las respuestas hápticas son compatibles con los mandos Steam Controller y con algunos mandos de Nintendo Switch. Los dispositivos no compatibles ignorarán las llamadas a la API de este tipo.

Vibración

La vibración, una forma más tradicional de respuesta física, la causan unos motores vibratorios que tiene el dispositivo en su interior. Esta función es compatible con el mando de PlayStation 4 y los de Xbox (así como con muchos dispositivos genéricos compatibles con Xinput). El Steam Controller no posee auténtica función de vibración, pero la simula utilizando la respuesta háptica (y responde, por lo tanto, a las llamadas a la API de este tipo).

LED

Tanto el Steam Controller como el mando de PlayStation 4 llevan integrada una luz LED. La del Steam Controller siempre es blanca, pero el mando de PlayStation 4 cuenta con un LED de colores totalmente programable. Ambos dispositivos responderán a las llamadas de la API para cambiar el color de la luz, pero el Steam Controller convertirá el color en monocromo y simplemente lo usará para controlar el brillo, mientras que en el mando de PlayStation 4 puede utilizarse para controlar tanto el color como el brillo. Los dispositivos no compatibles ignorarán las llamadas a la API relacionadas con la luz LED.