To zrób listę list znaków, a nie stringów, będących samych w sobie takimi listami znaków, przez co masz strukturę 3D znaków, a potrzebujesz 2D albo wręcz 1D. Zresztą skoro masz wymaganie, że ma być lista, to zrób listę stringów, a nie listę list oO
Co do znaków - napisałem, że łapiesz i dopisujesz do listy wszystkie znaki, w tym delete, backspace, insert, pewnie też shifty itp. Musisz je obsługiwać w inny sposób - nie zapisywać wciśnięcia backspace (#8 albo #9, już nie pamiętam, bodajże '\b'), tylko efekt jego działania - usunięcie poprzedniego znaku. Ponadto musisz zastanowić się nad tym, jak obsłużyć kliknięcie w dowolnym miejscu tekstu lub przesunięcie się tam kursorami i usunięcie/dopisane/wklejenie tekstu oraz zaznaczenie tekstu klawiaturą/myszką i usunięcie/nadpisanie/wklejenie.
Podsumowując: wymyślasz koło na nowo. Pokaż treść polecenia od nauczyciela/ćwiczeniowca.