Автор: Алексей Федорчук
Эта история началась с того, что я поменял клавиатуру — действие, которое я осуществляю только под непреодолимым гнётом обстоятельств. В данном случае гнёт этот выразился в том, что меня достала моя беспроводная клавиатура имени товарища Logitech’а.
Всем она была хороша — и тактильностью, и расположением клавиш, и тем, что шла в комплекте с очень приличной мышью, разумеется, также беспроводной. Но имела три неискоренимых врождённых недостатка, следующих из её беспроводной природы:
- отсутствие светодиодных индикаторов;
- пропуск букв при очень быстром наборе;
- ограниченный ресурс мизинчиковых батареек — сколько их ни заначивай, но рано или поздно наступает момент, когда они садятся (как правило, среди ночи), и запас в холодильнике оказывается исчерпанным.
Разумеется, на такой случай имелась у меня и проводная клавиатура — но а) не очень удобная с точки зрения расположения клавиш, и б) несколько громоздкая.
В результате пошёл я в магазин и прикупил себе проводную (с USB-разъёмом) клавиатуру BTC 6100 — Ultra Slim Multimedia. Которая, кроме ультраплоскости, отличалась ещё и ультракомпактностью (за счёт отсутствия NumPad’а), коротким ходом клавиш, при отличной тактильности, наличием светодиодных индикаторов. Мультимединйными прибамбасами она была не очень отягощена: имелись Интернет-клавиши Назад, Вперёд, Домой, и клавиши регуляции звука:
Иными словами, всё близко к идеалу — за единственным исключением: на ней напрочь отсутствовала клавиша Левый бакслэш. Зачем он нужен — спросите вы меня? Ответить легко: дело в том, что уже много лет на нижний регистр этой клавиши при кириллической раскладке я вешаю запятую — ну сильно напрягает меня жать шифт для ввода этого, согласитесь, не редкого препинака. И вообще, более неудобного расположения знаков препинания при русской раскладке на современных клавиатурах трудно себе вообразить — разве что старая раскладка legacy превосходит её в этом отношении.
Но так было не всегда. Останавливаться на истории создания пишущей машинки не буду — интересующийся легко найдёт эти сведения в Интернете. Не буду также пересказывать легенды о причинах появления современных клавиатурных раскладок — тем более, что никаких документальных подтверждений оным обнаружить так и не удалось. А начну я с обзора современного положения дел в этой области.
Но перво-наперво договоримся о терминах. В Windows под словом «раскладка» понимается сочетание языковой принадлежности и непосредственно системы расположения клавиш. Например, русская раскладка по умолчанию, русская фонетическая и русская (пишущая машинка) выступают как равноправные.
В Linux’е (точнее, в оконной системе X — о раскладках в консоли мы здесь говорить не будем) принята несколько иная номенклатура: понятие «раскладка» определяет страну и принятый в ней набор символов, тогда как собственно разновидности расположения клавиш именуются вариантами, вне зависимости от языка.
Для страны России и набора символов кириллицы в настоящее время сохраняют актуальность следующие варианты русской (ru) раскладки:
- typewriter — вариант раскладки стандартной советской пишущей машинки:
клавиатур, маркированных таким образом, я в заводском исполнении не видел, однако в UNIX-системах (FreeBSD и Linux) именно он был исторически первым;
- legacy — этот вариант получил широкое распространение во времена DOS, когда в соответствие с ним маркировались русифицированные фабричным способом клавиатуры; представляет собой инвертированный в отношении цифр и знаков препинания вариант пишущей машинки;
- winkeys — вариант, принятый в настоящее время в Windows, соответственно ему маркируются все современные русифицированные клавиатуры:
как и всё в Windows, создан (специально?) не похожим ни на один из предыдущих;
- phonetic — вариант, в котором русские буквы располагаются на месте похожих по звучанию латинских:
Эти варианты являются более или менее общепринятыми, и один из них обычно предлагается на выбор при установке большинства корректно русифицированных дистрибутивов Linux. Причём следует учесть, что предлагаемый по умолчанию вариант русской раскладки — это, как правило, legacy. Исключением, насколько мне известно, являются последние версии Ubuntu — в ней умолчальным вариантом выступает winkeys.
Существуют и менее известные варианты русской раскладки, штатно не включаемые в дистрибутивы (по крайней мере, мне об этом ничего неизвестно). Одна из них — так называемая
Все перечисленные варианты русской раскладки, кроме фонетического, в основе своей имеют базовую раскладку ЙЦУКЕН, созданную некогда для пишущих машинок по тем же принципам, что и изначальная раскладка QWERTY — изобретение Кристофера Шоулза, основоположника машинописи (ознакомиться с историей вопроса можно
Для латиницы такая замена была предложена ещё в тридцатые годы Августом Двораком, профессором Вашингтонского университета. Будучи профессиональным психологом и педагогом, он подошёл к этому вопросу сугубо научно, с учётом частоты употребления букв, физиологии и психологии:
По свидетельству тех, кто его освоил, вариант раскладки Дворака действительно обеспечивает фантастическую скорость набора (повторяю, латиницы). Он принят в качестве стандарта ANSI, и поддерживается во всех UNIX-подобных операционных системах (и даже в Windows). Однако, согласно статистическим данным, его использует не более 2% пользователей. Главная причина чему — резкое отличие варианта Дворака от QWERTY, а ведь именно в этой раскладке набирает свои первые символы подавляющее большинство пользователей персоналок.
Попыткой преодолеть необходимость принципиального переучивания было создание варианта Colemak, разработанного (также для латиницы) Шаем Колманом совсем недавно, в 2006 году:
Утверждается, что он, благодаря некоторому сходству со стандартным QWERTY, допускает их попеременное использование, обеспечивая при этом много большую скорость набора по сравнению с последним (и несколько большую, нежели при использовании варианта Дворака). Однако сведений ни о поддержке этого варианта операционными системами, и сведений о его распространении у меня нет. Подозреваю, что популярность варианта Colemak ещё ниже, нежели варианта Дворака — хотя бы ввиду отсутствия традиции.
На Руси тоже предпринимались попытки создания «эргономичных» вариантов для русской раскладки — по крайней мере об одной такой, получившей имя DIKTOR, мне известно:
Этот вариант базируется на тех же принципах, что и вариант Дворака и, подобно последнему, согласно
Так что, если не вдаваться в экстрим с полным переучиванием, фактически выбор вариантов раскладки в русскоязычном окружении сводится к четырём перечисленным ранее вариантам. При этом вариант phonetic отметаем с негодованием — предназначен в первую очередь для людей, русским языком не владеющих (хотя, подозреваю, таковые на форумах Рунета не так уж и редки).
С не меньшим негодованием следует отмести и вариант legacy — если, разумеется, у пользователя нет привычки к оному со времён «чёрного» DOS’а: никакими иными преимуществами оный не отмечен, а недостатков хоть отбавляй. Главные из них — несовпадение с фабричной маркировкой современных клавиатур и нахождение всех знаков препинания на верхнем регистре.
Так что фактически у нас простая альтернатива — winkeys или typewriter. В пользу первого говорит:
- совпадение раскладки с фабричной маркировкой клавиш;
- всеобщая распространённость (большинство недавних пользователей Windows об указанной альтернативе и не подозревают).
Против — достаточно причудливое расположение знаков препинания и, в первую очередь, нахождение запятой на верхнем регистре, что в своё время было
Но в конце 1980-х у нас появились персональные компьютеры иностранного производства. Клавиатур, учитывающих длину русского алфавита, никто в мире не производил и не собирается. Поэтому какому-то идиоту поручили (или он сам вызвался, не важно) русифицировать что есть. И этот идиот, будучи, видимо, программистом, совершил не просто идиотский поступок, а преступление: он поместил запятую в верхний регистр, потому что русский алфавит длинный, а клавиш на клавиатуре столько, сколько нужно для размещения латинского алфавита.
В цитате присутствуют некоторые фактические ошибки: как уже говорилось, на первых персоналках под DOS использовался вариант legacy (где все знаки препинания, без всякой дискриминации, были опущены в парашу — то есть подняты на верхний регистр), либо, всё-таки, вариант typewriter. Тем не менее с итоговым выводом Тёмы согласен: изобретатель winkeys-варианта русской раскладки был либо врагом-вредителем, либо инициативным идиотом (а инициативный идиот, как гласит киргизская народная мудрость, гораздо опаснее врага-вредителя).
Тем не менее, всё не так суицидально — по крайней мере в UNIX-подобных системах. Ибо там пользователь может без труда подогнать стандартный вариант раскладки под свои потребности — для чего ему нужны только текстовый редактор и знание того, какой именно файл отвечает за раскладку клавиатуры.
С файлом — всё просто: кириллическая раскладка клавиатуры в Иксах (повторяю, о консоли сейчас речь не идёт, это особая история) описана в файле /usr/share/X11/xkb/symbols/ru (реальное местоположение его может варьировать в зависимости от дистрибутива — но симлинк всегда будет по указанному пути). Так что следует его загрузить в текстовый редактор (с правами суперпользователя) и отредактировать должным образом (разумеется, копию оригинала надо предварительно сохранить — во избежание).
Как редактировать файл описания раскладки — становится ясным из его просмотра. В двух словах: главной частью его является секция common, описывающая основные алфавитные клавиши и общая для всех вариантов русской раскладки (кроме варианта phonetic — по понятным причинам его алфавитная часть выглядит совершенно иначе). Очевидно, что в базовой секции менять что-либо нецелесообразно, хотя и не запрещается.
Далее, каждому из прочих основных вариантов соответствует своя секция, в которой описываются его особенности, в частности, расположение знаков препинания и прочих специальных символов. И вот тут-то открывается простор для модификации: редко используемые символы, расположенные на удобных местах, можно заменить символами часто используемыми, например, той же пресловутой запятой.
Как я уже говорил, по ряду причин в качестве такой «заменяемой» клавиши я довольно дано уже избрал «левый бак-слэш», который при русской раскладке я никогда не использовал по прямому назначению. Почему и повесил на нижний регистр этой клавиши запятую, а на верхний — апостроф, который применяю довольно часто.
Для этого всего-то и нужно было, что вписать в секцию xkb_symbols «winkeys» строку
key <LSGT> { [ comma, apostrophe ] };
В принципе, этой строкой можно подменить и оригинальные значения кода LSGT в секции common — тогда новые символы будут вводиться при всех вариантах раскладки.
При желании можно подменить значения и других редко используемых клавиш, таких, как заглавные Ё (насколько мне известно, она применяется только в случае русского идиоматического выражения) и Ъ (примеров использования которого на верхнем регистре я просто не знаю). Повесив на них такие символы, как тильда или одинарная кавычка, в русской раскладке отсутствующие как класс. В общем, простор для творчества ограничен только фантазией и реальными потребностями.
В чём недостаток прямого редактирования файла раскладки — очевидно: положение всех дополнительных клавиш на клавиатурах ничем и никем не регламентировано, и они могут кочевать по «доске» совершенно произвольным образом, например, тот же левый бак-слэш может располагаться на правой её части или, как это стало в обычае нынче, вообще отсутствовать. Что при смене клавиатуры или просто переходе с декстопа на ноутбук доставляет немало неудобств.
И потому более радикальный способ решения проблемы запятой (а также всех остальных «верхнерегистровых» знаков препинания — отказ от варианта winkeys вообще и переход на вариант typewriter. Что я и проделал после последней смены клавиатуры.
Это тоже имеет свои недостатки. Во-первых, как я уже говорил, маркированных соответствующим образом клавиатур, насколько мне известно, в природе не существует. Во-вторых, некоторое время на привыкание всё-таки потребуется.
Первая проблема временно, до выработки автоматизма, может быть решена посредством наклеек на клавиши — правда, давеча приобретая их, я с удивлением обнаружил, что они стоят примерно половину цены не вполне беспородной клавиатуры.
Вторая же задача решается ежедневной, ежечасной, ежеминутной тренировкой. У меня на это ушло около суток чистого времени — правда, в прошлой своей жизни я заканчивал курсы машинописи и более четверти века печатал на механических пишущих машинках. Тем не менее, овчинка в любом случае стоит выделки. И потому беру на себя смелость рекомендовать вариант typewriter всем, кому в большом количестве приходится набирать русские тексты.
Как изменить вариант раскладки? Традиционный способ, основанный на использовании файла конфигурации Иксов описан бессчётно и сводится к внесению в /etc/X11/xorg.conf строк вида:
Option "XkbLayout" "us,ru(typewriter)"
или
Option "XkbLayout" "us,ru"
Option "XkbVariant" "typewriter"
а также обеспечения переключения латницы на кириллицу посредством строки вроде
Option "XkbOptions" "grp:lwin_toggle,grp_led:scroll"
Каковая предусматривает переключение по левой win-клавише и указание текущей раскладки индикатором ScrollLock (разумеется, и то, и другое определяется сугубо индивидуальными предпочтениями).
В современных версиях Xorg использование файла его конфигурации требует ещё двух строк
Option "AutoAddDevices" "False"
Option "AllowEmptyInput" "False"
запрещающих автоматическое определение устройств ввода.
С другой стороны, ныне можно обходиться без файла /etc/X11/xorg.conf, настраивая раскладку, её вариант и переключатель через HAL, как это было подробно описано в соответствующей заметке, к коей и отсылаю за подробностями.
Надеюсь, что читатель, опробовавший вариант typewriter, быстро убедится в том, что для массового набора он куда более пригоден, нежели привычный winkeys. Осталось только убедить производителей клавиатур (или, скорее, их распространителей на Руси) выпускать их модели, фабрично маркированные в соответствие с вариантом typewriter. А в идеале, если уж помечтать, — то и специальные клавиатуры для юниксоидов. Специфика которых должна быть вовсе не в клавишах с изображением пингвина или деймона. Не секрет ведь, что при массовом наборе текстов большинство пользователей Unix-подобных систем для навигации по тексту пользуются не клавишами управления курсором, а привычными кейбиндингами — кто в стиле vi, кто — в стиле emacs. Так почему бы не выкинуть с клавиатур всякие стрелки, PgUp/PgDown, End/Home? Ведь это позволит создавать вполне компактные «доски» с клавишами нормального размера, что более чем востребовано для малогабаритных ноутбуков.
Право, это задача куда более благородная и практически значимая, нежели борьба с предустановленной Windows…
В настоящей заметке использованы иллюстрации из Википедии —
Как-то даже попадалось интервью с этим нехорошим человеком, который создал winkeys-раскладку.
Он утверждал, что сделал так, потому что, когда программируешь, точка встречается много часто запятой.
Также видел феноменальный тред, где народ пытался выяснить — на чём, ля, он программирует, что запятая не встречается. Вроде ни к чему не пришли.
P.S. Использую стандартную winkeys раскладку. Сильно от этого не страдаю. Привычка — вторая натура, фигли.
Хотел бы дополнить про Dvorak и Colamak. Они хороши не для латиницы, а именно для английского языка, так как в этх раскладках напрочь отсутствуют символы диакритики. В этой связи появились различные French Dvorak, Spanish Dvorak и прочие, а раскладка Colеmak пока не обросла национальными вариантами в связи с её юным возрастом.
Для латиницы использую во всех операционках US International, основанную на QWERTY. Для русского языка на Маке использую порезанную мной стандартную эппловскую раскладку, которая близка к «Машинописи», особенно после того, как к ней были приложены мои кривые ручки ;), а в Linux и Windows — собственно «Машинопись». Малость путаюсь и матерюсь, но нет времени сделать точно так, как на Маке.
IMHO удобство этой самой нативной кусской раскалдки никак не перекрывает надобность переучиваться и распространенность winkeys. Пока последний везде и всюду, использование typewriter думаю принесет больше вреда, чем пользы.
P.S. Ну теперь я хотя бы одного человека знаю, который левый / использует. Для меня так это абсолютно ненужная клавиша, из-за которой укоротили левый Shift…
Кому не лениво, просьба принять участие в опросе касаемо вариантов раскладки клавиатуры:
http://linuxforum.ru/index.php?showtopic=95536
Про мультимедийную клавиатуру хорошо бы где-нибудь прочитать.
А про «беспроводная клавиатура имени товарища Logitech’а» у меня такая же проблема с прпусками и другими фичами.
Я печатаю слепым десятипальцевым методом, и на хождение то
Интересно, а вас не напрягает каждый раз нажимать shift для того что бы ввесли заглавную букву?
Заглавные БУКВЫ
Интересно, а вас не напрягает каждый раз нажимать shift для того что бы ввесли заглавную букву?
Заглавные БУКВЫ встречаются гораздо чаще запятых :)
Похвастаюсь: Я печатаю слепым десятипальцевым методом уже лет пять. Не смог сразу вспомнить как я запятую нажимаю… Оказалось что shift левым мизинцем, а клавишу с запятой правым мизинцем.
Сила привычки :)
Чёртов слепой десятипальцевый метод :) — не заметил как нажал сначала tab а потом Enter :))))
Очепятка:
>> 3. winkeys — вариант, принятый в настоящее время в Windows, соответственно ему маркируются все современные русифицированные кл+
>> 4.
>> 5. авиатуры:
2 Даник
Спасибо, поправил
Цитата: «Все перечисленные варианты русской раскладки, кроме фонетического, в основе своей имеют базовую раскладку ЙЦУКЕН, созданную некогда для пишущих машинок по тем же принципам, что и изначальная раскладка QWERTY — изобретение Кристофера Шоулза, основоположника машинописи (ознакомиться с историей вопроса можно здесь). Ныне её рассматривают как анахронизм “механических” времён, и время от времени предпринимают попытки замены на что-нибудь более “эргономичное”.
Ответ на цитату:
Хорошо,что появились сенсорные смартфоны. Благодаря этому появились и новые модели экранных клавиатур. Так вот, вместо ЙЦУКЕН|QWERTY на смартфонах я всё чаще вижу экранную клавиатуру «Вертикаль» и «Ладонник». А Вертикаль-клавиатура претендует уже и на настольную, правда, пока сенсорную.
Если есть желание- посмотрите: http://www.okeyboards.com
Да, но впечатление такое, что автор не застал целую эпоху
наиболее удобной для русскоязычных пользователей фонетической
раскладки ЙЦУКЕН-JCUKEN. Именно такую раскладку имели все
консоли всех вычислительных машин, выпускавшихся в СССР.
Это же относится к клавиатуре двухрегистровых (рус/лат)
телеграфных аппаратов, телетайпов и прочего подобного
оборудования.
Освоив десятипальцевый метод на этой клавиатуре на раскладке
ЙЦУКЕН, соответствующей всей истории машинописи в России,
СССР и РФ, можно было спокойно включать латинский регистр и
там, где вы имели русское Р, находилась латинская R и так
далее по фонетическому принципу.
И дело-то не в запятой, о которой так эмоционально пишет
Лебедев, а в том, что целому поколению людей, связанных
с вводом на отечественных клавиатурах букв латинского
алфавита, пришлось ломать свои устоявшиеся навыки, осваивая
раскладку QWERTY.
И до сих пор, освоив ЙЦУКЕН, вы резко теряете скорость
ввода, перейдя на латинский регистр в раскладке QWERTY.
Вот такая тут «запятая», а совсем не та, о которой пишет
Лебедев, клавиатура которого, поддерживающая любые
раскладки за счёт OLED дисплеев на каждой клавише, стоит
сейчас 60 тысяч рублей, ага, как два приличных ноутбука
с раскладкой QWERTY-ЙЦУКЕН.