Почему никто не сделал прогнозный драйвер клавиатуры / библиотеку?

1397
Lunatik

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

Начиная с T9, с ​​помощью интеллектуальных клавиатур на современных смартфонах и заканчивая логическим завершением чего-то вроде Swype, мобильные устройства становились все лучше и лучше в этом, но я поражен, почему это, похоже, не настаивает на настольных компьютерах.

Да, Word и т. Д. Могут автозаменяться при вводе текста, но учитывая мощность, доступную для современного ПК, даже это бледнеет по сравнению с тем, что может делать смартфон среднего класса. Так почему же это не включено на уровне ОС для всего ввода текста?

Это еще более озадачивает, так как я представляю, что было бы довольно легко реализовать сохранение всего существующего оборудования. ОС будет знать, что вы печатаете, и обращаться с ними соответственно.

Существуют ли такие решения? Если нет, то почему нет?

Редактировать: Возможно, драйвер не того уровня, как насчет библиотеки (DirectType?), Которую Microsoft или Apple предложили бы выполнить эту задачу для любого приложения, в котором она была нужна, с профилями для различных типов текста?

2

4 ответа на вопрос

8
Arseni Mourzenko

T9 доступен, когда вы набираете короткое текстовое сообщение или пишете письмо. Ваш мобильный телефон знает о том, что вы делаете, поэтому можете включить или отключить T9 в зависимости от контекста. С другой стороны, драйвер клавиатуры не знает, что ты делаешь .

T9 полезен только при наборе коротких текстовых сообщений. Попробуйте набрать что-нибудь другое, и вы увидите слабость Т9. Например, разработчик, пишущий исходный код, или писатель, пишущий роман, имеют огромную разницу для функции автозаполнения. Это означает, что сделать автозаполнение вообще невозможно, что не будет раздражать большую часть времени. Кстати, доступны контекстные функции автозаполнения. Например, Visual Studio, приложение, используемое разработчиками для написания исходного кода, предлагает варианты того, что вы, возможно, захотите набрать, что позволяет писать быстрее и совершать меньше ошибок.

T9 был создан из-за отсутствия правильной клавиатуры : печатать с использованием восьми клавиш не так просто, как печатать на большой удобной клавиатуре с множеством клавиш. Когда вы печатаете на компьютере ключевое слово, я не вижу никакой причины иметь функцию автозаполнения в Microsoft Word или Блокноте, так как гораздо, намного быстрее печатать текст, не сводя глаз с экрана (или клавиатуры), а также иметь дело с некоторыми автоматическими меню, всплывающими окнами и т. д. Просто написать несколько абзацев, затем проверить орфографию, чем начать написание слова, пролистать список предлагаемых слов, выбрать ближайшее предложение, нажмите Enter, возможно, исправьте предложение, а затем начните вводить следующее слово.

Вы ударили гвоздь прямо в голову. Это зло! У меня есть один из них на моем телефоне, несмотря на клавиатуру Qwerty. Я ненавижу это. Он запоминает все, что когда-либо печаталось, без ущерба, что приводит в основном к предложению слова на другом языке, отличном от того, на котором я сейчас набираю текст. И он, очевидно, ставит часто вводимые слова на первое место в списке. Использование команд bash при написании электронного письма кому-то перестает быть смешным. Использование моего пароля VPN в виде открытого текста при вводе электронного письма является уголовно безответственным. / n Извините за переизбыток эмоций, но я должен был выпустить это ... rumtscho 13 лет назад 2
7
pjc50

Это было сделано: «Dasher» является примером использования метода полу-предиктивного ввода для целей доступности. Как правило, доступность - единственная причина, чтобы сделать это, поскольку люди обычно учатся печатать быстрее, чем они могут взаимодействовать с системой интеллектуального ввода.

2
NPC

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

Водитель не имеет доступа к тому, что отображается. Это ограничивает его функцию - предоставляя программному обеспечению гибкость, позволяющую делать что-либо с этими нажатиями клавиш - например, когда вы нажимаете букву, вы можете набирать слово, вы можете выбирать пункт меню по его названию или вы можете давать команды своему войска в твоей любимой игре. То, как обрабатывается нажатие клавиши, зависит от программного обеспечения, в котором вы сейчас находитесь, а не от драйвера.

Добавьте к этому, что даже в полях ввода текста автозаполнением может быть получение данных из словаря (текущего выбранного языка - также неизвестного для клавиатуры), либо из базы данных фамилий, либо из ключевых слов языка программирования, который вы используете. кодируешь.

Так что это и очень сложно сделать, а также вызвало бы большую жесткость, если бы водитель имел дело с этим. Наличие четкой ответственности (водитель получает ключи, приложение обрабатывает их) обеспечивает гораздо большую мощность, чем в противном случае.

Надеюсь, это поможет.

1
RCIX

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