Автор Гілка: Намагаюсь перемапувати клавіатуру (kbd).    (Прочитано 1789 раз)

Відсутній tech

  • Письменник
  • *****
  • дописів: 586
  • Карма: +1/-0
  • Гигик
Не розумію, як позначаються літери у мапах від kbd. Це октальна нотація? Приклад ru-yawerty.map
(/usr/share/kbd/keymaps/i386/querty/ru-yawerty.map):

                keycode 16 =    +q      
altgr           keycode 16 =    +0321
altgr   shift   keycode 16 =    +0361
                keycode 17 =    +w      
altgr           keycode 17 =    +0327
altgr   shift   keycode 17 =    +0367
                keycode 18 =    +e
altgr           keycode 18 =    +0305
altgr   shift   keycode 18 =    +0345
                keycode 19 =    +r
altgr           keycode 19 =    +0322
altgr   shift   keycode 19 =    +0362
                keycode 20 =    +t
altgr           keycode 20 =    +0324
altgr   shift   keycode 20 =    +0364
                keycode 21 =    +y
altgr           keycode 21 =    +0331
altgr   shift   keycode 21 =    +0371

маю на увазі всі ці +0371 +0331 +0324  +0322 +0305.

Все ще розбираюсь. Лише вчора почав. Дуже хочу перемапувати клавіатуру у текстовій  консолі на фонетичну (yawerty), страшенно зручно, але немає готової української мапи для loadkeys.  

Передивився RFC2319 від робочої групи KOI8-U. Так само сторінку KOI8-RU, але не знайшов подібної нотації знаків.
Можливо хтось направить у правильне русло.

P.S. Це стосується лише консолі. Не плутати з X-ами.
« Змінено: 2006-01-13 21:33:15 від tech »

tech(Guest)

  • Гість
/* it is octal. Me stupid... */
int main()
{
int a;
for (a = 163; a < 256; a++)
printf("%d\t0%o\t0x%x\t%c\n", a, a, a, a);
}

tech(Guest)

  • Гість
ОК, зробив. Не так вже важко було.
Одним словом, це для тих, хто не має кирилиці на клавіатурі, не
хоче ліпити щось на клавіатуру або розмальовувати її "хламастєром".
Завантажте http://uatech.atspace.com/data/ua-yawerty.map
збережіть її разом з рештою мап для kbd (на Slackware це каталог
/usr/share/kbd/keymaps/i386/qwerty/). У текстовій консолі повинні бути
завантажені відповідні шрифти (у тому самому Slackware, це
здійснюється рядком
setfont -v koi8u_8x16.psfu.gz
у /etc/rc.d/rc.font, i

for n in 1 2 3 4 5 6; do
    echo -ne "\033(K" > /dev/tty$n
done

(останне можна також у /etc/rc.d/rc.local).
Після цього у будь-якій консолі можете набрати

loadkeys ua-yawerty.map

В самому файлі мапи (він у KOI8-U кодуванні) намальовано відповідність
англійських у українських символів. Дуже схоже на те, як я це зробив
для Xrus, лише
добавив ґ і Ґ замість # й $.

Саме друкую, використовуючи цю мапу і lynx -display_charset=koi8-u
у текстовій консолі.