�
Ϫ�f/� � �> � d Z ddlmZmZ ddlmZmZmZ ddl m
Z
mZ G d� de� Z ee� G d� d� � Z
G d � d
ej � ZdZdd
iZ G d� d� Z G d� d� ZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ! G d� d � Z"d!� Z#d"Z$ G d#� d$� Z%e$D � cg c] } e%| � jM � �� c} Z' ee� G d%� d&ejP � � Z) e*e$e'� D ] \ Z+Z, e-e)e+e,� � G d'� d(ejP � Z.g d)�Z/y*c c} w )+z?
VT102 and VT220 terminal manipulation.
@author: Jp Calderone
� )� Interface�implementer)�defer�
interfaces�protocol)� iterbytes�
networkStringc �* � e Zd Zd� Zd� Zd� Zd� Zd� Zy)�ITerminalProtocolc � � y)zX
Called with an L{ITerminalTransport} when a connection is established.
N� )� transports �?/usr/lib/python3/dist-packages/twisted/conch/insults/insults.py�makeConnectionz ITerminalProtocol.makeConnection � � � c � � y)a`
A keystroke was received.
Each keystroke corresponds to one invocation of this method.
keyID is a string identifier for that key. Printable characters
are represented by themselves. Control keys, such as arrows and
function keys, are represented with symbolic constants on
L{ServerProtocol}.
Nr
)�keyID�modifiers r �keystrokeReceivedz#ITerminalProtocol.keystrokeReceived r r c � � y)z�
Called to indicate the size of the terminal.
A terminal of 80x24 should be assumed if this method is not
called. This method might not be called for real terminals.
Nr
)�width�heights r �terminalSizezITerminalProtocol.terminalSize" |