queueKey method
Queue key events by type.
Implementation
void queueKey(KeyEventType type, [String? char]) {
switch (type) {
case KeyEventType.enter:
queueByte(13);
break;
case KeyEventType.esc:
queueByte(27);
break;
case KeyEventType.ctrlC:
queueByte(3);
break;
case KeyEventType.ctrlR:
queueByte(18);
break;
case KeyEventType.ctrlD:
queueByte(4);
break;
case KeyEventType.ctrlE:
queueByte(5);
break;
case KeyEventType.tab:
queueByte(9);
break;
case KeyEventType.arrowUp:
queueBytes([27, 91, 65]);
break;
case KeyEventType.arrowDown:
queueBytes([27, 91, 66]);
break;
case KeyEventType.arrowRight:
queueBytes([27, 91, 67]);
break;
case KeyEventType.arrowLeft:
queueBytes([27, 91, 68]);
break;
case KeyEventType.backspace:
queueByte(127);
break;
case KeyEventType.space:
queueByte(32);
break;
case KeyEventType.slash:
queueByte(47);
break;
case KeyEventType.char:
if (char != null && char.isNotEmpty) {
queueByte(char.codeUnitAt(0));
}
break;
case KeyEventType.ctrlGeneric:
if (char != null && char.isNotEmpty) {
final code = char.toLowerCase().codeUnitAt(0) - 96;
queueByte(code);
}
break;
case KeyEventType.unknown:
queueByte(0);
break;
}
}