«Не пора ли, друзья мои, нам замахнуться на Вильяма, понимаете ли, нашего Шекспира? ».
Прочитал недавно пост про кастомную клавиатуру и в очередной раз подумал, что было бы неплохо написать эталонную (то есть такую, которую не стыдно подписать своим именем и выложить на всеобщее обозрение) реализацию клавиатуры. Мысль эта приходит ко мне НЕ в первый раз, но все как то останавливается на первом этапе — считывание исходной информации, ведь хочется сделать этот этап легко настраиваемым, удобным в использовании, универсальным и эффективным, и не нравится предложение «выбирать любые два».
Необходимое примечание — я вижу 4 слоя реализации клавиатуры: 0 — обнаружение события, 1 — считывание данных, 2 — очистка и хранение данных, 3 — формирование сообщений, 4 — перекодировка и прочее. Наиболее перспективным для слоя 1 и связанного с ним слоя 0 мне представляется применение шаблонов Антона Чижова для работы с пинами МК (основанными на классе Локи) и, может быть, когда-нибудь, получившимся результатом будет не стыдно поделится, но точно не сегодня. А сейчас я задумался над слоем 2.
Читать полностью »