70 lines
4.3 KiB
Bash
70 lines
4.3 KiB
Bash
|
#!/bin/sh
|
|||
|
# vim:set sw=4 ts=8 fileencoding=utf8::Кодировка:UTF-8[АБЁЪЯабёъя]
|
|||
|
#
|
|||
|
# Авторское право (с) 2015, Сергей Леонтьев, leo@sai.msu.ru
|
|||
|
#
|
|||
|
# Разрешается повторное распространение и использование как в виде
|
|||
|
# исходника так и в двоичной форме, с модификациями или без, при
|
|||
|
# соблюдении следующих условий:
|
|||
|
#
|
|||
|
# 1. При повторном распространении исходного кода должно оставаться
|
|||
|
# указанное выше уведомление об авторском праве, этот список условий и
|
|||
|
# нижеследующий отказ от гарантий.
|
|||
|
#
|
|||
|
# 2. При повторном распространении двоичного кода должно
|
|||
|
# воспроизводиться указанное выше уведомление об авторском праве, этот
|
|||
|
# список условий и нижеследующий отказ от гарантий в документации
|
|||
|
# и/или в других материалах, поставляемых при распространении.
|
|||
|
#
|
|||
|
# 3. Ни название Крипто-Про, ни имена его сотрудников не могут быть
|
|||
|
# использованы в качестве поддержки или продвижения продуктов,
|
|||
|
# основанных на этом ПО без предварительного письменного разрешения.
|
|||
|
#
|
|||
|
# ЭТО ПРОГРАММА ПРЕДОСТАВЛЕНА БЕСПЛАТНО ДЕРЖАТЕЛЯМИ АВТОРСКИХ ПРАВ
|
|||
|
# И/ИЛИ ДРУГИМИ СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА
|
|||
|
# ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ
|
|||
|
# ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И
|
|||
|
# ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ
|
|||
|
# СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО В УСТНОЙ ФОРМЕ, НИ ОДИН
|
|||
|
# ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ
|
|||
|
# ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО РАЗРЕШЕНО
|
|||
|
# ВЫШЕ, НЕ ОТВЕТСТВЕННЫ ПЕРЕД ВАМИ ЗА УБЫТКИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ,
|
|||
|
# СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ПРОИСТЕКАЮЩИЕ ИЗ
|
|||
|
# ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО
|
|||
|
# НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ
|
|||
|
# НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ,
|
|||
|
# ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ),
|
|||
|
# ДАЖЕ ЕСЛИ ТАКОЙ ДЕРЖАТЕЛЬ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О
|
|||
|
# ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.
|
|||
|
#
|
|||
|
|
|||
|
#
|
|||
|
# Построение содержимого ресурса VT100.translations для xterm
|
|||
|
#
|
|||
|
|
|||
|
keysymdef=/opt/local/include/X11/keysymdef.h
|
|||
|
|
|||
|
national='ёъявертыуиопшщэасдфгхйклчюзьцжбнм'
|
|||
|
ascii='`=qwertyuiop[]\\asdfghjkl;'"'"'zxcvbnm'
|
|||
|
|
|||
|
national_unicode=$(
|
|||
|
printf "${national}" |
|
|||
|
iconv -t UCS-4LE |
|
|||
|
od -t x4 |
|
|||
|
cut -b 10- |
|
|||
|
tr '[a-z]' '[A-Z]' |
|
|||
|
sed 's/ 0*\([0-9A-F][0-9A-F][0-9A-F][0-9A-F]\)/U+\1/g'
|
|||
|
)
|
|||
|
|
|||
|
i=0
|
|||
|
for nc in $national_unicode ; do
|
|||
|
nc_name=$( sed -n \
|
|||
|
"/$nc/s/^[[:space:]]*#[[:space:]]*define[[:space:]]*XK_\([^[:space:]]*\).*/\1/p" \
|
|||
|
"${keysymdef}" \
|
|||
|
)
|
|||
|
i=$(($i + 1))
|
|||
|
printf " Alt <Key>%s:\tstring(0x1b) string(\"%s\") \\\\n\\\\\n" \
|
|||
|
$nc_name \
|
|||
|
$(echo "${ascii}" | cut -b $i)
|
|||
|
done
|