Не смешно, зато про QWERTY

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

Условия нужны вот для чего. Если мы хотим, чтобы программа что-то делала – мы задаём в ней условие. Или если хотим, чтобы чего-то не делала – тоже задаём условие. В программе 1С так прямо и пишут программисты:

ЕСЛИ (что-то такое случилось)

ТОГДА <делаем что-то особенное>

А ДАЛЬШЕ - <всё как обычно>

Условия – это очень важная штука не только в языках программирования, но и в жизни.

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

Вряд ли кто-то читает инструкции по клавиатурам, оно и так интуитивно понятно. Человек просто заносит в свой мозг простенькую функцию, состоящую из набора условий вроде:


ЕСЛИ (мне нужна русская буква,
КОТОРАЯ
больше либо равна ‘а’
И
меньше либо равна ‘я’ )
ТОГДА
я ищу глазами кнопку, на которой эта буква красная (или снизу, или ещё как-то так).

Дальше надо проверить ещё несколько условий, вроде:

ЕСЛИ(мне нужна большая буква)
ТОГДА
я зажимаю Shift

ЕСЛИ(горит лампочка CapsLock)
ТОГДА

ЕСЛИ(Я ГЛАМУРНОЕ БЛОНДИНКО)
ТОГДА
Я НИЧИВО НИ ТРОГОЮ ЗЫПЫТЫ ТАГ И ПЕШУ!!!!!!:-)))

ИНАЧЕ я отключаю CapsLock и перехожу к предыдущему условию

У людей, использующих слепой метод печати всеми пальцами, рефлекторная программа намного сложнее. Там поведение каждого пальца нужно отдельно запрограммировать.

Владелец qwerty-смартфона как правило имеет в мозугу программу с компа. Но её необходимо слегка поменять.


ЕСЛИ(клавиатура маленькая)
ТОГДА ….

В нокиевских смартфонах используется интеллектуальная смена регистра символов. После точки, восклицательного и вопросительного знака и следующего за ними пробела – клавиатура ровно на одну букву переходит в верхний регистр, а затем сменяется опять на нижний. И тоже самое касается при вводе с новой строки.

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

Потому – в рефлекторной программе появляется новое условие:


ЕСЛИ(Я ввёл (. ИЛИ ! ИЛИ ?) И пробел)
ТОГДА я НЕ нажимаю Shift

Для человеческого мозга условие просмотра двух символов назад – задача сложноватая. И обычно она заменяется более простой. Для нашего мышления она и в самом деле проще:

ЕСЛИ(конец предложения)
ТОГДА я НЕ нажимаю Shift

И тут вдруг человеку нужно ввести фразу:

«В 1913 г. вообще интернета не было.»

Набирая эту фразу на qwerty-смартфоне, человек скорее всего получит 2 предложения вместо одного:

«В 1913 г. Вообще интернета не было.»

Логика программы для смартфона железна – после точки и пробела увеличить регистр. Программа человека даёт сбой – предложение только началось, и он не ждал такого подвоха.

Становится ясно, что нужно что-то менять во внутренней программе. Кому-то это удаётся, а кому-то нет. Кому удалось – попробуйте быстро и не задумываясь ответить на вопросы:

Нужно ли нажимать Shift на qwerty-cмартфоне в тексте «В г. Одессе» ?

А на компе?

Вроде и мелочь, но когда набираешь много текста – сгорают нервные клетки: нужно вернуться назад, стереть то, что написал, подумать, надо ли жать Shift и сделать правильно.

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

Взвесив всё это, помножив на количество ошибок – я решил изменить эту ситуацию в DEdit.


Если добавить в data\ded\ded.ini секретную строку
iLowerCase=1
и перезапустить редактор,то регистр становится как на компе. Нужна большая буква – жмём Shift, не нужна – не жмём.

Реализация этого дела со свистом вываливает эмулятор, но вроде работает на всех смартфонах Symbian 9.х.

Как это сделать на С++ – не расскажу:-) Зачем раскрывать секрет фокуса? Просто попробуйте, может, тоже понравится.

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

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

Метки: , , ,

9 комментариев на «Не смешно, зато про QWERTY»

  1. Ацетиленовая горелка, паяльник и немного широкого скотча творят чудеса. Расскажешь :) ))
    BTW, у тебя в деде бага уже 100 лет: поиск по CALL+8, затем переход на страницу вниз CALL+DOWN => выходит переход в конец. Вроде не фича, а баг.

    [Ответить]

  2. Ну отчего же «надуманной»? Меня вот иногда нервирует эта нагловатая самостоятельность смарта. Если бы он еще знал когда нужно регистр менять, вот это было бы весело :-)

    [Ответить]

  3. zaetz:

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

    [Ответить]

  4. jbak:

    Глобально вроде как нельзя, не встречал такого:-( Для qwerty хорошо бы было.

    [Ответить]

  5. Юрий,вы совершенно правы.Порой добивает необходимость возвращаться назад и исправлять неверно набраную букву.Надо бы уже нокии задуматься над этой «фичей» с авторегистром. Смарт Е63.Удачи вам в програминге:)

    [Ответить]

  6. А я давно пользуюсь этим. Похоже в реадми или на сайте где то написано. Тоже пишу немного кодом и после символов жутко неудобно писать с маленькой буквы

    [Ответить]

  7. Vitaliy:

    Это точно. Приходится, либо напечатать первую (заглавную) букву, удалить и писать заново. Либо, два раза шифт, потом писать. И там и там два лишних действия. И к ним еще привыкнуть надо. Я привык удалять. Так быстрее выходит ))

    [Ответить]

  8. Пишу на т9, так что вроде как не в тему. Но на т9 аналогичная ситуация. Просто я привык, что после точки и проч. буква будет большая и знаю, когда переключить режим на нижний.
    Я думал, кто активно пишет – тоже привыкают… :)

    [Ответить]

  9. Извеняюсь конешно ,но сам ,т9, не использую , и другим советую , уж очень он не продуманный.

    [Ответить]

Добавить комментарий