# Teclas de paso

> Un par − / + que mueve un punto un paso desde donde está, dentro de una banda declarada.

**Teclas de paso** es el par − / + que empuja una consigna en una estación con un dedo y sin
teclado. Cada pulsación escribe *la lectura del punto más un paso*, así que, a diferencia de las
teclas de la [Entrada](component-input) y de las opciones del
[Selector de opciones](component-selector), que llevan valores absolutos, el par tiene que conocer primero la
lectura: sin nada que leer, las dos teclas están muertas. Es un componente de *Mando*; uno nuevo
ocupa 4 × 1 celdas.

El par no dibuja ninguna lectura propia; componga un [Valor](component-value) junto a las teclas
si el número tiene que estar en pantalla.

## Datos {#data}

| Campo | Qué hace | Valores | Predeterminado |
|---|---|---|---|
| Dirección | La dirección de Logic con raíz del punto que se mueve: una variable de memoria o un tag escribible. La lista se estrecha a los puntos escribibles. | Texto libre; sugerencias de puntos escribibles | vacía |

## Formato {#format}

| Campo | Qué hace | Valores | Predeterminado |
|---|---|---|---|
| Decimales | Los decimales con los que se escribe un valor enviado en la línea de respuesta: el único número que escribe este par. En blanco sigue la preferencia decimal de la estación. Los conteos fuera de banda se toman en el extremo y el panel lo dice. | De 0 a 15, o en blanco | en blanco |

## Paso {#step}

| Campo | Qué hace | Valores | Predeterminado |
|---|---|---|---|
| Paso | Qué tanto mueve el punto una pulsación. | Cualquier número positivo finito | 1 |
| Mínimo | El valor más bajo al que el par mueve el punto. En blanco deja ese lado abierto: un extremo sin indicar no es un extremo en el infinito, simplemente no hay extremo. | Cualquier número, o en blanco | en blanco |
| Máximo | El valor más alto al que el par mueve el punto. En blanco deja ese lado abierto. Un mínimo por encima del máximo no deja ningún valor entre ellos, y el panel advierte que ninguna de las dos teclas movería el punto. | Cualquier número, o en blanco | en blanco |

## Cómo sostiene la banda un paso {#how-the-band-holds-a-step}

- Un paso que rebasa un extremo se **toma en ese extremo**: el operador pidió "un paso, hasta
  donde esto llegue", que no es el número escrito que una Entrada rechaza en lugar de moverlo por
  él.
- Una tecla que ya no tiene a dónde ir queda **desactivada**: el punto ya está en ese extremo (o
  más allá).
- La banda solo *detiene* una tecla, nunca da vuelta a una: a un punto que ya rebasó un extremo
  (escrito ahí por una Acción, por una receta, por otro sinóptico) no lo regresa la tecla que
  apunta más hacia afuera. La tecla del camino de regreso sí sirve, y se sostiene en el extremo.
- Los límites que declara un tag (con su etapa **Límites** activada) también son un extremo,
  junto con el mínimo y el máximo de aquí: manda el más estrecho de los dos, así que el paso
  se detiene donde el tag lo habría recortado y la línea de respuesta nombra el valor que
  salió.

## La semántica de la escritura {#write-semantics}

Las pulsaciones se acumulan; las escrituras no se amontonan. Un dedo sostenido en **+** puede
adelantarse a la planta, así que las pulsaciones que llegan mientras hay una escritura en camino
se cuentan y la siguiente escritura las lleva todas de una vez: diez toques rápidos son diez
pasos y nunca diez escrituras; nada de lo pedido se tira, y nada que no se pidió se manda. Dentro
de una misma tanda, cada paso cuenta desde el valor que se acaba de mandar, porque la planta
todavía no lo publica; el sinóptico sigue dibujando solo lo que el punto informa.

Toda escritura pasa por el punto único de la lógica de la estación; cada cruce vuelve a verificar
la autorización, así que un cierre de sesión o un cambio de rol a media ráfaga detiene el resto
de los toques. Un rechazo ("Este punto contiene fecha y hora, así que 4 no es un valor que admita.") y
cada valor enviado ("21.5 escrito") aterrizan en la línea de respuesta del par, que vence a los
pocos segundos. En una celda sin lugar para esa línea y sin título de esquina sobre el par, la
respuesta toma el signo de la tecla que se presionó mientras se muestra, un rechazo con la tinta
de error. La tecla conserva su ancho, así que lo que no cabe termina en puntos suspensivos, con
la respuesta completa en la información emergente; ninguna de las dos teclas se mueve, y el signo
regresa cuando la respuesta vence.

Sobre un punto que contiene números enteros (un tag de tipo entero cuya Escala y Calibración dejan el valor sin cambios, o una variable de memoria que contiene números enteros), un paso con decimales se rechaza en la pulsación en lugar de redondearse ("Este punto admite un número entero, así que 2.5 no se escribe."), y no se escribe nada.

## Los permisos y el candado {#permissions-and-the-lock}

Dar pasos necesita el permiso del rol para operar paneles de control. Con el candado puesto, las
dos teclas quedan desactivadas y el componente lleva la marca de candado compartida con el motivo
en su información emergente (véase la [página de paneles de control](home)). Un punto vinculado
que no logra leer lleva la marca compartida de mala lectura, y desactiva las teclas de todas
formas, porque no hay nada desde donde dar el paso.

Las secciones compartidas Apariencia, Identificación, Posición y capa y Acciones se describen en
la [página de componentes](components#the-shared-property-sections).
