# AG\_RELEASEKBD
> [HTML Version](ag_releasekbd.htm)
_Reviewed and revised December 2023_
**tab(-10, AG\_RELEASEKBD); \{opcode\}; chr(127);** [Tab(-10,x) Syntax Notes](ag_xxx_syntax-notes.htm.md)
AG\_RELEASEKBD (49) releases the ATE "keyboard hold" so that it can be used as a dumb terminal again—i.e. so that keyboard characters are transmitted immediately to the server.
This function has both a [subroutine and a print tab implementation](subroutine-print-pairs.htm.md).
**Parameters**
_opcode_
may be omitted, or 2 or 4; see [AG\_HOLDKBD](ag_holdkbd.htm.md)
**Response**
None
The opcode parameter is optional and is normally omitted, in which case the keyboard hold is released, provided it hasn't been locked (via AG\_HOLDKBD opcode 2). This command is normally used only internally by A-Shell, as part of the ATE command protocol, although it may be used in situations where the ATE command protocol would normally leave the keyboard in local hold mode but you need to temporarily revert to dumb terminal mode.
In order to remove the locked** **hold, you must specify _opcode_ "2", e.g. ? tab(-10,AG\_RELEASEKBD);"2";chr(127);
See the discussion under [Set ATE Keyboard Hold](ag_holdkbd.htm.md) for information on _opcode_ 4.
**See Also**
• [MX\_RELEASEKBD](mx_releasekbd.htm.md)[xs](keyword-types.htm.md)
**History**
2015 January, A-Shell 6.1.1399: Add opcode 4.