НОВАЯ БУКВА |
« Назад | ё‑Клавиатура |
Вперёд » |
Лень и достаточно низкая грамотность в сочетании с завышенным чувством собственной важности и снобизмом...
(дизайнерская болезнь 90-х)
Кириллические раскладки настольных компьютерных клавиатур
Одним из препятствий для использования буквы «ё» в русских текстах стал урезанный стандарт раскладки экранных клавиатур большинства современных гаджетов, как это показано странице "Проект: проблема" нашего сайта.
И это при том что оба утверждённых кириллических стандарта раскладки настольных клавиатур содержат отдельные клавиши для всех 33 букв русского алфавита.
Стандартная русская, белорусская и украинская раскладка
Русская машинописная раскладка (typewriter)
На первый взгляд, казалось бы, можно подумать:
Только это будет ошибкой.
Кириллическая раскладка для экранных клавиатур
Посмотрим внимательно на русские раскладки для настольных клавиатур.
Сразу заметно, что они практически идентичны по размещению букв русского алфавита. Только буква «ё» буквально гуляет из конца в конец расскладки.
Понять такое отношение здесь к букве «ё» не сложно. Её вообще могло не быть на клавиатуре, как мы уже знаем по истории русских печатных машин, что показано странице "История: пишущие машинки" нашего сайта.
Тем не менее, несомненная необходимость отдельной клавиши для этой буквы привела к целому ряду попыток добавить её в клавишный набор.
Вот основные подходы:
Клавиши пишущих машин расположены "ёлочкой". Для пишущих машинок это было обусловлено необходимостью провести от каждой клавиши стальной рычаг, для передачи нажимного усилия от клавиши на печатающий агрегат.
Кнопки настольных компьютерных клавиатур так же расположены "ёлочкой" — по традиции, а так же для того чтобы упростить переход человека, обученного работе на печатной машине к использованию компьютерных клавиатур (тем более что в роли первых компьютерных клавиатур выступали всё те-же пишущие машинки с электроным съёмом сигнала нажатия с клавиш).
Экранная клавиатура, для рационального использования пространства экрана, обычно компонуется по прямоуголной сетке.
Гладкая поверхность экрана делает невозможной печать на ощупь и применение "слепого" десятипальцевого набора. Набор на экранной клавиатуре ВСЕГДА делается одним, максимум двумя пальцами, с непрерывным зрительным контролем совершаемых действий.
А значит — будет вполне допустимым не только выровнять "ёлочку" в ровную прямоугольную сетку, но и несколько изменить положение отдельных букв.
Главное чтобы смещение не мешало найти эту букву быстрым взглядом поблизости от привычного места.
Теперь посмотрим на обе кириллические раскладки.
Каждая из них содержит 3 ряда букв:
Очевидно, что выровняв клавиши по вертикали и поменяв положение 1-2 букв, мы легко сформируем из 33 букв ровную прямоугольную сетку 3х11.
И ещё одна строка сверху для 10 цифр и (например) знаков +/-.
Итого 44 кнопки — 4х11:
Выглядит неплохо, тем более что положение каждой из букв почти полностью соответствует её размещению на компьютеной клавиатуре.
Но, к сожалению, нижняя правая позиция этой сетки обычно содержит кнопку обратного удаления [<=]. Это связано с удобством нажатия на неё при наборе указательным или большим пальцем правой руки.
Кроме того, двигать кнопку [<=] выше не стоит. Иначе придётся менять положение более частых кириллических букв «э» или «х» — см. так же "Статистика применения буквы Ё в русских текстах".
Да и на верхней, цифровой, строке в качестве 11-го символа удобнее расположить знаки [+/-] для набора телефонных номеров и арифметических выражений.
Таким образом, логичней и проще пожертвовать не буквой «ё», а твёрдым знаком:
Лично мне больше нравится первый вариант.
Ведь цель проекта — разработать раскладку экранных клавиатур для ВСЕХ 33 букв русского алфавита.
Таким образом мы получим:
Так же, для большего сходства со стандартной русской раскладкой, можно оставить букву «Ё» в самом начале цифрового ряда.
В этом случае знаки [+/-] переместятся вниз, в строку управляющих клавиш — рядом с пробелом, а твёрдый знак можно вернуть на третью строку, туда где была буква «ё».
Например так:
Таким образом мы получаем два варианта раскладки экранных клавиатур, максимально приближенные к стандартизированным кириллическим раскладками настольных клавиатур "стандартная" и "typewriter".
Обе раскладки позволяют набирать все 33 буквы русского алфавита простым нажатием кнопки, без дополнительных действий.
Реализация
Я посидел пару выходных и несколько вечеров.
Итог — самописная android-клавиатура.
2023-01-15
Доступные варианты раскладок клавиатуры
Клавиатура поддерживает обе предложенные мной кириллические раскладки (поддерживают все 33 буквы русского алфавита):
2023-02-20
■ Так же есть английская раскладка (подсмотренная на этом же телефоне), символьная клавиатура (такая когда-то была у меня на телефоне от Sony) и цифровая клавиатура для ввода телефонных номеров и т.д.
Помимо букв русского алфавита, каждая из раскладок поддерживает так же набор знаков препинания, математических и других популярных символов. Большая часть этих символов набирается через повторное нажатие на ту или кнопку.
При этом, для большей части русских или английских букв дополнительные символы не использутся, чтобы не мешать при быстром наборе слов со сдвоенными буквами. А в русских словах повторение букв — это широко распространённое явление.
■ Переключение между раскладками — свайпом клавиатуры влево-вправо.
Подсказка порядка переключения раскладок горизонтальным свайпом может выводиться на кнопке [Пробел].
■ Так же в левом нижнем углу каждой раскладки есть кнопка для последовательного переключения между активными раскладками:
⮎ [рус] → [маш] → [eng] → [&\#] → [123] ⮌
2023-04-24
Портретная и ландшафтная компоновки клавиатуры
■ Реализовано динамическое изменение компоновки в зависимости от разворота экрана устройства без непропорционального растягивания кнопок.
2023-05-01
Умные мульти-кнопки
■ Все основные знаки препинания, для удобства набора, сгруппированы на двух кнопках нижней строки рядом с пробелом.
■ Для упрощения установки регистра первых букв предложений, первая буква текста и каждая первая буква после знака конца предложения (. ! ? или …) автоматически вводится в верхнем регистре.
■ Для упрощения ввода основных знаков препинания, при повторном нажатии на [Пробел] после любой буквы (не цифры, не знака и не спец-символа):
2023-05-14
Автозавершение слов по стандартному словарю
■ В программу добавлены стандартный и пользовательский словари:
■ При вставке слова из словаря, должен автоматически учитываться регистр первой буквы первого слова в предложении.
■ Предусмотрено ведение автоматического словаря для сохранения всех использованных, ранее не известных слов.
■ Для защиты от сохранения кодов и паролей, авто-словарь должен содержать только русские или английские слова или выражения.
2023-06-04
Дополнительные возможности автозавершения слов
■ В строку вариантов автозавершения слов добавлена кнопка ускоренного удаления слова целиком.
Например, в случае неправильного выбора варианта автозавершения слова, его можно будет стереть целиком, один раз нажав на эту кнопку.
■ При автозавершении делается проверка на опечатки.
■ При автозавершении делается проверка на пропуск буквы.
■ Если первая буква во введённом фрагменте заглавная, то первая буква выбранного варианта автозавершения так же будет переведена в верхний регистр.
■ Если перед выполнением автозавершения активировать режим CapsLock, тогда выбранное слово будет вставлено полностью в верхнем регистре.
2023-06-06
Пользовательский словарь
Помимо стандартного были добавлены пользовательский и авто-словарь.
■ Пользовательский словарь изначально пуст и может быть заполнен пользователем вручную через окно настроек программы.
Сюда, на пример, можно добавить названия, адреса или просто полезные фразы, чтобы не набирать их каждый раз целиком.
■ Вносимые в этот словарь слова или фразы будут сохраняться в нём не ограниченное время в качестве варианта автозавершения при соблюдении общих правил.
Авто-словарь
■ Авто-словарь заполняется автоматически в процессе ввода любого текста.
Каждый раз при нажатии на пробел или знак припинания, из текста выбирается последнее слово перед или вокруг курсора:
■ В качестве слова может рассматриваться любая непрерывная цепочка русских/английских букв и знаков дефис(-), апостроф('), подчёркивание(_) длинной не менее 4 символов. Цифры, математический, специальные символы или знаки препинания не могут быть частью слов.
Примеры слов:
Вот пример одновременного отображения вариантов автозавершения слова и подсветки типа словаря цветом:
Авто-словарь и пароли
Помните, СУБД SQLite хранит данные в не зашифрованном виде и не обеспечивает защиту от не санкционированного доступа.
Запись пароля в базу данных SQLite может стать причиной дискредитации или потери секретности вашего пароля.
Все раскладки клавиатуры поддерживают цифры и другие не буквенные символы.
Для защиты от случаного сохранения паролей и кодов в авто-словарь, не пишите в них более 3 букв подряд.
Перемежайте буквы цифрами и/или спец-символами.
Примеры хороших и плохих паролей:
2023-06-19
Утилита для настройки ё-Клавиатуры
Поскольку программа «ё-Клавиатура» реализует андроид-сервис и не имеет собственного главного окна, для её настройки была написана отдельная утилита
«ё-Клавиатура» - настройка
Обработка ошибок доступа к диску
Переработан алгоритм взаимодействия с внешним хранилищем Андроид.
Обеспечена работоспособность програм при отсутствии доступа к диску и вывод сообщений о выявленной проблеме и о путях её решения.
При отсутствии прав доступа к диску клавиатура продолжит работать корректно, но будут ограничены возможности работы со стандартным словарём и не будет возможности изменить настройки программы.
При отсутствии доступа к файлу настроек, клавиатура будет работать с настройками по умолчанию.
2023-06-23
Дневная и ночная цветовые схемы
Добавлена поддержка цветовых схем день/ночь согласно настройкам операционной системы.
Так же, сохранена возможность использования клавиатуры без цветовой схемы.
2023-07-09
Векторные иконки на SHIFT и индикащия регистра на кнопках
Из-за проблем с синхронизацией растровой иконки на SHIFT, добавлена возможность выбора в настройках клавиатуры режима текстовой или векторной иконки на кнопке.
Одновременно, при вводе текста в верхнем регистре, метки буквенных кнопок так же переводятся в верхний регистр.
2023-07-15
Редактирование пользовательского словаря
Добавлена возможность правки пользовательского словаря с помощью утилиты «ё-Клавиатура» - настройка.
После любых модификаций словаря, автоматически включается опция "Обновить из файла после правки".
Редактирование пользовательского словаря в текстовом редакторе
Сохранённый файл пользовательского словаря должен иметь фиксированное имя и путь размещения:
home/Jo_Keyboard/DICT_USER.dat
Сохранённый файл пользовательского словаря можно отредактировать в любом текстовом редакторе, пригодном для работы с планарным текстом в формате UTF-8.
Рейтинг;Слово;usr↲
2023-07-16
Редактирование авто-словаря
Так же реализована аналогичная возможность правки авто-словаря с помощью утилиты «ё-Клавиатура» - настройка.
После любых модификаций словаря, автоматически включается опция "Обновить из файла после правки".
Редактирование авто-словаря в текстовом редакторе
Сохранённый файл авто-словаря должен иметь фиксированное имя и путь размещения:
home/Jo_Keyboard/DICT_AUTO.dat
Правила редактирования авто-словаря в текстовом редакторе аналогичны редактированию пользовательского словаря.
2023-07-16
Обновление стандартного словаря
Реализована возможность обновления стандартного словаря с помощью утилиты «ё-Клавиатура» - настройка.
В перспективе планируется реализовать загрузку/обновление словаря с ресурса в сети Интернет.
2023-10-05
Установочные файлы APK
Для приложения «ё-Клавиатура» и для утилиты «ё-Клавиатура» - настройка собраны установочные файлы APK.
Установочные файлы протестированы на смартфонах Honor 9s и Samsung A10.
С вопросами и предложениями жду обратной связи по адресу e-mail: letter_jo@mail.ru.
2023-10-08
Переработка ландшафтных компоновок клавиатуры
Ландшафтные компоновки клавиатуры переработаны для рационального использования пространства экрана в ландшафтном формате.
2023-10-14
Настройка высоты кнопок
Для удобства работы на устройствах с различным разрешением, пропорциями и размером экрана, в настройки приложения добавлена возможность увеличения/уменьшения высоты кнопок клавиатуры.
Так же эта возможность может быть полезна для пожилых людей или лиц с ограниченной подвижностью пальцев.
Или наоборот, для тех кому важно рациональное использование пространства экрана.
Эта опция доступна через утилиту «ё-Клавиатура» - настройка:
Обратите внимание:
Чтобы изменения после данной настройки вступили в силу, нужно полностью перезапустить клавиатуру.
На Android при выходе приложение останавливается не сразу.
Чаще всего оно лишь переводится в ждущий режим.
1) Попробуйте повернуть свой смартфон на 90° для смены режима портрет/ландшафт.
2) Если это не помогло, полную остановку «ё-Клавиатуры» можно сделать с помощью системных функций Android:
3) Так же вы можете просто перезагрузить свой смартфон.
Впрочем, скорее всего вам не придётся применять эту функцию часто.
Может быть раз или два, до достижения оптимально удобного размера кнопок клавиатуры.
2023-10-19
Индикатор доступа к SD-карте
Вместо сообщений об успехе или ошибке выполнения дисковых операций, в левом нижнем углу клавиатуры добавлен графический индикатор доступности SD-карты.
Индикатор позволяет определить проблемы при доступе к хранилищу файлов, например когда клавиатуре не были предоставлены соответствующие права или хранилище имеет нестандартную организацию и не совместимо с программой.
Это должно упростить взаимодействие с клавиатурой при возникновении проблем с доступом к SD-карте во время первого запуска.
На первый экран утилиты «ё-Клавиатура» - настройка так же вынесен индикатор доступности SD-карты и кнопка для запроса системных прав на доступ к внешнему файловому хранилищу, если их нет.
Кнопка запроса прав доступна только если права не предоставлены.
Кнопка настройки клавиатуры наоборот доступна, если права получены и папка программы доступна.
Это должно упростить взаимодействие с утилитой настройки при возникновении проблем с доступом к SD-карте во время первого запуска.
Настройки по умолчанию
Переработана процедура инициализации клавиатуры при первом запуске, при возникновении проблем с доступом к папке и файлам на SD-карте.
При отсутствии нужных прав или других проблемах доступа к SD-карте, из-за невозможности связи с утилитой «ё-Клавиатура» - настройка, будет недоступна функция настройки / кастомизации клавиатуры.
В этом случае приложение будет использовать стандартные параметры и файлы для инициализации базы данных из собственного внутреннего хранилища.
Настройки по умолчанию должны обеспечивать:
Обратите внимание.
При отсутствии доступа к SD-карте будет невозможно обеспечить:
Инициализация папки и базы данных. Многопоточность.
Переделана многопоточность при инициализации базы данных автозавершения.
При первом запуске клавиатуры может происходить "подвисание" интерфейса на 2-3 секунды, на время создания папки на SD-карте. Создание папки происходит в главном потоке, так как от этого зависит дальнейший процесс инициализации клавиатуры.
Процесс заполнения базы слов на SQLite при первом запуске клавиатуры может длиться 10-20 секунд в зависимости от произволительности процессора смартфона. Он не будет влиять на интерфейс клавиатуры, так как работает в параллельном потоке.
После заполнения базы слов, в строке над клавиатурой начнут появляться подсказки по завершению вводимого слова.
При проблемах с доступом к SD-карте, во время первого запуска не будет создана папка программы.
Это не помешает наполнению базы слов на SQLite — она будет инициализирована в фоновом потоке словарём по-умолчанию из внутреннего хранилища. Таким образом, функция автозавершения будет доступна в полном объёме.
Однако, это нарушит связь с утилитой «ё-Клавиатура» - настройка.
В дальнейшем программа будет проверять доступ к SD-карте при каждом запуске / смене раскладки / ориентации экрана. Результат проверки будет отображаться на индикаторе в левом нижнем углу экрана.
В случае успешного доступа, процесс инициализации автоматически возобновится и папка программы будет создана. Это восстановит работу утилиты «ё-Клавиатура» - настройка.
2023-11-04
Цвета и панель "О программе"
В приложении «ё-Клавиатура»
— были переработаны раскладки (изменён блок цифр)
— и цветовые схемы (повышена насыщенность и контрастность) .
В утилите «ё-Клавиатура» - настройка
— были сгруппированы параметры раскладок и кнопок
— и добавлена вкладка со сведениями "О программе".
2023-11-12
Текущая доработка
В приложении «ё-Клавиатура» устранены пара минорных ошибок, которые могли приводить к неожиданной перезагрузке клавиатуры при использовании авто-завершения слов.
2023-11-19
Переработка взаимодействия клавиатуры и утилиты настроек
В приложении «ё-Клавиатура» и утилите «ё-Клавиатура» - настройка был переработан механизм обмена данными.
— реализована автоматическая синхронизация прав доступа к хранилищу файлов;
— реализован обмен настройками через распределённые данные без использования дискового хранилища.
Теперь при активации прав доступа для утилиты «ё-Клавиатура» - настройка система автоматически предоставит их и для приложения «ё-Клавиатура». Это снимает большую часть проблем с обменом информацией между программами при системных ограничениях на права доступа к хранилищу файлов.
В приложении «ё-Клавиатура» убрано большинство растровых иконок на кнопках. Вместо них подобраны графически близкие символы из набора стандартного шрифта в системе Android.
Отказ от растровых иконок устранил проблемы с синхронизацией переключаемых иконок, позволил уменьшить объём пула ресурсов и упростил реализацию переключения графических схем.
Реализован механизм переключения графических схем, что позволило менять цветовое оформление клавиатуры вне зависимости то режима день/ночь системы.
В связи с более глубокой интеграцией приложения «ё-Клавиатура» и утилиты «ё-Клавиатура» - настройка, чтобы изменения вступили в силу после смены цветовой схемы, надо остановить/перезапустить приложение средствами ОС.
В качестве пробного шара к уже существующим схемам:
— светлая,
— тёмная
были добавлены ещё новые схемы:
— белая (градации светло-серого),
— чёрная (градации тёмно-серого).
— туманная (светлые цвета),
— грозовая (тёмные яркие цвета).
— серебро,
— серый дым.
— зелёная.
Кроме того предполагается добавление ряда дополнительных схем, однако их разработка ещё не завершена
(да и готовые схемы ещё сыроваты и показаны прежде всего в качестве доказательства эффективности функционала).
В случае активации недоступных цветовых схем произойдёт автоматическое переключение на одну из доступных стандартных схем.
2023-12-13
Доработка алгоритма автозавершения слов
Базовый алгоритм автозавершения слов учитывает:
— совпадение первых 2х букв,
— совпадение первых 3х букв,
— опечатку (нажатие соседней кнопки вместо нужной) после 2й буквы.
Теперь алгоритм учитывает:
— совпадение первых 4х букв,
— пропуск одной из первых 4х букв,
— вставку одной лишней буквы среди первых 4х букв,
— опечатку (произвольную замену буквы) в одной из 4х первых букв.
Таким образом после ввода 3-4х букв клавиатура может отслеживать ошибки так же и в первых буквах вводимого слова.
2024-01-08
Интеграция настроек в главный проект
Функциональность настроек «ё-Клавиатура» - настрока интегрирована в главный проект «ё-Клавиатура».
В инсталляцию входит одна программа «ё-Клавиатура». На экране создаётся один ярлык.
Программа, как и раньше, реализует сервис экранной клавиатуры.
Но настройки клавиатуры доступны непосредственно через собственный ярлык программы.
Для простоты, все настройки собраны на одну панель и доступны через вертикальную прокрутку экрана.
Убраны все средства отложенного сохранения/загрузки словарей — теперь изменения в словарях делаются прямым чтением/записью в базу данных.
Папка программы используется только для хранения файла настроек и файлов словарей, для их сохранения с целью просмотра и правки в сторонних программах.
Сама клавиатура осталась без изменений.
...
Продавать эту поделку на коленке за деньги я, конечно же, не планирую.
Клавиатура не поддерживает swype или другие новомодные штучки.
Но, с другой стороны, мне за её разработку и денег не платят.
Будет время и желание — будут фишки.
А там... посмотрим.
Этот опыт скорей демонстрирует нам не только возможность, но и простоту создания новой клавиатуры для iPhone или android-устройства.
Тем более что инструкций по написанию кастомных клавиатур под android в Интернете буквально навалом.
В том числе и в рунете.
Было бы желание.
Инсталляция для смартфонов на Android
Установочные файлы протестированы на смартфонах Honor 9s и Samsung A10.
С вопросами и предложениями жду обратной связи по адресу e-mail: letter_jo@mail.ru.
« Назад | ё‑Клавиатура |
Вперёд » |