Суть такова
Я никогда не задумывался о том, что печатаю вслепую. Но с появлением мака с клавиатурой, где гравировка только на английском, всё изменилось.
На самом деле здесь смешаны две разные боли:
1. Нет кириллической гравировки. Когда нужно подсмотреть, где нужная клавиша, — не на что смотреть. Английские буквы не помогают.
2. При слепой печати включается мозг. Пальцы вслепую тычутся в нужные места, но не могут найти клавиши: машинально я помню, какие клавиши нужны и где они, но пальцы их не находят. Сознательное внимание как будто ломает мышечную память.
Самое очевидное решение — экранная клавиатура, чтобы подсмотреть, где нужная клавиша. Но стандартная клавиатура не всегда удобна для слепой печати: нужно, глядя на всю клавиатуру, найти нужную клавишу и сопоставить с тем, что я набирал раньше. Это лишняя работа.
Тут приходим к решению в лоб: показывать не всю клавиатуру, а кусточек вокруг последней нажатой клавиши. Мы же помним, что нужная клавиша где-то рядом.
А можно эту идею ещё усилить. На маке есть системная орфография и автодополнение — пусть система попробует угадать слово, которое я набираю, и подсветит не просто соседей последней клавиши, а те клавиши, с которых начинается наиболее вероятная следующая буква. Получается пересечение: окрестность по пальцам × языковая модель по тексту. Горят только те клавиши, что и рядом, и имеют смысл.
Заодно это бьёт и по второй боли. Если вероятные клавиши уже подсвечены заранее, мозгу незачем врубаться в поиск — пальцы получают подсказку до того, как мышечная память ломается.
Нюанс: мак даёт дополнение целых слов, а не вероятности отдельных букв. Так что буквы придётся доставать из списка завершений слова (через NSSpellChecker) и ранжировать первые буквы вариантов. И для русского надо проверить, что язык включён в системе, иначе предсказание будет молчать.
Человеческий опыт
Быстрый гуглёж дал результаты, но список программ был небольшим, и не всегда решал конкретную проблему:
- Punto — это исправление раскладки, а не помощь в печати.
- KeyCastr — программа для отображения нажатых клавиш на экране, удобна при презентациях, но не совсем то, что нужно: нажатые клавиши мы и так знаем, а вот где нужная — нет.