Caramba Switcher. Знаки препинания из другой раскладки

Сейчас, после того как основная функция программы — автопереключение — стала работать в большинстве стандартных сценариев нормально, мы стали получать письма в которых пользователи спрашивают про более экзотические случаи: «Почему Карамба меняет точку на букву "ю", и запятую на букву "б"?»

Тут необходимо пояснить. Изначально автопереключатели раскладки работают следующим образом. Русские буквы б, ю, ж, э, х, ъ, находятся там, где на английской клавиатуре стоят знаки препинания скобки и кавычки.

Мы строим гипотезу о языке, на котором набирается текст, на основе языковой модели, которая включают в себя эти знаки препинания. Мы видим что уходит с клавиатуры, при этом не знаем, что происходит на экране, большинство программ в себя тем более на экран другие программы не пускают.

Если знаки при наборе русского текста используются из английской раскладки, то программа начинает путаться. Например, пользователь написал "Авеню", то как понять, хотел ли он написать "Авеню", или фамилию "Авен." с точкой из английской раскладки?:) Таких случаев тысячи "горб" или "гор," "дар." или "дарю"?

Пожалуйста, помогайте Карамбе вас понимать!

Caramba Switcher. Знаки препинания из другой раскладки
1
7 комментариев