CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
28.06.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. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Разное

Typewriter-like раскладки

Случайные заметки

По совету http://vonderer.blogspot.com/ решил попробовать использовать для русского языка раскладку пишущей машинки. Главное преимущество (для меня) — в том, что знаки препинания обычно в тексте встречаются гораздо чаще, чем цифры, а в typewriter набирать их становится проще. Заодно точка и запятая получают по отдельной клавише, и буква Ё — более удобное место. В общем, действительно, удобно. Правда, на привыкание ушло около недели.

Но кроме русской раскладки есть ещё и английская. Для неё в X-ах не предусмотрено typewriter-варианта, а хочется, потому что на переключение режима в мозгах требуется слишком много времени (цифры набирать то с шифтом, то без, и знаки препинания скачут по всей клавиатуре). Раскладка Дворака (у которой есть вариант с цифрами на верхнем уровне) — слишком другая, а я не так много набираю англоязычных текстов, чтобы изучать совсем новую раскладку (да ещё и надписи на клавишах будут мешать). В общем, сделал я себе typewriter-вариант английской раскладки. Выглядит это так:

Соответствующий код (/usr/share/X11/xkb/symbols/ustw):

partial alphanumeric_keys xkb_symbols "typewriter" { include "us(basic)" 
name[Group1]= "US — Typewriter";
key <AE01> {[exclam, 1 ]};
key <AE02> {[numbersign,2]};
key <AE03> {[slash,3]};
key <AE04> {[semicolon,4]};
key <AE05> {[colon,5 ]};
key <AE06> {[comma,6 ]};
key <AE07> {[period,7]};
key <AE08> {[asterisk,8]};
key <AE09> {[question,9]};
key <AE10> {[percent,0]};
key <BKSL> {[parenleft,parenright]};
key <AC10> {[at,ampersand]};
key <AB08> {[asciicircum,less]};
key <AB09> {[dollar,greater]};
key <AB10> {[bar,backslash]};};
Кроме того, ещё с давних пор я использую CapsLock как специальный модификатор, превращающий некоторые буквенные клавиши в стрелки и т.п. Сейчас ещё захотелось на Shift-Caps повесить переключение такого режима (чтоб в браузере тексты читать, листая кнопками j/k и т.п.). И ещё захотелось временный переключатель из русской раскладки в английскую — иногда >/< или ещё чего набрать быстро. И, раз уж пошла такая пьянка, чтоб можно было греческие буквы побыстрее набирать (временный переключатель в греческую раскладку) (правда, я не верю, что греки пользуются фонетической раскладкой, которая в иксах под именем gr, ну да это их проблемы).

Итак, текущие мои настройки, если кому интересно.

/usr/share/X11/xkb/symbols/addkeys — мои раскладки:


partial alphanumeric_keys xkb_symbols "en" { include "ustw" name[Group1]= "US — Additional"; key.type[group1]="FOUR_LEVEL"; 
key <AC01> {[a, A, Home, Home]};
key <AD03> {[e, E, End, End]};
key <AC05> {[ g, G, Home, End]};
key <AC06> {[ h, H, Left, Left]}; 
key <AC07> {[ j, J, Down, Down]}; 
key <AC08> {[ k, K, Up, Up]}; 
key <AC09> {[l, L, Right, Right]}; 
key <AC03> {[d, D, Delete, Delete]}; 
key <AD10> {[p, P, XF86ScrollUp, XF86ScrollUp]}; 
key <AB06> {[n, N, XF86ScrollDown, XF86ScrollDown]}; include "addkeys(caps_switch)"};
partial alphanumeric_keys xkb_symbols "ru" {
include "ru(typewriter)" name[Group1]= "Russia — Additional"; 
key.type[group1]="FOUR_LEVEL"; 
key <AC01> {[Cyrillic_ef, Cyrillic_EF, Home, Home]};
key <AD03> {[Cyrillic_u, Cyrillic_U, End, End]}; 
key <AC05> {[Cyrillic_pe, Cyrillic_PE, Home, End]};
key <AC06> {[Cyrillic_er, Cyrillic_ER, Left, Left]};
key <AC07> {[Cyrillic_o, Cyrillic_O, Down, Down]};
key <AC08> {[Cyrillic_el, Cyrillic_EL, Up, Up]}; 
key <AC09> {[Cyrillic_de, Cyrillic_DE, Right, Right]}; 
key <AE11> {[minus, underscore, emdash, hyphen]}; 
key <AE12> {[equal, plus, notequal, plusminus]}; 
key <AC03> {[Cyrillic_ve, Cyrillic_VE, Delete, Delete]}; 
key <AD11> {[Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft]}; 
key <AD12> {[Cyrillic_hardsign,Cyrillic_HARDSIGN, bracketright, braceright]}; 
key <AD10> {[Cyrillic_ze, Cyrillic_ZE, XF86ScrollUp, XF86ScrollUp]};
key <AB06> {[ Cyrillic_te, Cyrillic_TE, XF86ScrollDown, XF86ScrollDown]}; 
include "addkeys(caps_switch)";
partial alphanumeric_keys xkb_symbols "gr" { include "gr" name[Group1]= "Greek — Additional"; key.type[group1]="FOUR_LEVEL"; 
key <AC01> {[Greek_alpha, Greek_ALPHA, Home, Home]};
key <AD03> {[Greek_epsilon, Greek_EPSILON, End, End]}; 
key <AC05> {[Greek_gamma, Greek_GAMMA, Home, End]};
key <AC06> {[Greek_eta, Greek_ETA, Left, Left]}; 
key <AC07> {[Greek_xi, Greek_XI, Down, Down]}; 
key <AC08> {[Greek_kappa, Greek_KAPPA, Up, Up]}; 
key <AC09> {[Greek_lambda, Greek_LAMBDA, Right, Right]}; 
key <AC03> {[Greek_delta, Greek_DELTA, Delete, Delete]}; 
include "addkeys(caps_switch)" };
xkb_symbols "caps_switch" { key <CAPS>
{ type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level3_Shift ] }; 
modifier_map Mod5 { ISO_Level3_Shift }; 
replace key <II65> { type[Group1]="ONE_LEVEL",
actions[Group1] = [ SetGroup(group=3) ], actions[Group2] = [ SetGroup(group=3) ], actions[Group3] = [ ],
actions[Group4] = [ SetGroup(group=3) ] }; 
replace key <I21>
{ type[Group1]="ONE_LEVEL", type[Group2]="ONE_LEVEL",
actions[Group1] = [ SetGroup(group=1) ], actions[Group2] = [ SetGroup(group=1) ], 
actions[Group3] = [ SetGroup(group=1) ], actions[Group4] = [ ] }; 
replace key <RCTL> { actions[Group1] = [ SetGroup(group=2) ], 
actions[Group2] = [ SetGroup(group=1) ], actions[Group3] = [ SetGroup(group=1) ], 
actions[Group4] = [ ], locks = yes< }; };
Ну и в /etc/X11/xorg.conf:
 Option "XkbLayout" "addkeys(en),addkeys(ru),gr" Option    "XkbOptions" "grp_led:caps,compose:ralt"
Рус/лат переключается правым Ctrl, индикация лампочкой Caps. Временный переключатель в английскую раскладку на клавише <I21> (у меня она рядом с левым Ctrl). На клавише <II65> (у меня над <I21>) — временный переключатель в третью раскладку (греческие буквы иногда набрать). По Caps+буква — некоторые спецклавиши: Caps-hjkl — стрелки, Caps-a — Home, Caps-e — End, Caps-g — Home, Caps-G — End. На правом Alt — Compose.



Комментарии

аноним, Thu Jul 2 14:43:59 2009:
Блин, всё съехало... Рекомендую посмотреть схему в моноширинных шрифтах, тогда всё будет понятно
аноним, Thu Jul 2 14:40:39 2009:
Кстати, это не есть правильная раскладка с точки зрения закоренелого пользователя пишущих машин. Текста из ru-файла xkb привести сейчас не могу, сейчас просто приведу схему наиболее оптимального расположения клавиш верхнего четвертого ряда машинописной раскладки, к-рая использовалась достаточно долго в пиш. машинах:

4в.р: + 1 2 3 4 5 6 7 8 9 0 = \ (
4н.р: | № - / " : , . _ ? % ! ; )

Прочие ряды одинаковы с точки зрения typerwriter-like раскладок, и ё на своем месте и проч.
Плюсы - вы только посмотрите, как удобно набирать мигающий смайлик, например... Обязательно попробуйте, оно того стоит
аноним, Thu Jul 2 14:29:54 2009:
Кстати, это не есть правильная раскладка с точки зрения закоренелого пользователя пишущих машин. Текста из ru-файла xkb привести сейчас не могу, сейчас просто картинку приведу наиболее оптимальной машинописной раскладки, к-рая использовалась в пиш. машинах:

в.р + 1
н.р | №
аноним, Wed Jul 1 18:55:49 2009:
MMX,в 'никсах' можно и не такое.....))
MMX, Wed Jul 1 09:13:33 2009:
Вау!!!
я даже не догадывался, что можно так поизголяться над раскладками :)
Респект!

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

Новости:

Все новости на 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