send separate upper and lower chars separately, added support for all channels