CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
25.05.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Разное

Немного о клавиатурных раскладках

http://alv.me/

Эта история началась с того, что я поменял клавиатуру — действие, которое я осуществляю только под непреодолимым гнётом обстоятельств. В данном случае гнёт этот выразился в том, что меня достала моя беспроводная клавиатура имени товарища Logitech'а.

Всем она была хороша — и тактильностью, и расположением клавиш, и тем, что шла в комплекте с очень приличной мышью, разумеется, также беспроводной. Но имела три неискоренимых врождённых недостатка, следующих из её беспроводной природы:

  1. отсутствие светодиодных индикаторов;
  2. пропуск букв при очень быстром наборе;
  3. ограниченный ресурс мизинчиковых батареек — сколько их ни заначивай, но рано или поздно наступает момент, когда они садятся (как правило, среди ночи), и запас в холодильнике оказывается исчерпанным.
Разумеется, на такой случай имелась у меня и проводная клавиатура — но а) не очень удобная с точки зрения расположения клавиш и б) несколько громоздкая.

В результате пошёл я в магазин и прикупил себе проводную (с USB-разъёмом) клавиатуру BTC 6100 — Ultra Slim Multimedia. Которая, кроме ультраплоскости, отличалась ещё и ультракомпактностью (за счёт отсутствия NumPad'а), коротким ходом клавиш при отличной тактильности, наличием светодиодных индикаторов. Мультимедийными прибамбасами она была не очень отягощена: имелись Интернет-клавиши Назад, Вперёд, Домой и клавиши регуляции звука:

btc.jpeg

Иными словами, всё близко к идеалу — за единственным исключением: на ней напрочь отсутствовала клавиша Левый бакслэш. Зачем он нужен — спросите вы меня? Ответить легко: дело в том, что уже много лет на нижний регистр этой клавиши при кириллической раскладке я вешаю запятую — ну, сильно напрягает меня жать шифт для ввода этого, согласитесь, не редкого препинака. И вообще, более неудобного расположения знаков препинания при русской раскладке на современных клавиатурах трудно себе вообразить — разве что старая раскладка legacy превосходит её в этом отношении.

Но так было не всегда. Останавливаться на истории создания пишущей машинки не буду — интересующийся легко найдёт эти сведения в Интернете. Не буду также пересказывать легенды о причинах появления современных клавиатурных раскладок — тем более, что никаких документальных подтверждений оным обнаружить так и не удалось. А начну я с обзора современного положения дел в этой области.

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

В Linux'е (точнее, в оконной системе X — о раскладках в консоли мы здесь говорить не будем) принята несколько иная номенклатура: понятие "раскладка" определяет страну и принятый в ней набор символов, тогда как собственно разновидности расположения клавиш именуются вариантами, вне зависимости от языка.

Для страны России и набора символов кириллицы в настоящее время сохраняют актуальность следующие варианты русской (ru) раскладки:

  1. typewriter — вариант раскладки стандартной советской пишущей машинки:

    typewriter.gif

    клавиатур, маркированных таким образом, я в заводском исполнении не видел, однако в UNIX-системах (FreeBSD и Linux) именно он был исторически первым;
  2. legacy — этот вариант получил широкое распространение во времена DOS, когда в соответствие с ним маркировались русифицированные фабричным способом клавиатуры; представляет собой инвертированный в отношении цифр и знаков препинания вариант пишущей машинки;
  3. winkeys — вариант, принятый в настоящее время в Windows, соответственно ему маркируются все современные русифицированные клавиатуры; клавиатуры:

    winkeys.png

  4. как и всё в Windows, созданы (специально?) не похожими ни на один из предыдущих;
  5. phonetic — вариант, в котором русские буквы располагаются на месте похожих по звучанию латинских:

    fonetic.png

Эти варианты являются более или менее общепринятыми, и один из них обычно предлагается на выбор при установке большинства корректно русифицированных дистрибутивов Linux. Причём следует учесть, что предлагаемый по умолчанию вариант русской раскладки — это, как правило, legacy. Исключением, насколько мне известно, являются последние версии Ubuntu — в них умолчальным вариантом выступает winkeys.

Существуют и менее известные варианты русской раскладки, штатно не включаемые в дистрибутивы (по крайней мере, мне об этом ничего неизвестно). Одна из них — так называемая типографская раскладка Ильи Бирмана, позволяющая непосредственно вводить с клавиатуры парные и "лапчатые" кавычки, короткие и длинные тире и так далее. Изначально разработанная для Windows, она была адаптирована и для Иксов. С той же целью был разработан и вариант enhanced русской раскладки.

Все перечисленные варианты русской раскладки, кроме фонетического, в основе своей имеют базовую раскладку ЙЦУКЕН, созданную некогда для пишущих машинок по тем же принципам, что и изначальная раскладка QWERTY — изобретение Кристофера Шоулза, основоположника машинописи (ознакомиться с историей вопроса можно здесь). Ныне её рассматривают как анахронизм "механических" времён, и время от времени предпринимают попытки замены на что-нибудь более "эргономичное".

Для латиницы такая замена была предложена ещё в тридцатые годы Августом Двораком, профессором Вашингтонского университета. Будучи профессиональным психологом и педагогом, он подошёл к этому вопросу сугубо научно, с учётом частоты употребления букв, физиологии и психологии:

По свидетельству тех, кто его освоил, вариант раскладки Дворака действительно обеспечивает фантастическую скорость набора (повторяю, латиницы). Он принят в качестве стандарта ANSI и поддерживается во всех UNIX-подобных операционных системах (и даже в Windows). Однако согласно статистическим данным, его использует не более 2% пользователей. Главная причина чему — резкое отличие варианта Дворака от QWERTY, а ведь именно в этой раскладке набирает свои первые символы подавляющее большинство пользователей персоналок.

Попыткой преодолеть необходимость принципиального переучивания было создание варианта Colemak, разработанного (также для латиницы) Шаем Колманом совсем недавно, в 2006 году:

 Утверждается, что Colemak, благодаря некоторому сходству со стандартным QWERTY, допускает их попеременное использование, обеспечивая при этом много большую скорость набора по сравнению с последним (и несколько большую, нежели при использовании варианта Дворака). Вариант Colemak поддерживается в Иксах, однако сведений о его распространенности у меня нет. Подозреваю, что популярность варианта Colemak ещё ниже, нежели варианта Дворака — хотя бы ввиду отсутствия традиции.

На Руси тоже предпринимались попытки создания "эргономичных" вариантов для русской раскладки — по крайней мере об одной такой, получившей имя DIKTOR, мне известно:

diktor.jpg

Этот вариант базируется на тех же принципах, что и вариант Дворака и, подобно последнему, согласно уверениям разработчиков, обеспечивает большую скорость набора и меньшую утомляемость. Однако и о её сколько нибудь широком использовании мне неизвестно. Более того, по моему мнению, шансов на таковое она имеет ещё меньше, нежели варианты Дворака или Колмана — вне зависимости от его достоинств, ибо все обучающие курсы набора в нашей стране базируются на использовании стандартной ЙЦУКЕН.

Так что, если не вдаваться в экстрим с полным переучиванием, фактически, выбор вариантов раскладки в русскоязычном окружении сводится к четырём перечисленным ранее. При этом вариант phonetic отметаем с негодованием — предназначен в первую очередь для людей, русским языком не владеющих (хотя, подозреваю, таковые на форумах Рунета не так уж и редки).

С не меньшим негодованием следует отмести и вариант legacy — если, разумеется, у пользователя нет привычки к оному со времён "чёрного" DOS'а: никакими иными преимуществами оный не отмечен, а недостатков хоть отбавляй. Главные из них — несовпадение с фабричной маркировкой современных клавиатур и нахождение всех знаков препинания на верхнем регистре.

Так что, фактически, у нас простая альтернатива — winkeys или typewriter. В пользу первого говорит:

  1. совпадение раскладки с фабричной маркировкой клавиш;
  2. всеобщая распространённость  (большинство недавних пользователей 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...

В настоящей заметке использованы иллюстрации из Википедии — Раскладка клавиатуры, QWERTY  и Клавиатура Дворака, а также из статьи Новая усовершенствованная раскладка клавиатуры для кириллицы (DIKTOR).

А какой вариант раскладки используете вы? Если есть желание и время, можете принять участие в опросе.




Комментарии

Страницы комментариев: 1 :: 2 :: 3 :: 4 :: следующая

afftar, Wed Nov 18 08:13:42 2009:
QWERTY-пЕрди,ЙЦУКЕН- пукен! За-дол-ба-ли! Я из тех кто начал осваивать электронику со смартов. И вот нате! Мне надо печатать на настольной клаве. Вы что там совсем в осадке что ль? Да как тут печатать!
Чатвумен, Sat Nov 7 18:24:28 2009:
Мне тоже нравятся клавиатуры Щеблыкина!
А. Федорчуку, Sun Nov 1 17:01:57 2009:
А вы ради интереса порносайты посмотрите, уверяю вас это поможет.
Евгений Вениаминович, Sun Nov 1 11:46:44 2009:
А. Федорчуку. Ради интереса посмотрел все основные сайты на темы клавиатурных моделей и хочу сказать следующее. Во-первых, Вы неправы в том, что историческая информация о появлении компьютерных клавиатур неправдива. В Инете очень много написано и о том, как вообще создавались первые виды клавиатур, начиная с Шоулза. Какие клавиатурные модели предлагались к использованию, в том числе модели Дворака. Почему частотные латинские буквы неудобно расбросаны по клавиатурному полю. И так далее.
Обсуждаются и сегодня. Почему? Да потому, что все свежие варианты клавиатурных моделей - это слегка видоизмененные версии ЙЦУКЕН или QWERTY. Почти ничего нового! И все это на фоне морально устаревших стандартов. А о клавах в портативной электронике уже и не говорю. ЙЦУКЕН там просто нонсенс. И, что странно, никакого ведь движения вперед!
Поэтому зря Вы так неодобрительно отозвались о сайте Щеблыкина. Просто, непредвзято посмотрите хотя бы на клавиатурную раскладку "Т". Во-первых, она гораздо удобнее для восприятия. Потому, что частотные буквы даны в алфавитном порядке. Во-вторых, частотные буквы лежат кучно и в центре. Плохо, что ли?
А Вы в запале толкаете черт знает что! Не обижайтесь, но давайте рассуждать объективно! И тогда придем к чему-то единому. А то ведь раздрай-базар: каждый считает, что он лучше.
аноним, Thu Sep 10 11:47:05 2009:
Ребята, у меня ноут PentiumIII 500мгц.
ОЗУ 160мб, ХДД 7гб.
Стоит ВинХР. Работает, музыку, видео крутит. В интернет ходит. Но антивирусники уже не поставить...
Подскажите ПЛЗ, что сюда можно из линуксов впаять, чтобы работало не хуже но чтобы:
корректно работал тачпад (полосы прокрутки) спецклавиши (под виндой стоит прога MKey) + можно было общаться с мобилой по ИК порту (Сименс и Нокия) (а при необходимости GPRS Internet) + ADSL интернет через модем Zyxel который висит на USB порту и этот же модем еще у меня работает как хаб в локальной сети. Т.е. ноут по USB соединен с модемом, с этим же модемом соединен стационарный комп по Ethernet образуя таким образом локальную сеть + интернет-шлюз.
Есть какие-нибудь идеи?
аноним, Tue Sep 8 21:23:25 2009:
Док, воскресенье, 30 августа 2009 г. 16:09:17:
(с) Одобрено Минздравом.

не кокетничай, скажи прямо - одобрено линупсом )))

А, знаешь почему линупс не передается половым путем? хе.. хе.. линуксоиды -того, половым путем не могут .. хе.. хе.. ))
Андрюха! Ха ха!, Tue Sep 8 17:42:58 2009:
Там еще есть одна клава - "Т". Тоже клевая. Самые ходовые буквы в центре! Видал? А этот мужик, Владимир Щеблыкин, не пойму, челябинец, что ли? На фотке вроде как на кировке.
Андрюха! Ха ха!, Tue Sep 8 17:38:54 2009:
А ПЗУ на клавишах зачем? Такие технологии уже работают и без этого.
Андрюха! Ха ха!, Tue Sep 8 17:36:51 2009:
А Ньюмоби правда клевая клава!
Док, Sun Aug 30 16:09:17 2009:
Согласно данным Мирового Фонда Здравохранения, рэдмондиоз является одним из самых опасных заболеваний ХХI столетия. Некоторые научные светила уже сейчас ставят его в один ряд со свинным гриппом и ВИЧ-инфекциями.
Каковы же пути распространения данной заразы? Общеизыестно, что передаётся она воздушно-капельным путём. Также к заражению приводит и непосредственный контакт с заражённым обьектом - достаточно даже лёгкого касания системного блока.
О возможности передачи рэдмондиоза половым путём у автора сведений пока нет. И он будет рад получить таковую от заинтересованных лиц.
Как же обезопасить себя от новой чумы двадцать первого столетия? Существует несколько способов, и все они достаточно традиционны. Это - дезинфекция помещений, использование марлевой повязки при общении с уже заражёнными лицами. В особых случаях следует прибегать к принудительной эвтаназии.
Помните - от нас с вами зависит. сумеем ли мы остановить эту новую эпидемию, грозящую всем нам неисчислимыми бедами.

(с) Одобрено Минздравом.

Страницы комментариев: 1 :: 2 :: 3 :: 4 :: следующая

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds