Здравствуйте дорогие хабра читатели!


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


Оригинальная раскладка Дворак


Уже не мало рассказано про эту раскладку, а кому-то эта раскладка даже жизнь в боль превратила!
Так за чем же нужен еще один пост? Дело в том, что после прочтения множества постов о данной раскладке, я заметил что в основном описываются проблемы и неудобства, связанные с переходом. Здесь же я постараюсь рассказать и показать как можно их преодолеть, на примере платформы макось.



Конечно я не сразу выбрал раскладку Дворак для программистов. Как и все печатал на Qwerty, и при чём довольно таки не плохо слепым методом, который в свое время изучал при помощи замечательного тренажёра Соло на клавиатуре. Респект Владимиру Шахиджанян! И вот в один прекрасный день решил перейти на альтернативную раскладку Дворак. Наверно больше из любопытства и интереса, чем из-за реальной необходимости. Конечно я не сразу перешёл на Дворак для программистов. В комплекте макоси есть вариант “Dvorak — Qwerty ?”, вот с него и начинал. Эта раскладка облегчила переход по началу, т.к. сохранялись все Qwerty шорткаты (особенно [? C] и [? V]). Однако такой подход вызывал неудобства, потому что всегда приходилось делать этакое ментальное переключение, что в свою очередь тормозило процесс обучения самой раскладки Дворак. В конечном итоге я решил перейти на раскладку Дворак для программистов, для повышения продуктивности при набирании кода. В моей практике были случаи когда начальство приходило с секундомером и замеряло за сколько времени программист пишет код).


При переходе с обычного Дворака на Дворак для программистов, пришлось привыкать к новому расположению цифрового ряда. Интересная деталь, но такое расположение цифр было изначально предложено самим Августом Дворак. (См. фото над катом). Все бы ничего но такие сочетания клавиш как [? цифры], вызывали неудобства. Ведь чтоб нажать цифру надо было ещё удерживать шифт, и не во всех приложениях это работало. А вот то, что для сочетания клавиш скопировать + вставить, нужно две руки, совсем не напрягало. Но после того как я обнаружил что сочетание [? `] для циркуляции между окнами одного приложения не работало, я решил что с этим надо что-то делать.


Итак я решил немного модифицировать раскладку при помощи приложения Ukelele, и попытаться решить все назревшие проблемы. Получилась модификация, которую я назвал Deep Dvorak. Эта модификация так же имеет так называемый dead state, который активируется нажатием клавиши [,] (оранжевая клавиша на скриншоте). Но обо всем по порядку.


Deep Dvorak - normal state


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


Deep Dvorak - cmd state


Я долго думал, как же решить проблему с сочетанием клавиш скопировать + вставить, раз и навсегда. Подход применённый в раскладке Dvorak Qwerty, показался очень привлекательным, но при этом я не хотел слепо копировать Qwerty раскладку при нажатом ?. И вот меня осенило, три клавиши [;, .] и три клавиши [x c v]! Результат вы видите на скриншоте. Таким образом элегантно решается проблема с сочетанием клавиш вырезать + скопировать + вставить. Теперь спокойно можно копировать вставлять одной левой рукой, а сочетание отмена [? Z] можно набирать одной правой. Так же я вернул на место тильду (клавиша над табом, выделена голубым цветом), для корректной работы сочетания [? `]. Ну и конечно цифровой ряд и квадратные скобки так же как и на Qwerty. Сочетание [? +], можно нажимать без шифта в отличии от Qwerty. Например в любом браузере, есть такие сочетания как [? +], [? -], для управления размером шрифта. Сочетание [? ,] (Настройки/Preferences) так же удобно нажимаемы.


Deep Dvorak - shift state
Deep Dvorak - caps state


При нажатом option (alt) home row превращается в цифровой ряд:
Deep Dvorak - option state


Ну и наконец dead state. Как я уже упоминал, активируется он нажатием клавиши [,].
Deep Dvorak - dead state


Идея dead state заключается в том, что вместо того чтобы дотягиваться до трудной клавиши, легче два раза нажать более доступные клавиши и получить тот же самый результат. На расположение клавиш в dead state, повлияло и то что я иногда пользуюсь текстовым редактором Neovim. Например в Neovim’e мне часто нужны такие быстрые клавиши:
^ > перейти в начало строки
$ > перейти в конец строки
Но это уже другая отдельная тема и поэтому я не буду заострять на этом внимание.


Причём же тут русский йод? Как вы могли догадаться чтоб быстрее привыкнуть к новому сочетанию “x c v”, было бы очень удобно при переключении на русскую раскладку пользоваться теми же сочетаниями “й ц у”. Поэтому я немного модифицировал и русскую раскладку, которая и получила название Russian Yod.


PS:
Раскладку Дворака часто критикуют за бoльшую нагрузку на правую руку, и за расположение буквы L, которая даёт большую нагрузку на правый мизинец. Бытует мнение что мизинец самый слабый палец. Но когда я работал в одной иностранной нефте-обслуживающей компании, нам там читали лекции про правильное поднятие тяжестей. Так вот как сейчас помню, любой захват обязательно рекомендовалось делать с использованием мизинца, именно потому что якобы он самый сильный. В той компании активно агитировалась практика доноса на ближнего своего. Т.е. если я например вижу что кто-то тащит тяжёлое ведро без использования мизинца, по протоколу я должен остановить, объяснить, а потом заложить в онлайн систему. И все это дело поощрялось подарками и бонусами. Для западного менталитета это вполне нормально воспринимается) Ладно оставим западный менталитет в покое и проведем небольшой тест:


Сначала из положения кулак разгибать каждый палец по отдельности. А потом из положения пятерни сгибать. Как видно мизинец гораздо легче сгибать разгибать чем тот же безымянный. Так же практически невозможно согнуть мизинец без сгиба его соседа безымянного. Насколько я осведомлён в этой теме, за сгибание пальцев отвечают всего две основные, но самые крупные мышцы, одна из которых крепиться непосредственно к мизинцу.
flexor extensor
Слева мышцы сгибатели пальчиков, справа разгибатели.
В общем стоит или нет переходить на раскладку Дворак, решать только Вам дорогие читатели. Я же надеюсь что мой подкат поможет Вам сделать правильный выбор. И пусть раскладки Deep Dvorak и Russian Yod помогут Вам!


Выводы
Я не агитирую и не говорю что раскладка Дворака подойдёт абсолютно всем. Когда меня спрашивают почему ты печатаешь на Двораке? Я отвечаю вопросом на вопрос а почему вы печатаете на Qwerty? Люди печатающие на Qwerty десятилетиями, даже не знают историю появления этой раскладки, и в большинстве случаев, к моему сожалению, даже и не интересуются.
Одно только то, что человек посвятил всю свою жизнь анализу и разработке раскладки, заслуживает уважения.
Под конец жизни доктор Август Дворак, сказал такую фразу:


I'm tired of trying to do something worthwhile for the human race, they simply don't want to change!
Я устал от попыток сделать что-то действительно стоящее для человечества, они просто не хотят меняться!

Следующие рисунки не нуждаются в комментариях.
Home row
Better hand alternation
Better finger loads
Awkward strokes minimized

Поделиться с друзьями
-->

Комментарии (21)


  1. aliev
    19.05.2016 10:21
    +1

    Ждем статью «5 причин не использовать раскладку Deep Dvorak после года использования».
    Т.к. вывода в статье не было, я сделал его сам, у автора очень много времени.


  1. bziker
    19.05.2016 11:11

    Мне интересно попробовать, но при всем желании не имею мака, планируется развитие на окошки/пингвинов?


    1. ptrvch
      19.05.2016 11:43

      github.com/bradfeehan/Dvorak-QWERTY-Ctrl

      На win10 через setup.exe поставилось.


      1. bziker
        19.05.2016 11:55

        у меня тоже все работает, но контрол + С и контрол + V нажимать двумя руками это боль, я в основном и попробовать хотел из-за этой фишки


    1. Cheater
      20.05.2016 14:47

      В Linux обычно включены стандартные средства для прямой модификации раскладки (loadkeys/dumpkeys/modmap для консоли, xmodmap/setxkbmap и.т.д. для раскладки в графической среде). Там правда не настолько всё юзерфрендли, как в Deep Dvorak: р


      1. bziker
        20.05.2016 16:27

        Банально лениво ремапить клавиши по всей клаве, а потом я разобрался в себе (мой следующий коммент на правах рассуждения вслух)


  1. VBauer
    19.05.2016 11:23

    К сожалению, я не знаю как это реализовать на уровне самой раскладки на окошках/пингвинах. Для Windows, возможно поможет программа AutoHotkey. Моей целью было показать, как можно решить проблему основных шорткатов, из-за которых новички не решаются переходить на Дворак.


    1. bziker
      19.05.2016 11:28

      Спасибо за програмулину, потыкаю в свободное время


  1. bziker
    19.05.2016 12:31

    А вообще для таких как я, оказалось придумали дворак под левую руку и я должен заметить даже имея раскладку картинкой на мониторе не так уж и сложно печатается (конечно долго и привыкать надо), но опятьже пришло осознание того, что вим заточен под кверти (а у меня даже плагин для браузера под управление клавишами вима), и реально логично было бы попробовать именно русскую раскладку, в стандартах виндовых была найдена типографская раскладка (по факту тот же кверти, но без цифр), дворакоподобной не нашел.
    Есть вариант держать сразу все раскладки и например в саблайме печатать qwerty/йод, но думается мне получится путаница.
    Постфактом задумался — если у меня уже многое заточено на кверти, а стоит ли вообще менять раскладку, я конечно не гуру слепой печати, но перспектива перебиндовывать клавиши везде ИЛИ пробовать в дворакоподобных раскладках (а не сломаю ли я пальцы?) меня немного пугает.


    1. VBauer
      19.05.2016 14:12

      По поводу vim'a, заточены только пресловутые четыре клавиши hjkl, расположение которых в раскладке Дворака не так уж и безнадёжно. А вообще, лично я все реже пользуюсь этими клавишами. Если интересно, то вот мой vimrc, а точнее nvimrc. Пользуюсь без всяких ремапов под Qwerty. А если вы часто переключаетесь в vim'e с английского на русский и наооборот, то рекомендую вам обратить внимание на замечательный плагин vim-xkbswitch. Стоит ли менять раскладку решать только вам. По своему опыту могу лишь сказать что у меня не гудят кисти после часа печатания на Dvorak, как это было на Qwerty.


      1. bziker
        19.05.2016 14:17

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


  1. klirichek
    19.05.2016 12:59
    +1

    Фамилии мужчин склоняются!
    «Респект Владимиру ШахиджанянУ»,
    «предложено самим Августом ДворакОМ».
    (вот если бы это были фамилии женщин, то да — привет Кате Шахиджанян от Лены Дворак)


    1. dzhidzhoev
      23.05.2016 16:06

      А почему это вдруг женские перестали?


  1. Tseikovets
    20.05.2016 17:20
    +1

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


    Я извиняюсь, но это мне показалось самым интересным моментом статьи.
    Вы бы не могли рассказать подробнее, как это реально выглядело и какие имело последствия? Можно даже отдельным постом «Спринтерское программирование». Он наверное взорвёт Хабр.
    Это же просто звучит как клинический бред или шутка на первое апреля. Под секундомер на интервале нескольких минут можно выдать какую угодно производительность по написанию кода, особенно если без review и проверочной компиляции. :-)
    Скажите честно, эта компания ещё не обанкротилась?


    1. VBauer
      20.05.2016 21:12

      Эта компания сейчас процветает. Проверяли не меня, а другого человека, которому можно поставить памятник за терпение. Я бы не вытерпел, и уволился в тот же час, хотя я и так уволился с той конторы). Начальство хотело узнать за сколько времени пишется одна форма на ангуляре, и таким образом зная общее количество форм, удивлялось почему мы не успеваем уложиться в срок, если одна форма пишется за пол часа. Об этом лучше рассказывать от первого лица, могу дать контакт.


  1. lihtenshtein
    20.05.2016 20:55

    Ей Богу, не понимаю, кто выдумывает эти расположения символов ( ] [ { } ^ % $ # @! \ | / ?). Клавиатура должна быть понятна девочке за соседним столом. Все должно быть логично и просто. Варианты есть! Пока не придет очередной Стив Джобс, который сделает из современных клавиатур гармоничную штуковину, понятную, простую и удобную, так и будем по несколько лет запоминать расположение символов.

    Люди всю жизнь бьют по клавишам, а так и не могут научиться писать в слепую. Это явно о чем-то говорит.


    1. Zenitchik
      20.05.2016 21:22

      Может быть, о том, что писать в слепую не особо нужно? Я, вот, обычно вслепую не печатаю (и, вообще говоря, не считаю, что умею), но этот пост принципиально напечатал вслепую. Опечатался пять раз. Исправил тоже вслепую. (в последнем предложении опечатался дважды).
      Под опечатками имел в виду случайные нажатия соседних клавиш.


      1. VaalKIA
        20.05.2016 22:56

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


        1. Zenitchik
          20.05.2016 23:22

          А я — наоборот. Запросто попадаю по /[{}\[\],.]/ в английской раскладке, но плохо попадаю по русским буквам. Привычка.


    1. x86d0cent
      23.05.2016 10:35
      +1

      >Все должно быть логично и просто.

      Разместить буквы на клавиатуре в алфавитном порядке, например, — логично и просто. Но не очень удобно. К тому же, то, что будет удобно девочке за соседним столом (которой может быть { }| вообще не нужны), не обязательно будет удобно для бородатого разработчика, сидящего напротив нее.

      >Люди всю жизнь бьют по клавишам, а так и не могут научиться писать в слепую. Это явно о чем-то говорит.

      О том, что не хотят этому научиться?


  1. adrianov
    24.05.2016 18:40

    Уже где-то 3 года пользуюсь раскладкой Colemak. Удобнее, чем Dvorak. И тоже сделана по науке.