INPUTS & OUTPUTS – TOUCHDESIGNER

El operador `Mouse In` CHOP constituye una interfaz de bajo nivel para la captura de datos provenientes de dispositivos de puntero (Human Interface Devices – HID) conectados al sistema operativo. Su función principal es la conversión de eventos de hardware, como el desplazamiento del cursor, las pulsaciones de botones y la rotación de la rueda de desplazamiento, en flujos de datos de canal discretos para su procesamiento en tiempo real.

Por defecto, el operador `Mouse In` genera dos canales activos: `tx` y `ty`. Estos canales representan las coordenadas normalizadas del cursor dentro del espacio de la interfaz de usuario de TouchDesigner, donde `tx` mapea la posición horizontal y `ty` la vertical. Los valores son de tipo flotante y se actualizan a la tasa de muestreo del operador, proveyendo una resolución continua del posicionamiento. La interfaz de parámetros del `Mouse In` CHOP permite la activación de canales adicionales para un control más granular. Estos incluyen: `lselect` para el estado binario (0 o 1) del botón primario; `rselect` para el estado binario del botón secundario; y `mselect` para el estado binario del botón central.

Adicionalmente, el canal `wheel` es un valor acumulativo que registra el movimiento incremental de la rueda de desplazamiento, con valores positivos para una rotación y negativos para la contraria. El operador contempla sistemas con múltiples dispositivos de entrada a través del parámetro `Device`, que permite la selección explícita del índice del dispositivo a monitorear. Si no se especifica, el operador agrega los datos de todos los periféricos de tipo mouse conectados.

La nomenclatura de los canales de salida es personalizable mediante los campos de texto en la ventana de parámetros, permitiendo asignar alias a cada canal (p. ej., renombrar `tx` a `eje_x`), lo que optimiza la legibilidad en redes complejas. La aplicación práctica de estos canales se demuestra mediante la implementación de un sistema interactivo. En dicho sistema, los canales `tx` y `ty` se vinculan directamente, mediante exportación de CHOP o expresiones, a los parámetros de traslación (`center.x`, `center.y`) de un `Circle` TOP, estableciendo un mapeo directo entre la posición del cursor y el centro geométrico del primitivo. Simultáneamente, el canal `lselect` se utiliza para modular la visibilidad del `Circle` TOP, por ejemplo, controlando el parámetro de mezcla de un `Over` TOP o el índice de un `Switch` TOP. El resultado es un elemento gráfico que sigue al cursor y solo es renderizado mientras el botón primario del mouse se mantiene presionado, constituyendo una lógica de interacción fundamental basada en estado y posición.