Better support of key modificators on Unix-like terminals, patch from Serguei E. Leontiev

This commit is contained in:
Semen Panevin 2015-11-28 07:03:46 +00:00
parent b90d8af179
commit 1538ee7082
24 changed files with 6214 additions and 15 deletions

View File

@ -164,7 +164,7 @@ endif
endif endif
CFLAGS+=-funsigned-char -g $(INCS) -Wall -Wno-long-long -Wno-sign-compare -pedantic -O2 -DPRAGMA_PACK # -fomit-frame-pointer CFLAGS+=-funsigned-char -g $(INCS) -Wall -Wno-long-long -Wno-sign-compare -pedantic -O2 -DPRAGMA_PACK # -fomit-frame-pointer
LNKFLAGS+=-g LNKFLAGS+=-g
CPPFLAGS+=$(CFLAGS) -fno-pic -fno-rtti # -fno-exceptions CPPFLAGS+=$(CFLAGS)
# Run `make USE_NCURSES=0` if you dislike ncurses # Run `make USE_NCURSES=0` if you dislike ncurses
# Run `make BUGGY_NCURSES=1` if your build requires additional keypresses to # Run `make BUGGY_NCURSES=1` if your build requires additional keypresses to

View File

@ -19,6 +19,19 @@
# international builds since latin-1 support will be broken. # international builds since latin-1 support will be broken.
# "ICONV=1" Use iconv library for recoding text. Experimental! Do not # "ICONV=1" Use iconv library for recoding text. Experimental! Do not
# set this if you don't sure! # set this if you don't sure!
# "OLD_SHIFT_FN=1" Use original code, where use: F1-F12 and
# <Shift>+F3-F12 mapped to F15-F22.
#
# New code, by default, for orthodox terminals:
# xterm R6, PuTTY, urxvt, mapped <Shift>+F1-F10 to
# F11-F20 and <Ctrl>+<Shift>+F1-F10 to <Ctrl>+F11-F20.
#
# For modern terminals: xterm R7, gnome-terminal,
# Linux & FreeBSD console, DECFNK, mapped:
# <Shift>+F1-F12 to key_fn13 - key_fn24,
# <Ctrl>+F1-F12 to key_fn25 - key_fn36,
# <Ctrl>+<Shift>+F1-F12 to key_fn37 - key_fn48,
# <Alt>+F1-F12 to key_fn49 - key_fn60
include GNUmakef.def include GNUmakef.def
include Config.def include Config.def

View File

@ -0,0 +1,111 @@
# vim:set sw=4 ts=8 tw=72 fileencoding=utf8::Кодировка:UTF-8[АБЁЪЯабёъя]
Описание файлов каталога golded+/contrib/Unix
1. putty-0-65.ti - расширенное terminfo описание терминала putty 0.65
1.1 putty и putty-256color описание терминала с возможностями
terminfo (capname): kri/kind (scroll-backward/forward key).
1.2 Применение в качестве собственного описания обычного
пользователя (не root):
$ mkdir $HOME/.terminfo
$ tic -x contrib/Unix/putty-0-65.ti
$ TERM=putty-256color; export TERM
1.3 Возможно лучше скачать и скомпилировать последнюю версию
terminfo.src
<http://invisible-island.net/ncurses/ncurses.faq.html#which_terminfo>
2. XTerm-KOI8-U-strict.terminal - файл описания Терминала для OS X 10.9,
10.10 и 10.11 с максимально полным соответствием XTerm R7. (Получен
с помощью make-term-profiles.sh и xterm.plist-template)
2.1 Определяет Esc-последовательности клавиш согласно XTerm R7 по
terminfo.src Revision: 1.554 $ Date: 2015/10/24 16:00:04
<http://invisible-island.net/ncurses/ncurses.faq.html#which_terminfo>
2.2 Задаёт преобразование <option>+<национальная буква> в
<Esc><национальная буква> для стандартных белорусских, русских и
украинских букв максимально близким к XTerm образом, остались
отличия в части обработки [caps lock].
2.3 Клавиша "Ins" эмулируется , либо F13 с модификаторами, либо на
узких клавиатурах, <control>+<option>+I без модификаторов.
2.4 XTerm-*-reverse.terminal - меняет местами "option" и "control"
таким образом, что бы передвижение по словам было таким же как в
других приложениях OS X. Возможно, предпочтительнее для тех, кто
использует Golded+ только под OS X.
2.5 XTerm-*-combined.terminal - <option>+<стрелка> и
<control>+<стрелка> порождают одинаковые действия. Возможно,
предпочтительнее для тех, кто не использует комбинаций Golded+
<Alt>+<стрелка>.
2.6 XTerm-UTF-8-*.terminal - предназначен для запуска Golded+ под
screen или luit. Например, для использования белорусского языка,
т.к. в Терминал OS X нет поддержки кодировки KOI8-RU.
2.7 XTerm-KOI8-R-*.terminal - предназначен для эстетического
созерцания псевдографики.
2.8 Применение:
$ open contrib/Unix/GED-KOI8-U-strict.terminal
или открыть в Finder.
2.9 Использование на 10.8:
- Apple Terminal 2.3 (309) игнорирует назначения для
<option>+<национальная буква>, в остальном, вроде бы
нормально;
- Из каталога MacOSX на Яндекс.Диск
https://yadi.sk/d/DKzCSJGhkRT8Y можно скачать файл
at-2.4-326-10.9.5.tar.gz (предназначен только для
пользователей компьютеров Apple). Раскрыть его в домашнем
каталоге.
- Перед использованием рекомендуется сохранить конфигурацию
Терминала командой:
$ defaults export com.apple.Terminal Save-Terminal.plist
Если, в будущем, возникнут конфликты между версиям 2.3 (309) и
2.4 (326) можно будет восстановить сохранённую конфигурацию
командой:
$ defaults import com.apple.Terminal Save-Terminal.plist
и перезапустить терминал.
- При использовании Automator и AppleScript могут возникать
определённые сложности, т.к. в системе будет два приложения с
идентичными названиями и другими атрибутами. Типа ключ '-a' у
команды `open' и т.п.
- Так же, как вариант, вместо Терминала можно установить X11 и
использовать `koi8rxterm'. В нём, правда настройки
по-умолчанию странные. Alt - нет, Meta - <command>, и Meta
клавиши выдают Esc. В общем, с помощью xmodmap и какой-то
матери настроить наверное можно.
3. koi8rxterm-phonetic.sh - макет запуска koi8rxterm с заменой
<Alt>+<национальная буква> для одного из вариантов русской
фонетической клавиатуры ЯВЕРТЫ.
4. make-alt-translations.sh - Построение содержимого ресурса
VT100.translations для xterm
5. ged-vttest-lite.py - Python скрипт для тестирования соответствия
описания терминала, terminfo и самого терминала.

View File

@ -0,0 +1,490 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CharacterEncoding</key>
<integer>2147486210</integer>
<key>CursorBlink</key>
<true/>
<key>Linewrap</key>
<true/>
<key>ProfileCurrentVersion</key>
<real>2.04</real>
<key>ScrollAlternateScreen</key>
<false/>
<key>VisualBell</key>
<true/>
<key>WindowTitle</key>
<string>XTerm KOI8-R combined</string>
<key>columnCount</key>
<integer>130</integer>
<key>commentCreator</key>
<string>Created by leo at Wed Nov 18 05:57:10 MSK 2015</string>
<key>commentGenerator</key>
<string>Generated by make-term-profiles.sh, v 1, 18-11-2015</string>
<key>commentTerminal</key>
<string># Reconstructed via infocmp from file: /var/folders/wy/z0gbkfgs7mv24ryqkdm90rm40009rh/T/mtp-XXXXXX.A2Aqm9VG/78/xterm
xterm|xterm terminal emulator (X Window System),</string>
<key>commentTerminfoVersion</key>
<string>/Users/leo/Downloads/terminfo.src, Revision: 1.554
Date: 2015/10/24 16:00:04 </string>
<key>deleteSendsBackspace</key>
<false/>
<key>keyMapBoundKeys</key>
<dict>
<key>$F700</key>
<string></string>
<key>$F701</key>
<string></string>
<key>$F702</key>
<string></string>
<key>$F703</key>
<string></string>
<key>$F704</key>
<string></string>
<key>$F705</key>
<string></string>
<key>$F706</key>
<string></string>
<key>$F707</key>
<string></string>
<key>$F708</key>
<string>[15;2~</string>
<key>$F709</key>
<string>[17;2~</string>
<key>$F70A</key>
<string>[18;2~</string>
<key>$F70B</key>
<string>[19;2~</string>
<key>$F70C</key>
<string>[20;2~</string>
<key>$F70D</key>
<string>[21;2~</string>
<key>$F70E</key>
<string>[23;2~</string>
<key>$F70F</key>
<string>[24;2~</string>
<key>$F710</key>
<string>[2;2~</string>
<key>$F728</key>
<string>[3;2~</string>
<key>$F729</key>
<string></string>
<key>$F72B</key>
<string></string>
<key>$F72C</key>
<string>[5;2~</string>
<key>$F72D</key>
<string>[6;2~</string>
<key>0019</key>
<string></string>
<key>F700</key>
<string>OA</string>
<key>F701</key>
<string>OB</string>
<key>F702</key>
<string>OD</string>
<key>F703</key>
<string>OC</string>
<key>F704</key>
<string>OP</string>
<key>F705</key>
<string>OQ</string>
<key>F706</key>
<string>OR</string>
<key>F707</key>
<string>OS</string>
<key>F708</key>
<string>[15~</string>
<key>F709</key>
<string>[17~</string>
<key>F70A</key>
<string>[18~</string>
<key>F70B</key>
<string>[19~</string>
<key>F70C</key>
<string>[20~</string>
<key>F70D</key>
<string>[21~</string>
<key>F70E</key>
<string>[23~</string>
<key>F70F</key>
<string>[24~</string>
<key>F710</key>
<string>[2~</string>
<key>F728</key>
<string>[3~</string>
<key>F729</key>
<string>OH</string>
<key>F72B</key>
<string>OF</string>
<key>F72C</key>
<string>[5~</string>
<key>F72D</key>
<string>[6~</string>
<key>^$F700</key>
<string></string>
<key>^$F701</key>
<string></string>
<key>^$F702</key>
<string></string>
<key>^$F703</key>
<string></string>
<key>^$F704</key>
<string></string>
<key>^$F705</key>
<string></string>
<key>^$F706</key>
<string></string>
<key>^$F707</key>
<string></string>
<key>^$F708</key>
<string>[15;6~</string>
<key>^$F709</key>
<string>[17;6~</string>
<key>^$F70A</key>
<string>[18;6~</string>
<key>^$F70B</key>
<string>[19;6~</string>
<key>^$F70C</key>
<string>[20;6~</string>
<key>^$F70D</key>
<string>[21;6~</string>
<key>^$F70E</key>
<string>[23;6~</string>
<key>^$F70F</key>
<string>[24;6~</string>
<key>^$F710</key>
<string>[2;6~</string>
<key>^$F728</key>
<string>[3;6~</string>
<key>^$F729</key>
<string></string>
<key>^$F72B</key>
<string></string>
<key>^$F72C</key>
<string>[5;6~</string>
<key>^$F72D</key>
<string>[6;6~</string>
<key>^F700</key>
<string></string>
<key>^F701</key>
<string></string>
<key>^F702</key>
<string></string>
<key>^F703</key>
<string></string>
<key>^F704</key>
<string></string>
<key>^F705</key>
<string></string>
<key>^F706</key>
<string></string>
<key>^F707</key>
<string></string>
<key>^F708</key>
<string>[15;5~</string>
<key>^F709</key>
<string>[17;5~</string>
<key>^F70A</key>
<string>[18;5~</string>
<key>^F70B</key>
<string>[19;5~</string>
<key>^F70C</key>
<string>[20;5~</string>
<key>^F70D</key>
<string>[21;5~</string>
<key>^F70E</key>
<string>[23;5~</string>
<key>^F70F</key>
<string>[24;5~</string>
<key>^F710</key>
<string>[2;5~</string>
<key>^F728</key>
<string>[3;5~</string>
<key>^F729</key>
<string></string>
<key>^F72B</key>
<string></string>
<key>^F72C</key>
<string>[5;5~</string>
<key>^F72D</key>
<string>[6;5~</string>
<key>^~$0069</key>
<string>[2;2~</string>
<key>^~0069</key>
<string>[2~</string>
<key>^~F700</key>
<string></string>
<key>^~F701</key>
<string></string>
<key>^~F702</key>
<string></string>
<key>^~F703</key>
<string></string>
<key>^~F710</key>
<string>[2;7~</string>
<key>^~F728</key>
<string>[3;7~</string>
<key>^~F729</key>
<string></string>
<key>^~F72B</key>
<string></string>
<key>^~F72C</key>
<string>[5;7~</string>
<key>^~F72D</key>
<string>[6;7~</string>
<key>~$0401</key>
<string>Ё</string>
<key>~$0404</key>
<string>Є</string>
<key>~$0406</key>
<string>І</string>
<key>~$0407</key>
<string>Ї</string>
<key>~$040E</key>
<string>Ў</string>
<key>~$0410</key>
<string>А</string>
<key>~$0411</key>
<string>Б</string>
<key>~$0412</key>
<string>В</string>
<key>~$0413</key>
<string>Г</string>
<key>~$0414</key>
<string>Д</string>
<key>~$0415</key>
<string>Е</string>
<key>~$0416</key>
<string>Ж</string>
<key>~$0417</key>
<string>З</string>
<key>~$0418</key>
<string>И</string>
<key>~$0419</key>
<string>Й</string>
<key>~$041A</key>
<string>К</string>
<key>~$041B</key>
<string>Л</string>
<key>~$041C</key>
<string>М</string>
<key>~$041D</key>
<string>Н</string>
<key>~$041E</key>
<string>О</string>
<key>~$041F</key>
<string>П</string>
<key>~$0420</key>
<string>Р</string>
<key>~$0421</key>
<string>С</string>
<key>~$0422</key>
<string>Т</string>
<key>~$0423</key>
<string>У</string>
<key>~$0424</key>
<string>Ф</string>
<key>~$0425</key>
<string>Х</string>
<key>~$0426</key>
<string>Ц</string>
<key>~$0427</key>
<string>Ч</string>
<key>~$0428</key>
<string>Ш</string>
<key>~$0429</key>
<string>Щ</string>
<key>~$042A</key>
<string>Ъ</string>
<key>~$042B</key>
<string>Ы</string>
<key>~$042C</key>
<string>Ь</string>
<key>~$042D</key>
<string>Э</string>
<key>~$042E</key>
<string>Ю</string>
<key>~$042F</key>
<string>Я</string>
<key>~$0490</key>
<string>Ґ</string>
<key>~$F700</key>
<string></string>
<key>~$F701</key>
<string></string>
<key>~$F702</key>
<string></string>
<key>~$F703</key>
<string></string>
<key>~$F704</key>
<string></string>
<key>~$F705</key>
<string></string>
<key>~$F706</key>
<string></string>
<key>~$F710</key>
<string>[2;4~</string>
<key>~$F728</key>
<string>[3;4~</string>
<key>~$F729</key>
<string></string>
<key>~$F72B</key>
<string></string>
<key>~$F72C</key>
<string>[5;4~</string>
<key>~$F72D</key>
<string>[6;4~</string>
<key>~0019</key>
<string></string>
<key>~007F</key>
<string></string>
<key>~0430</key>
<string>а</string>
<key>~0431</key>
<string>б</string>
<key>~0432</key>
<string>в</string>
<key>~0433</key>
<string>г</string>
<key>~0434</key>
<string>д</string>
<key>~0435</key>
<string>е</string>
<key>~0436</key>
<string>ж</string>
<key>~0437</key>
<string>з</string>
<key>~0438</key>
<string>и</string>
<key>~0439</key>
<string>й</string>
<key>~043A</key>
<string>к</string>
<key>~043B</key>
<string>л</string>
<key>~043C</key>
<string>м</string>
<key>~043D</key>
<string>н</string>
<key>~043E</key>
<string>о</string>
<key>~043F</key>
<string>п</string>
<key>~0440</key>
<string>р</string>
<key>~0441</key>
<string>с</string>
<key>~0442</key>
<string>т</string>
<key>~0443</key>
<string>у</string>
<key>~0444</key>
<string>ф</string>
<key>~0445</key>
<string>х</string>
<key>~0446</key>
<string>ц</string>
<key>~0447</key>
<string>ч</string>
<key>~0448</key>
<string>ш</string>
<key>~0449</key>
<string>щ</string>
<key>~044A</key>
<string>ъ</string>
<key>~044B</key>
<string>ы</string>
<key>~044C</key>
<string>ь</string>
<key>~044D</key>
<string>э</string>
<key>~044E</key>
<string>ю</string>
<key>~044F</key>
<string>я</string>
<key>~0451</key>
<string>ё</string>
<key>~0454</key>
<string>є</string>
<key>~0456</key>
<string>і</string>
<key>~0457</key>
<string>ї</string>
<key>~045E</key>
<string>ў</string>
<key>~0491</key>
<string>ґ</string>
<key>~F700</key>
<string></string>
<key>~F701</key>
<string></string>
<key>~F702</key>
<string></string>
<key>~F703</key>
<string></string>
<key>~F704</key>
<string></string>
<key>~F705</key>
<string></string>
<key>~F706</key>
<string></string>
<key>~F707</key>
<string></string>
<key>~F708</key>
<string>[15;3~</string>
<key>~F709</key>
<string>[17;3~</string>
<key>~F70A</key>
<string>[18;3~</string>
<key>~F70B</key>
<string>[19;3~</string>
<key>~F70C</key>
<string>[20;3~</string>
<key>~F70D</key>
<string>[21;3~</string>
<key>~F70E</key>
<string>[23;3~</string>
<key>~F70F</key>
<string>[24;3~</string>
<key>~F710</key>
<string>[2;3~</string>
<key>~F728</key>
<string>OM</string>
<key>~F729</key>
<string></string>
<key>~F72B</key>
<string></string>
<key>~F72C</key>
<string>[5;3~</string>
<key>~F72D</key>
<string>[6;3~</string>
</dict>
<key>name</key>
<string>XTerm-KOI8-R-combined</string>
<key>noWarnProcesses</key>
<array>
<dict>
<key>ProcessName</key>
<string>screen</string>
</dict>
<dict>
<key>ProcessName</key>
<string>tmux</string>
</dict>
<dict>
<key>ProcessName</key>
<string>luit</string>
</dict>
</array>
<key>rowCount</key>
<integer>33</integer>
<key>shellExitAction</key>
<integer>1</integer>
<key>type</key>
<string>Window Settings</string>
<key>useOptionAsMetaKey</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,490 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CharacterEncoding</key>
<integer>2147486210</integer>
<key>CursorBlink</key>
<true/>
<key>Linewrap</key>
<true/>
<key>ProfileCurrentVersion</key>
<real>2.04</real>
<key>ScrollAlternateScreen</key>
<false/>
<key>VisualBell</key>
<true/>
<key>WindowTitle</key>
<string>XTerm KOI8-R reverse</string>
<key>columnCount</key>
<integer>130</integer>
<key>commentCreator</key>
<string>Created by leo at Wed Nov 18 05:57:10 MSK 2015</string>
<key>commentGenerator</key>
<string>Generated by make-term-profiles.sh, v 1, 18-11-2015</string>
<key>commentTerminal</key>
<string># Reconstructed via infocmp from file: /var/folders/wy/z0gbkfgs7mv24ryqkdm90rm40009rh/T/mtp-XXXXXX.A2Aqm9VG/78/xterm
xterm|xterm terminal emulator (X Window System),</string>
<key>commentTerminfoVersion</key>
<string>/Users/leo/Downloads/terminfo.src, Revision: 1.554
Date: 2015/10/24 16:00:04 </string>
<key>deleteSendsBackspace</key>
<false/>
<key>keyMapBoundKeys</key>
<dict>
<key>$F700</key>
<string></string>
<key>$F701</key>
<string></string>
<key>$F702</key>
<string></string>
<key>$F703</key>
<string></string>
<key>$F704</key>
<string></string>
<key>$F705</key>
<string></string>
<key>$F706</key>
<string></string>
<key>$F707</key>
<string></string>
<key>$F708</key>
<string>[15;2~</string>
<key>$F709</key>
<string>[17;2~</string>
<key>$F70A</key>
<string>[18;2~</string>
<key>$F70B</key>
<string>[19;2~</string>
<key>$F70C</key>
<string>[20;2~</string>
<key>$F70D</key>
<string>[21;2~</string>
<key>$F70E</key>
<string>[23;2~</string>
<key>$F70F</key>
<string>[24;2~</string>
<key>$F710</key>
<string>[2;2~</string>
<key>$F728</key>
<string>[3;2~</string>
<key>$F729</key>
<string></string>
<key>$F72B</key>
<string></string>
<key>$F72C</key>
<string>[5;2~</string>
<key>$F72D</key>
<string>[6;2~</string>
<key>0019</key>
<string></string>
<key>F700</key>
<string>OA</string>
<key>F701</key>
<string>OB</string>
<key>F702</key>
<string>OD</string>
<key>F703</key>
<string>OC</string>
<key>F704</key>
<string>OP</string>
<key>F705</key>
<string>OQ</string>
<key>F706</key>
<string>OR</string>
<key>F707</key>
<string>OS</string>
<key>F708</key>
<string>[15~</string>
<key>F709</key>
<string>[17~</string>
<key>F70A</key>
<string>[18~</string>
<key>F70B</key>
<string>[19~</string>
<key>F70C</key>
<string>[20~</string>
<key>F70D</key>
<string>[21~</string>
<key>F70E</key>
<string>[23~</string>
<key>F70F</key>
<string>[24~</string>
<key>F710</key>
<string>[2~</string>
<key>F728</key>
<string>[3~</string>
<key>F729</key>
<string>OH</string>
<key>F72B</key>
<string>OF</string>
<key>F72C</key>
<string>[5~</string>
<key>F72D</key>
<string>[6~</string>
<key>^$F700</key>
<string></string>
<key>^$F701</key>
<string></string>
<key>^$F702</key>
<string></string>
<key>^$F703</key>
<string></string>
<key>^$F704</key>
<string></string>
<key>^$F705</key>
<string></string>
<key>^$F706</key>
<string></string>
<key>^$F707</key>
<string></string>
<key>^$F708</key>
<string>[15;6~</string>
<key>^$F709</key>
<string>[17;6~</string>
<key>^$F70A</key>
<string>[18;6~</string>
<key>^$F70B</key>
<string>[19;6~</string>
<key>^$F70C</key>
<string>[20;6~</string>
<key>^$F70D</key>
<string>[21;6~</string>
<key>^$F70E</key>
<string>[23;6~</string>
<key>^$F70F</key>
<string>[24;6~</string>
<key>^$F710</key>
<string>[2;6~</string>
<key>^$F728</key>
<string>[3;6~</string>
<key>^$F729</key>
<string></string>
<key>^$F72B</key>
<string></string>
<key>^$F72C</key>
<string>[5;6~</string>
<key>^$F72D</key>
<string>[6;6~</string>
<key>^F700</key>
<string></string>
<key>^F701</key>
<string></string>
<key>^F702</key>
<string></string>
<key>^F703</key>
<string></string>
<key>^F704</key>
<string></string>
<key>^F705</key>
<string></string>
<key>^F706</key>
<string></string>
<key>^F707</key>
<string></string>
<key>^F708</key>
<string>[15;5~</string>
<key>^F709</key>
<string>[17;5~</string>
<key>^F70A</key>
<string>[18;5~</string>
<key>^F70B</key>
<string>[19;5~</string>
<key>^F70C</key>
<string>[20;5~</string>
<key>^F70D</key>
<string>[21;5~</string>
<key>^F70E</key>
<string>[23;5~</string>
<key>^F70F</key>
<string>[24;5~</string>
<key>^F710</key>
<string>[2;5~</string>
<key>^F728</key>
<string>[3;5~</string>
<key>^F729</key>
<string></string>
<key>^F72B</key>
<string></string>
<key>^F72C</key>
<string>[5;5~</string>
<key>^F72D</key>
<string>[6;5~</string>
<key>^~$0069</key>
<string>[2;2~</string>
<key>^~0069</key>
<string>[2~</string>
<key>^~F700</key>
<string></string>
<key>^~F701</key>
<string></string>
<key>^~F702</key>
<string></string>
<key>^~F703</key>
<string></string>
<key>^~F710</key>
<string>[2;7~</string>
<key>^~F728</key>
<string>[3;7~</string>
<key>^~F729</key>
<string></string>
<key>^~F72B</key>
<string></string>
<key>^~F72C</key>
<string>[5;7~</string>
<key>^~F72D</key>
<string>[6;7~</string>
<key>~$0401</key>
<string>Ё</string>
<key>~$0404</key>
<string>Є</string>
<key>~$0406</key>
<string>І</string>
<key>~$0407</key>
<string>Ї</string>
<key>~$040E</key>
<string>Ў</string>
<key>~$0410</key>
<string>А</string>
<key>~$0411</key>
<string>Б</string>
<key>~$0412</key>
<string>В</string>
<key>~$0413</key>
<string>Г</string>
<key>~$0414</key>
<string>Д</string>
<key>~$0415</key>
<string>Е</string>
<key>~$0416</key>
<string>Ж</string>
<key>~$0417</key>
<string>З</string>
<key>~$0418</key>
<string>И</string>
<key>~$0419</key>
<string>Й</string>
<key>~$041A</key>
<string>К</string>
<key>~$041B</key>
<string>Л</string>
<key>~$041C</key>
<string>М</string>
<key>~$041D</key>
<string>Н</string>
<key>~$041E</key>
<string>О</string>
<key>~$041F</key>
<string>П</string>
<key>~$0420</key>
<string>Р</string>
<key>~$0421</key>
<string>С</string>
<key>~$0422</key>
<string>Т</string>
<key>~$0423</key>
<string>У</string>
<key>~$0424</key>
<string>Ф</string>
<key>~$0425</key>
<string>Х</string>
<key>~$0426</key>
<string>Ц</string>
<key>~$0427</key>
<string>Ч</string>
<key>~$0428</key>
<string>Ш</string>
<key>~$0429</key>
<string>Щ</string>
<key>~$042A</key>
<string>Ъ</string>
<key>~$042B</key>
<string>Ы</string>
<key>~$042C</key>
<string>Ь</string>
<key>~$042D</key>
<string>Э</string>
<key>~$042E</key>
<string>Ю</string>
<key>~$042F</key>
<string>Я</string>
<key>~$0490</key>
<string>Ґ</string>
<key>~$F700</key>
<string></string>
<key>~$F701</key>
<string></string>
<key>~$F702</key>
<string></string>
<key>~$F703</key>
<string></string>
<key>~$F704</key>
<string></string>
<key>~$F705</key>
<string></string>
<key>~$F706</key>
<string></string>
<key>~$F710</key>
<string>[2;4~</string>
<key>~$F728</key>
<string>[3;4~</string>
<key>~$F729</key>
<string></string>
<key>~$F72B</key>
<string></string>
<key>~$F72C</key>
<string>[5;4~</string>
<key>~$F72D</key>
<string>[6;4~</string>
<key>~0019</key>
<string></string>
<key>~007F</key>
<string></string>
<key>~0430</key>
<string>а</string>
<key>~0431</key>
<string>б</string>
<key>~0432</key>
<string>в</string>
<key>~0433</key>
<string>г</string>
<key>~0434</key>
<string>д</string>
<key>~0435</key>
<string>е</string>
<key>~0436</key>
<string>ж</string>
<key>~0437</key>
<string>з</string>
<key>~0438</key>
<string>и</string>
<key>~0439</key>
<string>й</string>
<key>~043A</key>
<string>к</string>
<key>~043B</key>
<string>л</string>
<key>~043C</key>
<string>м</string>
<key>~043D</key>
<string>н</string>
<key>~043E</key>
<string>о</string>
<key>~043F</key>
<string>п</string>
<key>~0440</key>
<string>р</string>
<key>~0441</key>
<string>с</string>
<key>~0442</key>
<string>т</string>
<key>~0443</key>
<string>у</string>
<key>~0444</key>
<string>ф</string>
<key>~0445</key>
<string>х</string>
<key>~0446</key>
<string>ц</string>
<key>~0447</key>
<string>ч</string>
<key>~0448</key>
<string>ш</string>
<key>~0449</key>
<string>щ</string>
<key>~044A</key>
<string>ъ</string>
<key>~044B</key>
<string>ы</string>
<key>~044C</key>
<string>ь</string>
<key>~044D</key>
<string>э</string>
<key>~044E</key>
<string>ю</string>
<key>~044F</key>
<string>я</string>
<key>~0451</key>
<string>ё</string>
<key>~0454</key>
<string>є</string>
<key>~0456</key>
<string>і</string>
<key>~0457</key>
<string>ї</string>
<key>~045E</key>
<string>ў</string>
<key>~0491</key>
<string>ґ</string>
<key>~F700</key>
<string></string>
<key>~F701</key>
<string></string>
<key>~F702</key>
<string></string>
<key>~F703</key>
<string></string>
<key>~F704</key>
<string></string>
<key>~F705</key>
<string></string>
<key>~F706</key>
<string></string>
<key>~F707</key>
<string></string>
<key>~F708</key>
<string>[15;3~</string>
<key>~F709</key>
<string>[17;3~</string>
<key>~F70A</key>
<string>[18;3~</string>
<key>~F70B</key>
<string>[19;3~</string>
<key>~F70C</key>
<string>[20;3~</string>
<key>~F70D</key>
<string>[21;3~</string>
<key>~F70E</key>
<string>[23;3~</string>
<key>~F70F</key>
<string>[24;3~</string>
<key>~F710</key>
<string>[2;3~</string>
<key>~F728</key>
<string>OM</string>
<key>~F729</key>
<string></string>
<key>~F72B</key>
<string></string>
<key>~F72C</key>
<string>[5;3~</string>
<key>~F72D</key>
<string>[6;3~</string>
</dict>
<key>name</key>
<string>XTerm-KOI8-R-reverse</string>
<key>noWarnProcesses</key>
<array>
<dict>
<key>ProcessName</key>
<string>screen</string>
</dict>
<dict>
<key>ProcessName</key>
<string>tmux</string>
</dict>
<dict>
<key>ProcessName</key>
<string>luit</string>
</dict>
</array>
<key>rowCount</key>
<integer>33</integer>
<key>shellExitAction</key>
<integer>1</integer>
<key>type</key>
<string>Window Settings</string>
<key>useOptionAsMetaKey</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,490 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CharacterEncoding</key>
<integer>2147486210</integer>
<key>CursorBlink</key>
<true/>
<key>Linewrap</key>
<true/>
<key>ProfileCurrentVersion</key>
<real>2.04</real>
<key>ScrollAlternateScreen</key>
<false/>
<key>VisualBell</key>
<true/>
<key>WindowTitle</key>
<string>XTerm KOI8-R strict</string>
<key>columnCount</key>
<integer>130</integer>
<key>commentCreator</key>
<string>Created by leo at Wed Nov 18 05:57:10 MSK 2015</string>
<key>commentGenerator</key>
<string>Generated by make-term-profiles.sh, v 1, 18-11-2015</string>
<key>commentTerminal</key>
<string># Reconstructed via infocmp from file: /var/folders/wy/z0gbkfgs7mv24ryqkdm90rm40009rh/T/mtp-XXXXXX.A2Aqm9VG/78/xterm
xterm|xterm terminal emulator (X Window System),</string>
<key>commentTerminfoVersion</key>
<string>/Users/leo/Downloads/terminfo.src, Revision: 1.554
Date: 2015/10/24 16:00:04 </string>
<key>deleteSendsBackspace</key>
<false/>
<key>keyMapBoundKeys</key>
<dict>
<key>$F700</key>
<string></string>
<key>$F701</key>
<string></string>
<key>$F702</key>
<string></string>
<key>$F703</key>
<string></string>
<key>$F704</key>
<string></string>
<key>$F705</key>
<string></string>
<key>$F706</key>
<string></string>
<key>$F707</key>
<string></string>
<key>$F708</key>
<string>[15;2~</string>
<key>$F709</key>
<string>[17;2~</string>
<key>$F70A</key>
<string>[18;2~</string>
<key>$F70B</key>
<string>[19;2~</string>
<key>$F70C</key>
<string>[20;2~</string>
<key>$F70D</key>
<string>[21;2~</string>
<key>$F70E</key>
<string>[23;2~</string>
<key>$F70F</key>
<string>[24;2~</string>
<key>$F710</key>
<string>[2;2~</string>
<key>$F728</key>
<string>[3;2~</string>
<key>$F729</key>
<string></string>
<key>$F72B</key>
<string></string>
<key>$F72C</key>
<string>[5;2~</string>
<key>$F72D</key>
<string>[6;2~</string>
<key>0019</key>
<string></string>
<key>F700</key>
<string>OA</string>
<key>F701</key>
<string>OB</string>
<key>F702</key>
<string>OD</string>
<key>F703</key>
<string>OC</string>
<key>F704</key>
<string>OP</string>
<key>F705</key>
<string>OQ</string>
<key>F706</key>
<string>OR</string>
<key>F707</key>
<string>OS</string>
<key>F708</key>
<string>[15~</string>
<key>F709</key>
<string>[17~</string>
<key>F70A</key>
<string>[18~</string>
<key>F70B</key>
<string>[19~</string>
<key>F70C</key>
<string>[20~</string>
<key>F70D</key>
<string>[21~</string>
<key>F70E</key>
<string>[23~</string>
<key>F70F</key>
<string>[24~</string>
<key>F710</key>
<string>[2~</string>
<key>F728</key>
<string>[3~</string>
<key>F729</key>
<string>OH</string>
<key>F72B</key>
<string>OF</string>
<key>F72C</key>
<string>[5~</string>
<key>F72D</key>
<string>[6~</string>
<key>^$F700</key>
<string></string>
<key>^$F701</key>
<string></string>
<key>^$F702</key>
<string></string>
<key>^$F703</key>
<string></string>
<key>^$F704</key>
<string></string>
<key>^$F705</key>
<string></string>
<key>^$F706</key>
<string></string>
<key>^$F707</key>
<string></string>
<key>^$F708</key>
<string>[15;6~</string>
<key>^$F709</key>
<string>[17;6~</string>
<key>^$F70A</key>
<string>[18;6~</string>
<key>^$F70B</key>
<string>[19;6~</string>
<key>^$F70C</key>
<string>[20;6~</string>
<key>^$F70D</key>
<string>[21;6~</string>
<key>^$F70E</key>
<string>[23;6~</string>
<key>^$F70F</key>
<string>[24;6~</string>
<key>^$F710</key>
<string>[2;6~</string>
<key>^$F728</key>
<string>[3;6~</string>
<key>^$F729</key>
<string></string>
<key>^$F72B</key>
<string></string>
<key>^$F72C</key>
<string>[5;6~</string>
<key>^$F72D</key>
<string>[6;6~</string>
<key>^F700</key>
<string></string>
<key>^F701</key>
<string></string>
<key>^F702</key>
<string></string>
<key>^F703</key>
<string></string>
<key>^F704</key>
<string></string>
<key>^F705</key>
<string></string>
<key>^F706</key>
<string></string>
<key>^F707</key>
<string></string>
<key>^F708</key>
<string>[15;5~</string>
<key>^F709</key>
<string>[17;5~</string>
<key>^F70A</key>
<string>[18;5~</string>
<key>^F70B</key>
<string>[19;5~</string>
<key>^F70C</key>
<string>[20;5~</string>
<key>^F70D</key>
<string>[21;5~</string>
<key>^F70E</key>
<string>[23;5~</string>
<key>^F70F</key>
<string>[24;5~</string>
<key>^F710</key>
<string>[2;5~</string>
<key>^F728</key>
<string>[3;5~</string>
<key>^F729</key>
<string></string>
<key>^F72B</key>
<string></string>
<key>^F72C</key>
<string>[5;5~</string>
<key>^F72D</key>
<string>[6;5~</string>
<key>^~$0069</key>
<string>[2;2~</string>
<key>^~0069</key>
<string>[2~</string>
<key>^~F700</key>
<string></string>
<key>^~F701</key>
<string></string>
<key>^~F702</key>
<string></string>
<key>^~F703</key>
<string></string>
<key>^~F710</key>
<string>[2;7~</string>
<key>^~F728</key>
<string>[3;7~</string>
<key>^~F729</key>
<string></string>
<key>^~F72B</key>
<string></string>
<key>^~F72C</key>
<string>[5;7~</string>
<key>^~F72D</key>
<string>[6;7~</string>
<key>~$0401</key>
<string>Ё</string>
<key>~$0404</key>
<string>Є</string>
<key>~$0406</key>
<string>І</string>
<key>~$0407</key>
<string>Ї</string>
<key>~$040E</key>
<string>Ў</string>
<key>~$0410</key>
<string>А</string>
<key>~$0411</key>
<string>Б</string>
<key>~$0412</key>
<string>В</string>
<key>~$0413</key>
<string>Г</string>
<key>~$0414</key>
<string>Д</string>
<key>~$0415</key>
<string>Е</string>
<key>~$0416</key>
<string>Ж</string>
<key>~$0417</key>
<string>З</string>
<key>~$0418</key>
<string>И</string>
<key>~$0419</key>
<string>Й</string>
<key>~$041A</key>
<string>К</string>
<key>~$041B</key>
<string>Л</string>
<key>~$041C</key>
<string>М</string>
<key>~$041D</key>
<string>Н</string>
<key>~$041E</key>
<string>О</string>
<key>~$041F</key>
<string>П</string>
<key>~$0420</key>
<string>Р</string>
<key>~$0421</key>
<string>С</string>
<key>~$0422</key>
<string>Т</string>
<key>~$0423</key>
<string>У</string>
<key>~$0424</key>
<string>Ф</string>
<key>~$0425</key>
<string>Х</string>
<key>~$0426</key>
<string>Ц</string>
<key>~$0427</key>
<string>Ч</string>
<key>~$0428</key>
<string>Ш</string>
<key>~$0429</key>
<string>Щ</string>
<key>~$042A</key>
<string>Ъ</string>
<key>~$042B</key>
<string>Ы</string>
<key>~$042C</key>
<string>Ь</string>
<key>~$042D</key>
<string>Э</string>
<key>~$042E</key>
<string>Ю</string>
<key>~$042F</key>
<string>Я</string>
<key>~$0490</key>
<string>Ґ</string>
<key>~$F700</key>
<string></string>
<key>~$F701</key>
<string></string>
<key>~$F702</key>
<string></string>
<key>~$F703</key>
<string></string>
<key>~$F704</key>
<string></string>
<key>~$F705</key>
<string></string>
<key>~$F706</key>
<string></string>
<key>~$F710</key>
<string>[2;4~</string>
<key>~$F728</key>
<string>[3;4~</string>
<key>~$F729</key>
<string></string>
<key>~$F72B</key>
<string></string>
<key>~$F72C</key>
<string>[5;4~</string>
<key>~$F72D</key>
<string>[6;4~</string>
<key>~0019</key>
<string></string>
<key>~007F</key>
<string></string>
<key>~0430</key>
<string>а</string>
<key>~0431</key>
<string>б</string>
<key>~0432</key>
<string>в</string>
<key>~0433</key>
<string>г</string>
<key>~0434</key>
<string>д</string>
<key>~0435</key>
<string>е</string>
<key>~0436</key>
<string>ж</string>
<key>~0437</key>
<string>з</string>
<key>~0438</key>
<string>и</string>
<key>~0439</key>
<string>й</string>
<key>~043A</key>
<string>к</string>
<key>~043B</key>
<string>л</string>
<key>~043C</key>
<string>м</string>
<key>~043D</key>
<string>н</string>
<key>~043E</key>
<string>о</string>
<key>~043F</key>
<string>п</string>
<key>~0440</key>
<string>р</string>
<key>~0441</key>
<string>с</string>
<key>~0442</key>
<string>т</string>
<key>~0443</key>
<string>у</string>
<key>~0444</key>
<string>ф</string>
<key>~0445</key>
<string>х</string>
<key>~0446</key>
<string>ц</string>
<key>~0447</key>
<string>ч</string>
<key>~0448</key>
<string>ш</string>
<key>~0449</key>
<string>щ</string>
<key>~044A</key>
<string>ъ</string>
<key>~044B</key>
<string>ы</string>
<key>~044C</key>
<string>ь</string>
<key>~044D</key>
<string>э</string>
<key>~044E</key>
<string>ю</string>
<key>~044F</key>
<string>я</string>
<key>~0451</key>
<string>ё</string>
<key>~0454</key>
<string>є</string>
<key>~0456</key>
<string>і</string>
<key>~0457</key>
<string>ї</string>
<key>~045E</key>
<string>ў</string>
<key>~0491</key>
<string>ґ</string>
<key>~F700</key>
<string></string>
<key>~F701</key>
<string></string>
<key>~F702</key>
<string></string>
<key>~F703</key>
<string></string>
<key>~F704</key>
<string></string>
<key>~F705</key>
<string></string>
<key>~F706</key>
<string></string>
<key>~F707</key>
<string></string>
<key>~F708</key>
<string>[15;3~</string>
<key>~F709</key>
<string>[17;3~</string>
<key>~F70A</key>
<string>[18;3~</string>
<key>~F70B</key>
<string>[19;3~</string>
<key>~F70C</key>
<string>[20;3~</string>
<key>~F70D</key>
<string>[21;3~</string>
<key>~F70E</key>
<string>[23;3~</string>
<key>~F70F</key>
<string>[24;3~</string>
<key>~F710</key>
<string>[2;3~</string>
<key>~F728</key>
<string>OM</string>
<key>~F729</key>
<string></string>
<key>~F72B</key>
<string></string>
<key>~F72C</key>
<string>[5;3~</string>
<key>~F72D</key>
<string>[6;3~</string>
</dict>
<key>name</key>
<string>XTerm-KOI8-R-strict</string>
<key>noWarnProcesses</key>
<array>
<dict>
<key>ProcessName</key>
<string>screen</string>
</dict>
<dict>
<key>ProcessName</key>
<string>tmux</string>
</dict>
<dict>
<key>ProcessName</key>
<string>luit</string>
</dict>
</array>
<key>rowCount</key>
<integer>33</integer>
<key>shellExitAction</key>
<integer>1</integer>
<key>type</key>
<string>Window Settings</string>
<key>useOptionAsMetaKey</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,492 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CharacterEncoding</key>
<integer>2147486216</integer>
<key>CommandString</key>
<string>LANG="ru_RU.KOI8-R" exec -a "-bash" bash -l</string>
<key>CursorBlink</key>
<true/>
<key>Linewrap</key>
<true/>
<key>ProfileCurrentVersion</key>
<real>2.04</real>
<key>ScrollAlternateScreen</key>
<false/>
<key>VisualBell</key>
<true/>
<key>WindowTitle</key>
<string>XTerm KOI8-U combined</string>
<key>columnCount</key>
<integer>130</integer>
<key>commentCreator</key>
<string>Created by leo at Wed Nov 18 05:57:10 MSK 2015</string>
<key>commentGenerator</key>
<string>Generated by make-term-profiles.sh, v 1, 18-11-2015</string>
<key>commentTerminal</key>
<string># Reconstructed via infocmp from file: /var/folders/wy/z0gbkfgs7mv24ryqkdm90rm40009rh/T/mtp-XXXXXX.A2Aqm9VG/78/xterm
xterm|xterm terminal emulator (X Window System),</string>
<key>commentTerminfoVersion</key>
<string>/Users/leo/Downloads/terminfo.src, Revision: 1.554
Date: 2015/10/24 16:00:04 </string>
<key>deleteSendsBackspace</key>
<false/>
<key>keyMapBoundKeys</key>
<dict>
<key>$F700</key>
<string></string>
<key>$F701</key>
<string></string>
<key>$F702</key>
<string></string>
<key>$F703</key>
<string></string>
<key>$F704</key>
<string></string>
<key>$F705</key>
<string></string>
<key>$F706</key>
<string></string>
<key>$F707</key>
<string></string>
<key>$F708</key>
<string>[15;2~</string>
<key>$F709</key>
<string>[17;2~</string>
<key>$F70A</key>
<string>[18;2~</string>
<key>$F70B</key>
<string>[19;2~</string>
<key>$F70C</key>
<string>[20;2~</string>
<key>$F70D</key>
<string>[21;2~</string>
<key>$F70E</key>
<string>[23;2~</string>
<key>$F70F</key>
<string>[24;2~</string>
<key>$F710</key>
<string>[2;2~</string>
<key>$F728</key>
<string>[3;2~</string>
<key>$F729</key>
<string></string>
<key>$F72B</key>
<string></string>
<key>$F72C</key>
<string>[5;2~</string>
<key>$F72D</key>
<string>[6;2~</string>
<key>0019</key>
<string></string>
<key>F700</key>
<string>OA</string>
<key>F701</key>
<string>OB</string>
<key>F702</key>
<string>OD</string>
<key>F703</key>
<string>OC</string>
<key>F704</key>
<string>OP</string>
<key>F705</key>
<string>OQ</string>
<key>F706</key>
<string>OR</string>
<key>F707</key>
<string>OS</string>
<key>F708</key>
<string>[15~</string>
<key>F709</key>
<string>[17~</string>
<key>F70A</key>
<string>[18~</string>
<key>F70B</key>
<string>[19~</string>
<key>F70C</key>
<string>[20~</string>
<key>F70D</key>
<string>[21~</string>
<key>F70E</key>
<string>[23~</string>
<key>F70F</key>
<string>[24~</string>
<key>F710</key>
<string>[2~</string>
<key>F728</key>
<string>[3~</string>
<key>F729</key>
<string>OH</string>
<key>F72B</key>
<string>OF</string>
<key>F72C</key>
<string>[5~</string>
<key>F72D</key>
<string>[6~</string>
<key>^$F700</key>
<string></string>
<key>^$F701</key>
<string></string>
<key>^$F702</key>
<string></string>
<key>^$F703</key>
<string></string>
<key>^$F704</key>
<string></string>
<key>^$F705</key>
<string></string>
<key>^$F706</key>
<string></string>
<key>^$F707</key>
<string></string>
<key>^$F708</key>
<string>[15;6~</string>
<key>^$F709</key>
<string>[17;6~</string>
<key>^$F70A</key>
<string>[18;6~</string>
<key>^$F70B</key>
<string>[19;6~</string>
<key>^$F70C</key>
<string>[20;6~</string>
<key>^$F70D</key>
<string>[21;6~</string>
<key>^$F70E</key>
<string>[23;6~</string>
<key>^$F70F</key>
<string>[24;6~</string>
<key>^$F710</key>
<string>[2;6~</string>
<key>^$F728</key>
<string>[3;6~</string>
<key>^$F729</key>
<string></string>
<key>^$F72B</key>
<string></string>
<key>^$F72C</key>
<string>[5;6~</string>
<key>^$F72D</key>
<string>[6;6~</string>
<key>^F700</key>
<string></string>
<key>^F701</key>
<string></string>
<key>^F702</key>
<string></string>
<key>^F703</key>
<string></string>
<key>^F704</key>
<string></string>
<key>^F705</key>
<string></string>
<key>^F706</key>
<string></string>
<key>^F707</key>
<string></string>
<key>^F708</key>
<string>[15;5~</string>
<key>^F709</key>
<string>[17;5~</string>
<key>^F70A</key>
<string>[18;5~</string>
<key>^F70B</key>
<string>[19;5~</string>
<key>^F70C</key>
<string>[20;5~</string>
<key>^F70D</key>
<string>[21;5~</string>
<key>^F70E</key>
<string>[23;5~</string>
<key>^F70F</key>
<string>[24;5~</string>
<key>^F710</key>
<string>[2;5~</string>
<key>^F728</key>
<string>[3;5~</string>
<key>^F729</key>
<string></string>
<key>^F72B</key>
<string></string>
<key>^F72C</key>
<string>[5;5~</string>
<key>^F72D</key>
<string>[6;5~</string>
<key>^~$0069</key>
<string>[2;2~</string>
<key>^~0069</key>
<string>[2~</string>
<key>^~F700</key>
<string></string>
<key>^~F701</key>
<string></string>
<key>^~F702</key>
<string></string>
<key>^~F703</key>
<string></string>
<key>^~F710</key>
<string>[2;7~</string>
<key>^~F728</key>
<string>[3;7~</string>
<key>^~F729</key>
<string></string>
<key>^~F72B</key>
<string></string>
<key>^~F72C</key>
<string>[5;7~</string>
<key>^~F72D</key>
<string>[6;7~</string>
<key>~$0401</key>
<string>Ё</string>
<key>~$0404</key>
<string>Є</string>
<key>~$0406</key>
<string>І</string>
<key>~$0407</key>
<string>Ї</string>
<key>~$040E</key>
<string>Ў</string>
<key>~$0410</key>
<string>А</string>
<key>~$0411</key>
<string>Б</string>
<key>~$0412</key>
<string>В</string>
<key>~$0413</key>
<string>Г</string>
<key>~$0414</key>
<string>Д</string>
<key>~$0415</key>
<string>Е</string>
<key>~$0416</key>
<string>Ж</string>
<key>~$0417</key>
<string>З</string>
<key>~$0418</key>
<string>И</string>
<key>~$0419</key>
<string>Й</string>
<key>~$041A</key>
<string>К</string>
<key>~$041B</key>
<string>Л</string>
<key>~$041C</key>
<string>М</string>
<key>~$041D</key>
<string>Н</string>
<key>~$041E</key>
<string>О</string>
<key>~$041F</key>
<string>П</string>
<key>~$0420</key>
<string>Р</string>
<key>~$0421</key>
<string>С</string>
<key>~$0422</key>
<string>Т</string>
<key>~$0423</key>
<string>У</string>
<key>~$0424</key>
<string>Ф</string>
<key>~$0425</key>
<string>Х</string>
<key>~$0426</key>
<string>Ц</string>
<key>~$0427</key>
<string>Ч</string>
<key>~$0428</key>
<string>Ш</string>
<key>~$0429</key>
<string>Щ</string>
<key>~$042A</key>
<string>Ъ</string>
<key>~$042B</key>
<string>Ы</string>
<key>~$042C</key>
<string>Ь</string>
<key>~$042D</key>
<string>Э</string>
<key>~$042E</key>
<string>Ю</string>
<key>~$042F</key>
<string>Я</string>
<key>~$0490</key>
<string>Ґ</string>
<key>~$F700</key>
<string></string>
<key>~$F701</key>
<string></string>
<key>~$F702</key>
<string></string>
<key>~$F703</key>
<string></string>
<key>~$F704</key>
<string></string>
<key>~$F705</key>
<string></string>
<key>~$F706</key>
<string></string>
<key>~$F710</key>
<string>[2;4~</string>
<key>~$F728</key>
<string>[3;4~</string>
<key>~$F729</key>
<string></string>
<key>~$F72B</key>
<string></string>
<key>~$F72C</key>
<string>[5;4~</string>
<key>~$F72D</key>
<string>[6;4~</string>
<key>~0019</key>
<string></string>
<key>~007F</key>
<string></string>
<key>~0430</key>
<string>а</string>
<key>~0431</key>
<string>б</string>
<key>~0432</key>
<string>в</string>
<key>~0433</key>
<string>г</string>
<key>~0434</key>
<string>д</string>
<key>~0435</key>
<string>е</string>
<key>~0436</key>
<string>ж</string>
<key>~0437</key>
<string>з</string>
<key>~0438</key>
<string>и</string>
<key>~0439</key>
<string>й</string>
<key>~043A</key>
<string>к</string>
<key>~043B</key>
<string>л</string>
<key>~043C</key>
<string>м</string>
<key>~043D</key>
<string>н</string>
<key>~043E</key>
<string>о</string>
<key>~043F</key>
<string>п</string>
<key>~0440</key>
<string>р</string>
<key>~0441</key>
<string>с</string>
<key>~0442</key>
<string>т</string>
<key>~0443</key>
<string>у</string>
<key>~0444</key>
<string>ф</string>
<key>~0445</key>
<string>х</string>
<key>~0446</key>
<string>ц</string>
<key>~0447</key>
<string>ч</string>
<key>~0448</key>
<string>ш</string>
<key>~0449</key>
<string>щ</string>
<key>~044A</key>
<string>ъ</string>
<key>~044B</key>
<string>ы</string>
<key>~044C</key>
<string>ь</string>
<key>~044D</key>
<string>э</string>
<key>~044E</key>
<string>ю</string>
<key>~044F</key>
<string>я</string>
<key>~0451</key>
<string>ё</string>
<key>~0454</key>
<string>є</string>
<key>~0456</key>
<string>і</string>
<key>~0457</key>
<string>ї</string>
<key>~045E</key>
<string>ў</string>
<key>~0491</key>
<string>ґ</string>
<key>~F700</key>
<string></string>
<key>~F701</key>
<string></string>
<key>~F702</key>
<string></string>
<key>~F703</key>
<string></string>
<key>~F704</key>
<string></string>
<key>~F705</key>
<string></string>
<key>~F706</key>
<string></string>
<key>~F707</key>
<string></string>
<key>~F708</key>
<string>[15;3~</string>
<key>~F709</key>
<string>[17;3~</string>
<key>~F70A</key>
<string>[18;3~</string>
<key>~F70B</key>
<string>[19;3~</string>
<key>~F70C</key>
<string>[20;3~</string>
<key>~F70D</key>
<string>[21;3~</string>
<key>~F70E</key>
<string>[23;3~</string>
<key>~F70F</key>
<string>[24;3~</string>
<key>~F710</key>
<string>[2;3~</string>
<key>~F728</key>
<string>OM</string>
<key>~F729</key>
<string></string>
<key>~F72B</key>
<string></string>
<key>~F72C</key>
<string>[5;3~</string>
<key>~F72D</key>
<string>[6;3~</string>
</dict>
<key>name</key>
<string>XTerm-KOI8-U-combined</string>
<key>noWarnProcesses</key>
<array>
<dict>
<key>ProcessName</key>
<string>screen</string>
</dict>
<dict>
<key>ProcessName</key>
<string>tmux</string>
</dict>
<dict>
<key>ProcessName</key>
<string>luit</string>
</dict>
</array>
<key>rowCount</key>
<integer>33</integer>
<key>shellExitAction</key>
<integer>1</integer>
<key>type</key>
<string>Window Settings</string>
<key>useOptionAsMetaKey</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,492 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CharacterEncoding</key>
<integer>2147486216</integer>
<key>CommandString</key>
<string>LANG="ru_RU.KOI8-R" exec -a "-bash" bash -l</string>
<key>CursorBlink</key>
<true/>
<key>Linewrap</key>
<true/>
<key>ProfileCurrentVersion</key>
<real>2.04</real>
<key>ScrollAlternateScreen</key>
<false/>
<key>VisualBell</key>
<true/>
<key>WindowTitle</key>
<string>XTerm KOI8-U reverse</string>
<key>columnCount</key>
<integer>130</integer>
<key>commentCreator</key>
<string>Created by leo at Wed Nov 18 05:57:10 MSK 2015</string>
<key>commentGenerator</key>
<string>Generated by make-term-profiles.sh, v 1, 18-11-2015</string>
<key>commentTerminal</key>
<string># Reconstructed via infocmp from file: /var/folders/wy/z0gbkfgs7mv24ryqkdm90rm40009rh/T/mtp-XXXXXX.A2Aqm9VG/78/xterm
xterm|xterm terminal emulator (X Window System),</string>
<key>commentTerminfoVersion</key>
<string>/Users/leo/Downloads/terminfo.src, Revision: 1.554
Date: 2015/10/24 16:00:04 </string>
<key>deleteSendsBackspace</key>
<false/>
<key>keyMapBoundKeys</key>
<dict>
<key>$F700</key>
<string></string>
<key>$F701</key>
<string></string>
<key>$F702</key>
<string></string>
<key>$F703</key>
<string></string>
<key>$F704</key>
<string></string>
<key>$F705</key>
<string></string>
<key>$F706</key>
<string></string>
<key>$F707</key>
<string></string>
<key>$F708</key>
<string>[15;2~</string>
<key>$F709</key>
<string>[17;2~</string>
<key>$F70A</key>
<string>[18;2~</string>
<key>$F70B</key>
<string>[19;2~</string>
<key>$F70C</key>
<string>[20;2~</string>
<key>$F70D</key>
<string>[21;2~</string>
<key>$F70E</key>
<string>[23;2~</string>
<key>$F70F</key>
<string>[24;2~</string>
<key>$F710</key>
<string>[2;2~</string>
<key>$F728</key>
<string>[3;2~</string>
<key>$F729</key>
<string></string>
<key>$F72B</key>
<string></string>
<key>$F72C</key>
<string>[5;2~</string>
<key>$F72D</key>
<string>[6;2~</string>
<key>0019</key>
<string></string>
<key>F700</key>
<string>OA</string>
<key>F701</key>
<string>OB</string>
<key>F702</key>
<string>OD</string>
<key>F703</key>
<string>OC</string>
<key>F704</key>
<string>OP</string>
<key>F705</key>
<string>OQ</string>
<key>F706</key>
<string>OR</string>
<key>F707</key>
<string>OS</string>
<key>F708</key>
<string>[15~</string>
<key>F709</key>
<string>[17~</string>
<key>F70A</key>
<string>[18~</string>
<key>F70B</key>
<string>[19~</string>
<key>F70C</key>
<string>[20~</string>
<key>F70D</key>
<string>[21~</string>
<key>F70E</key>
<string>[23~</string>
<key>F70F</key>
<string>[24~</string>
<key>F710</key>
<string>[2~</string>
<key>F728</key>
<string>[3~</string>
<key>F729</key>
<string>OH</string>
<key>F72B</key>
<string>OF</string>
<key>F72C</key>
<string>[5~</string>
<key>F72D</key>
<string>[6~</string>
<key>^$F700</key>
<string></string>
<key>^$F701</key>
<string></string>
<key>^$F702</key>
<string></string>
<key>^$F703</key>
<string></string>
<key>^$F704</key>
<string></string>
<key>^$F705</key>
<string></string>
<key>^$F706</key>
<string></string>
<key>^$F707</key>
<string></string>
<key>^$F708</key>
<string>[15;6~</string>
<key>^$F709</key>
<string>[17;6~</string>
<key>^$F70A</key>
<string>[18;6~</string>
<key>^$F70B</key>
<string>[19;6~</string>
<key>^$F70C</key>
<string>[20;6~</string>
<key>^$F70D</key>
<string>[21;6~</string>
<key>^$F70E</key>
<string>[23;6~</string>
<key>^$F70F</key>
<string>[24;6~</string>
<key>^$F710</key>
<string>[2;6~</string>
<key>^$F728</key>
<string>[3;6~</string>
<key>^$F729</key>
<string></string>
<key>^$F72B</key>
<string></string>
<key>^$F72C</key>
<string>[5;6~</string>
<key>^$F72D</key>
<string>[6;6~</string>
<key>^F700</key>
<string></string>
<key>^F701</key>
<string></string>
<key>^F702</key>
<string></string>
<key>^F703</key>
<string></string>
<key>^F704</key>
<string></string>
<key>^F705</key>
<string></string>
<key>^F706</key>
<string></string>
<key>^F707</key>
<string></string>
<key>^F708</key>
<string>[15;5~</string>
<key>^F709</key>
<string>[17;5~</string>
<key>^F70A</key>
<string>[18;5~</string>
<key>^F70B</key>
<string>[19;5~</string>
<key>^F70C</key>
<string>[20;5~</string>
<key>^F70D</key>
<string>[21;5~</string>
<key>^F70E</key>
<string>[23;5~</string>
<key>^F70F</key>
<string>[24;5~</string>
<key>^F710</key>
<string>[2;5~</string>
<key>^F728</key>
<string>[3;5~</string>
<key>^F729</key>
<string></string>
<key>^F72B</key>
<string></string>
<key>^F72C</key>
<string>[5;5~</string>
<key>^F72D</key>
<string>[6;5~</string>
<key>^~$0069</key>
<string>[2;2~</string>
<key>^~0069</key>
<string>[2~</string>
<key>^~F700</key>
<string></string>
<key>^~F701</key>
<string></string>
<key>^~F702</key>
<string></string>
<key>^~F703</key>
<string></string>
<key>^~F710</key>
<string>[2;7~</string>
<key>^~F728</key>
<string>[3;7~</string>
<key>^~F729</key>
<string></string>
<key>^~F72B</key>
<string></string>
<key>^~F72C</key>
<string>[5;7~</string>
<key>^~F72D</key>
<string>[6;7~</string>
<key>~$0401</key>
<string>Ё</string>
<key>~$0404</key>
<string>Є</string>
<key>~$0406</key>
<string>І</string>
<key>~$0407</key>
<string>Ї</string>
<key>~$040E</key>
<string>Ў</string>
<key>~$0410</key>
<string>А</string>
<key>~$0411</key>
<string>Б</string>
<key>~$0412</key>
<string>В</string>
<key>~$0413</key>
<string>Г</string>
<key>~$0414</key>
<string>Д</string>
<key>~$0415</key>
<string>Е</string>
<key>~$0416</key>
<string>Ж</string>
<key>~$0417</key>
<string>З</string>
<key>~$0418</key>
<string>И</string>
<key>~$0419</key>
<string>Й</string>
<key>~$041A</key>
<string>К</string>
<key>~$041B</key>
<string>Л</string>
<key>~$041C</key>
<string>М</string>
<key>~$041D</key>
<string>Н</string>
<key>~$041E</key>
<string>О</string>
<key>~$041F</key>
<string>П</string>
<key>~$0420</key>
<string>Р</string>
<key>~$0421</key>
<string>С</string>
<key>~$0422</key>
<string>Т</string>
<key>~$0423</key>
<string>У</string>
<key>~$0424</key>
<string>Ф</string>
<key>~$0425</key>
<string>Х</string>
<key>~$0426</key>
<string>Ц</string>
<key>~$0427</key>
<string>Ч</string>
<key>~$0428</key>
<string>Ш</string>
<key>~$0429</key>
<string>Щ</string>
<key>~$042A</key>
<string>Ъ</string>
<key>~$042B</key>
<string>Ы</string>
<key>~$042C</key>
<string>Ь</string>
<key>~$042D</key>
<string>Э</string>
<key>~$042E</key>
<string>Ю</string>
<key>~$042F</key>
<string>Я</string>
<key>~$0490</key>
<string>Ґ</string>
<key>~$F700</key>
<string></string>
<key>~$F701</key>
<string></string>
<key>~$F702</key>
<string></string>
<key>~$F703</key>
<string></string>
<key>~$F704</key>
<string></string>
<key>~$F705</key>
<string></string>
<key>~$F706</key>
<string></string>
<key>~$F710</key>
<string>[2;4~</string>
<key>~$F728</key>
<string>[3;4~</string>
<key>~$F729</key>
<string></string>
<key>~$F72B</key>
<string></string>
<key>~$F72C</key>
<string>[5;4~</string>
<key>~$F72D</key>
<string>[6;4~</string>
<key>~0019</key>
<string></string>
<key>~007F</key>
<string></string>
<key>~0430</key>
<string>а</string>
<key>~0431</key>
<string>б</string>
<key>~0432</key>
<string>в</string>
<key>~0433</key>
<string>г</string>
<key>~0434</key>
<string>д</string>
<key>~0435</key>
<string>е</string>
<key>~0436</key>
<string>ж</string>
<key>~0437</key>
<string>з</string>
<key>~0438</key>
<string>и</string>
<key>~0439</key>
<string>й</string>
<key>~043A</key>
<string>к</string>
<key>~043B</key>
<string>л</string>
<key>~043C</key>
<string>м</string>
<key>~043D</key>
<string>н</string>
<key>~043E</key>
<string>о</string>
<key>~043F</key>
<string>п</string>
<key>~0440</key>
<string>р</string>
<key>~0441</key>
<string>с</string>
<key>~0442</key>
<string>т</string>
<key>~0443</key>
<string>у</string>
<key>~0444</key>
<string>ф</string>
<key>~0445</key>
<string>х</string>
<key>~0446</key>
<string>ц</string>
<key>~0447</key>
<string>ч</string>
<key>~0448</key>
<string>ш</string>
<key>~0449</key>
<string>щ</string>
<key>~044A</key>
<string>ъ</string>
<key>~044B</key>
<string>ы</string>
<key>~044C</key>
<string>ь</string>
<key>~044D</key>
<string>э</string>
<key>~044E</key>
<string>ю</string>
<key>~044F</key>
<string>я</string>
<key>~0451</key>
<string>ё</string>
<key>~0454</key>
<string>є</string>
<key>~0456</key>
<string>і</string>
<key>~0457</key>
<string>ї</string>
<key>~045E</key>
<string>ў</string>
<key>~0491</key>
<string>ґ</string>
<key>~F700</key>
<string></string>
<key>~F701</key>
<string></string>
<key>~F702</key>
<string></string>
<key>~F703</key>
<string></string>
<key>~F704</key>
<string></string>
<key>~F705</key>
<string></string>
<key>~F706</key>
<string></string>
<key>~F707</key>
<string></string>
<key>~F708</key>
<string>[15;3~</string>
<key>~F709</key>
<string>[17;3~</string>
<key>~F70A</key>
<string>[18;3~</string>
<key>~F70B</key>
<string>[19;3~</string>
<key>~F70C</key>
<string>[20;3~</string>
<key>~F70D</key>
<string>[21;3~</string>
<key>~F70E</key>
<string>[23;3~</string>
<key>~F70F</key>
<string>[24;3~</string>
<key>~F710</key>
<string>[2;3~</string>
<key>~F728</key>
<string>OM</string>
<key>~F729</key>
<string></string>
<key>~F72B</key>
<string></string>
<key>~F72C</key>
<string>[5;3~</string>
<key>~F72D</key>
<string>[6;3~</string>
</dict>
<key>name</key>
<string>XTerm-KOI8-U-reverse</string>
<key>noWarnProcesses</key>
<array>
<dict>
<key>ProcessName</key>
<string>screen</string>
</dict>
<dict>
<key>ProcessName</key>
<string>tmux</string>
</dict>
<dict>
<key>ProcessName</key>
<string>luit</string>
</dict>
</array>
<key>rowCount</key>
<integer>33</integer>
<key>shellExitAction</key>
<integer>1</integer>
<key>type</key>
<string>Window Settings</string>
<key>useOptionAsMetaKey</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,492 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CharacterEncoding</key>
<integer>2147486216</integer>
<key>CommandString</key>
<string>LANG="ru_RU.KOI8-R" exec -a "-bash" bash -l</string>
<key>CursorBlink</key>
<true/>
<key>Linewrap</key>
<true/>
<key>ProfileCurrentVersion</key>
<real>2.04</real>
<key>ScrollAlternateScreen</key>
<false/>
<key>VisualBell</key>
<true/>
<key>WindowTitle</key>
<string>XTerm KOI8-U strict</string>
<key>columnCount</key>
<integer>130</integer>
<key>commentCreator</key>
<string>Created by leo at Wed Nov 18 05:57:10 MSK 2015</string>
<key>commentGenerator</key>
<string>Generated by make-term-profiles.sh, v 1, 18-11-2015</string>
<key>commentTerminal</key>
<string># Reconstructed via infocmp from file: /var/folders/wy/z0gbkfgs7mv24ryqkdm90rm40009rh/T/mtp-XXXXXX.A2Aqm9VG/78/xterm
xterm|xterm terminal emulator (X Window System),</string>
<key>commentTerminfoVersion</key>
<string>/Users/leo/Downloads/terminfo.src, Revision: 1.554
Date: 2015/10/24 16:00:04 </string>
<key>deleteSendsBackspace</key>
<false/>
<key>keyMapBoundKeys</key>
<dict>
<key>$F700</key>
<string></string>
<key>$F701</key>
<string></string>
<key>$F702</key>
<string></string>
<key>$F703</key>
<string></string>
<key>$F704</key>
<string></string>
<key>$F705</key>
<string></string>
<key>$F706</key>
<string></string>
<key>$F707</key>
<string></string>
<key>$F708</key>
<string>[15;2~</string>
<key>$F709</key>
<string>[17;2~</string>
<key>$F70A</key>
<string>[18;2~</string>
<key>$F70B</key>
<string>[19;2~</string>
<key>$F70C</key>
<string>[20;2~</string>
<key>$F70D</key>
<string>[21;2~</string>
<key>$F70E</key>
<string>[23;2~</string>
<key>$F70F</key>
<string>[24;2~</string>
<key>$F710</key>
<string>[2;2~</string>
<key>$F728</key>
<string>[3;2~</string>
<key>$F729</key>
<string></string>
<key>$F72B</key>
<string></string>
<key>$F72C</key>
<string>[5;2~</string>
<key>$F72D</key>
<string>[6;2~</string>
<key>0019</key>
<string></string>
<key>F700</key>
<string>OA</string>
<key>F701</key>
<string>OB</string>
<key>F702</key>
<string>OD</string>
<key>F703</key>
<string>OC</string>
<key>F704</key>
<string>OP</string>
<key>F705</key>
<string>OQ</string>
<key>F706</key>
<string>OR</string>
<key>F707</key>
<string>OS</string>
<key>F708</key>
<string>[15~</string>
<key>F709</key>
<string>[17~</string>
<key>F70A</key>
<string>[18~</string>
<key>F70B</key>
<string>[19~</string>
<key>F70C</key>
<string>[20~</string>
<key>F70D</key>
<string>[21~</string>
<key>F70E</key>
<string>[23~</string>
<key>F70F</key>
<string>[24~</string>
<key>F710</key>
<string>[2~</string>
<key>F728</key>
<string>[3~</string>
<key>F729</key>
<string>OH</string>
<key>F72B</key>
<string>OF</string>
<key>F72C</key>
<string>[5~</string>
<key>F72D</key>
<string>[6~</string>
<key>^$F700</key>
<string></string>
<key>^$F701</key>
<string></string>
<key>^$F702</key>
<string></string>
<key>^$F703</key>
<string></string>
<key>^$F704</key>
<string></string>
<key>^$F705</key>
<string></string>
<key>^$F706</key>
<string></string>
<key>^$F707</key>
<string></string>
<key>^$F708</key>
<string>[15;6~</string>
<key>^$F709</key>
<string>[17;6~</string>
<key>^$F70A</key>
<string>[18;6~</string>
<key>^$F70B</key>
<string>[19;6~</string>
<key>^$F70C</key>
<string>[20;6~</string>
<key>^$F70D</key>
<string>[21;6~</string>
<key>^$F70E</key>
<string>[23;6~</string>
<key>^$F70F</key>
<string>[24;6~</string>
<key>^$F710</key>
<string>[2;6~</string>
<key>^$F728</key>
<string>[3;6~</string>
<key>^$F729</key>
<string></string>
<key>^$F72B</key>
<string></string>
<key>^$F72C</key>
<string>[5;6~</string>
<key>^$F72D</key>
<string>[6;6~</string>
<key>^F700</key>
<string></string>
<key>^F701</key>
<string></string>
<key>^F702</key>
<string></string>
<key>^F703</key>
<string></string>
<key>^F704</key>
<string></string>
<key>^F705</key>
<string></string>
<key>^F706</key>
<string></string>
<key>^F707</key>
<string></string>
<key>^F708</key>
<string>[15;5~</string>
<key>^F709</key>
<string>[17;5~</string>
<key>^F70A</key>
<string>[18;5~</string>
<key>^F70B</key>
<string>[19;5~</string>
<key>^F70C</key>
<string>[20;5~</string>
<key>^F70D</key>
<string>[21;5~</string>
<key>^F70E</key>
<string>[23;5~</string>
<key>^F70F</key>
<string>[24;5~</string>
<key>^F710</key>
<string>[2;5~</string>
<key>^F728</key>
<string>[3;5~</string>
<key>^F729</key>
<string></string>
<key>^F72B</key>
<string></string>
<key>^F72C</key>
<string>[5;5~</string>
<key>^F72D</key>
<string>[6;5~</string>
<key>^~$0069</key>
<string>[2;2~</string>
<key>^~0069</key>
<string>[2~</string>
<key>^~F700</key>
<string></string>
<key>^~F701</key>
<string></string>
<key>^~F702</key>
<string></string>
<key>^~F703</key>
<string></string>
<key>^~F710</key>
<string>[2;7~</string>
<key>^~F728</key>
<string>[3;7~</string>
<key>^~F729</key>
<string></string>
<key>^~F72B</key>
<string></string>
<key>^~F72C</key>
<string>[5;7~</string>
<key>^~F72D</key>
<string>[6;7~</string>
<key>~$0401</key>
<string>Ё</string>
<key>~$0404</key>
<string>Є</string>
<key>~$0406</key>
<string>І</string>
<key>~$0407</key>
<string>Ї</string>
<key>~$040E</key>
<string>Ў</string>
<key>~$0410</key>
<string>А</string>
<key>~$0411</key>
<string>Б</string>
<key>~$0412</key>
<string>В</string>
<key>~$0413</key>
<string>Г</string>
<key>~$0414</key>
<string>Д</string>
<key>~$0415</key>
<string>Е</string>
<key>~$0416</key>
<string>Ж</string>
<key>~$0417</key>
<string>З</string>
<key>~$0418</key>
<string>И</string>
<key>~$0419</key>
<string>Й</string>
<key>~$041A</key>
<string>К</string>
<key>~$041B</key>
<string>Л</string>
<key>~$041C</key>
<string>М</string>
<key>~$041D</key>
<string>Н</string>
<key>~$041E</key>
<string>О</string>
<key>~$041F</key>
<string>П</string>
<key>~$0420</key>
<string>Р</string>
<key>~$0421</key>
<string>С</string>
<key>~$0422</key>
<string>Т</string>
<key>~$0423</key>
<string>У</string>
<key>~$0424</key>
<string>Ф</string>
<key>~$0425</key>
<string>Х</string>
<key>~$0426</key>
<string>Ц</string>
<key>~$0427</key>
<string>Ч</string>
<key>~$0428</key>
<string>Ш</string>
<key>~$0429</key>
<string>Щ</string>
<key>~$042A</key>
<string>Ъ</string>
<key>~$042B</key>
<string>Ы</string>
<key>~$042C</key>
<string>Ь</string>
<key>~$042D</key>
<string>Э</string>
<key>~$042E</key>
<string>Ю</string>
<key>~$042F</key>
<string>Я</string>
<key>~$0490</key>
<string>Ґ</string>
<key>~$F700</key>
<string></string>
<key>~$F701</key>
<string></string>
<key>~$F702</key>
<string></string>
<key>~$F703</key>
<string></string>
<key>~$F704</key>
<string></string>
<key>~$F705</key>
<string></string>
<key>~$F706</key>
<string></string>
<key>~$F710</key>
<string>[2;4~</string>
<key>~$F728</key>
<string>[3;4~</string>
<key>~$F729</key>
<string></string>
<key>~$F72B</key>
<string></string>
<key>~$F72C</key>
<string>[5;4~</string>
<key>~$F72D</key>
<string>[6;4~</string>
<key>~0019</key>
<string></string>
<key>~007F</key>
<string></string>
<key>~0430</key>
<string>а</string>
<key>~0431</key>
<string>б</string>
<key>~0432</key>
<string>в</string>
<key>~0433</key>
<string>г</string>
<key>~0434</key>
<string>д</string>
<key>~0435</key>
<string>е</string>
<key>~0436</key>
<string>ж</string>
<key>~0437</key>
<string>з</string>
<key>~0438</key>
<string>и</string>
<key>~0439</key>
<string>й</string>
<key>~043A</key>
<string>к</string>
<key>~043B</key>
<string>л</string>
<key>~043C</key>
<string>м</string>
<key>~043D</key>
<string>н</string>
<key>~043E</key>
<string>о</string>
<key>~043F</key>
<string>п</string>
<key>~0440</key>
<string>р</string>
<key>~0441</key>
<string>с</string>
<key>~0442</key>
<string>т</string>
<key>~0443</key>
<string>у</string>
<key>~0444</key>
<string>ф</string>
<key>~0445</key>
<string>х</string>
<key>~0446</key>
<string>ц</string>
<key>~0447</key>
<string>ч</string>
<key>~0448</key>
<string>ш</string>
<key>~0449</key>
<string>щ</string>
<key>~044A</key>
<string>ъ</string>
<key>~044B</key>
<string>ы</string>
<key>~044C</key>
<string>ь</string>
<key>~044D</key>
<string>э</string>
<key>~044E</key>
<string>ю</string>
<key>~044F</key>
<string>я</string>
<key>~0451</key>
<string>ё</string>
<key>~0454</key>
<string>є</string>
<key>~0456</key>
<string>і</string>
<key>~0457</key>
<string>ї</string>
<key>~045E</key>
<string>ў</string>
<key>~0491</key>
<string>ґ</string>
<key>~F700</key>
<string></string>
<key>~F701</key>
<string></string>
<key>~F702</key>
<string></string>
<key>~F703</key>
<string></string>
<key>~F704</key>
<string></string>
<key>~F705</key>
<string></string>
<key>~F706</key>
<string></string>
<key>~F707</key>
<string></string>
<key>~F708</key>
<string>[15;3~</string>
<key>~F709</key>
<string>[17;3~</string>
<key>~F70A</key>
<string>[18;3~</string>
<key>~F70B</key>
<string>[19;3~</string>
<key>~F70C</key>
<string>[20;3~</string>
<key>~F70D</key>
<string>[21;3~</string>
<key>~F70E</key>
<string>[23;3~</string>
<key>~F70F</key>
<string>[24;3~</string>
<key>~F710</key>
<string>[2;3~</string>
<key>~F728</key>
<string>OM</string>
<key>~F729</key>
<string></string>
<key>~F72B</key>
<string></string>
<key>~F72C</key>
<string>[5;3~</string>
<key>~F72D</key>
<string>[6;3~</string>
</dict>
<key>name</key>
<string>XTerm-KOI8-U-strict</string>
<key>noWarnProcesses</key>
<array>
<dict>
<key>ProcessName</key>
<string>screen</string>
</dict>
<dict>
<key>ProcessName</key>
<string>tmux</string>
</dict>
<dict>
<key>ProcessName</key>
<string>luit</string>
</dict>
</array>
<key>rowCount</key>
<integer>33</integer>
<key>shellExitAction</key>
<integer>1</integer>
<key>type</key>
<string>Window Settings</string>
<key>useOptionAsMetaKey</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,490 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CharacterEncoding</key>
<integer>4</integer>
<key>CursorBlink</key>
<true/>
<key>Linewrap</key>
<true/>
<key>ProfileCurrentVersion</key>
<real>2.04</real>
<key>ScrollAlternateScreen</key>
<false/>
<key>VisualBell</key>
<true/>
<key>WindowTitle</key>
<string>XTerm UTF-8 combined</string>
<key>columnCount</key>
<integer>130</integer>
<key>commentCreator</key>
<string>Created by leo at Wed Nov 18 05:57:10 MSK 2015</string>
<key>commentGenerator</key>
<string>Generated by make-term-profiles.sh, v 1, 18-11-2015</string>
<key>commentTerminal</key>
<string># Reconstructed via infocmp from file: /var/folders/wy/z0gbkfgs7mv24ryqkdm90rm40009rh/T/mtp-XXXXXX.A2Aqm9VG/78/xterm
xterm|xterm terminal emulator (X Window System),</string>
<key>commentTerminfoVersion</key>
<string>/Users/leo/Downloads/terminfo.src, Revision: 1.554
Date: 2015/10/24 16:00:04 </string>
<key>deleteSendsBackspace</key>
<false/>
<key>keyMapBoundKeys</key>
<dict>
<key>$F700</key>
<string></string>
<key>$F701</key>
<string></string>
<key>$F702</key>
<string></string>
<key>$F703</key>
<string></string>
<key>$F704</key>
<string></string>
<key>$F705</key>
<string></string>
<key>$F706</key>
<string></string>
<key>$F707</key>
<string></string>
<key>$F708</key>
<string>[15;2~</string>
<key>$F709</key>
<string>[17;2~</string>
<key>$F70A</key>
<string>[18;2~</string>
<key>$F70B</key>
<string>[19;2~</string>
<key>$F70C</key>
<string>[20;2~</string>
<key>$F70D</key>
<string>[21;2~</string>
<key>$F70E</key>
<string>[23;2~</string>
<key>$F70F</key>
<string>[24;2~</string>
<key>$F710</key>
<string>[2;2~</string>
<key>$F728</key>
<string>[3;2~</string>
<key>$F729</key>
<string></string>
<key>$F72B</key>
<string></string>
<key>$F72C</key>
<string>[5;2~</string>
<key>$F72D</key>
<string>[6;2~</string>
<key>0019</key>
<string></string>
<key>F700</key>
<string>OA</string>
<key>F701</key>
<string>OB</string>
<key>F702</key>
<string>OD</string>
<key>F703</key>
<string>OC</string>
<key>F704</key>
<string>OP</string>
<key>F705</key>
<string>OQ</string>
<key>F706</key>
<string>OR</string>
<key>F707</key>
<string>OS</string>
<key>F708</key>
<string>[15~</string>
<key>F709</key>
<string>[17~</string>
<key>F70A</key>
<string>[18~</string>
<key>F70B</key>
<string>[19~</string>
<key>F70C</key>
<string>[20~</string>
<key>F70D</key>
<string>[21~</string>
<key>F70E</key>
<string>[23~</string>
<key>F70F</key>
<string>[24~</string>
<key>F710</key>
<string>[2~</string>
<key>F728</key>
<string>[3~</string>
<key>F729</key>
<string>OH</string>
<key>F72B</key>
<string>OF</string>
<key>F72C</key>
<string>[5~</string>
<key>F72D</key>
<string>[6~</string>
<key>^$F700</key>
<string></string>
<key>^$F701</key>
<string></string>
<key>^$F702</key>
<string></string>
<key>^$F703</key>
<string></string>
<key>^$F704</key>
<string></string>
<key>^$F705</key>
<string></string>
<key>^$F706</key>
<string></string>
<key>^$F707</key>
<string></string>
<key>^$F708</key>
<string>[15;6~</string>
<key>^$F709</key>
<string>[17;6~</string>
<key>^$F70A</key>
<string>[18;6~</string>
<key>^$F70B</key>
<string>[19;6~</string>
<key>^$F70C</key>
<string>[20;6~</string>
<key>^$F70D</key>
<string>[21;6~</string>
<key>^$F70E</key>
<string>[23;6~</string>
<key>^$F70F</key>
<string>[24;6~</string>
<key>^$F710</key>
<string>[2;6~</string>
<key>^$F728</key>
<string>[3;6~</string>
<key>^$F729</key>
<string></string>
<key>^$F72B</key>
<string></string>
<key>^$F72C</key>
<string>[5;6~</string>
<key>^$F72D</key>
<string>[6;6~</string>
<key>^F700</key>
<string></string>
<key>^F701</key>
<string></string>
<key>^F702</key>
<string></string>
<key>^F703</key>
<string></string>
<key>^F704</key>
<string></string>
<key>^F705</key>
<string></string>
<key>^F706</key>
<string></string>
<key>^F707</key>
<string></string>
<key>^F708</key>
<string>[15;5~</string>
<key>^F709</key>
<string>[17;5~</string>
<key>^F70A</key>
<string>[18;5~</string>
<key>^F70B</key>
<string>[19;5~</string>
<key>^F70C</key>
<string>[20;5~</string>
<key>^F70D</key>
<string>[21;5~</string>
<key>^F70E</key>
<string>[23;5~</string>
<key>^F70F</key>
<string>[24;5~</string>
<key>^F710</key>
<string>[2;5~</string>
<key>^F728</key>
<string>[3;5~</string>
<key>^F729</key>
<string></string>
<key>^F72B</key>
<string></string>
<key>^F72C</key>
<string>[5;5~</string>
<key>^F72D</key>
<string>[6;5~</string>
<key>^~$0069</key>
<string>[2;2~</string>
<key>^~0069</key>
<string>[2~</string>
<key>^~F700</key>
<string></string>
<key>^~F701</key>
<string></string>
<key>^~F702</key>
<string></string>
<key>^~F703</key>
<string></string>
<key>^~F710</key>
<string>[2;7~</string>
<key>^~F728</key>
<string>[3;7~</string>
<key>^~F729</key>
<string></string>
<key>^~F72B</key>
<string></string>
<key>^~F72C</key>
<string>[5;7~</string>
<key>^~F72D</key>
<string>[6;7~</string>
<key>~$0401</key>
<string>Ё</string>
<key>~$0404</key>
<string>Є</string>
<key>~$0406</key>
<string>І</string>
<key>~$0407</key>
<string>Ї</string>
<key>~$040E</key>
<string>Ў</string>
<key>~$0410</key>
<string>А</string>
<key>~$0411</key>
<string>Б</string>
<key>~$0412</key>
<string>В</string>
<key>~$0413</key>
<string>Г</string>
<key>~$0414</key>
<string>Д</string>
<key>~$0415</key>
<string>Е</string>
<key>~$0416</key>
<string>Ж</string>
<key>~$0417</key>
<string>З</string>
<key>~$0418</key>
<string>И</string>
<key>~$0419</key>
<string>Й</string>
<key>~$041A</key>
<string>К</string>
<key>~$041B</key>
<string>Л</string>
<key>~$041C</key>
<string>М</string>
<key>~$041D</key>
<string>Н</string>
<key>~$041E</key>
<string>О</string>
<key>~$041F</key>
<string>П</string>
<key>~$0420</key>
<string>Р</string>
<key>~$0421</key>
<string>С</string>
<key>~$0422</key>
<string>Т</string>
<key>~$0423</key>
<string>У</string>
<key>~$0424</key>
<string>Ф</string>
<key>~$0425</key>
<string>Х</string>
<key>~$0426</key>
<string>Ц</string>
<key>~$0427</key>
<string>Ч</string>
<key>~$0428</key>
<string>Ш</string>
<key>~$0429</key>
<string>Щ</string>
<key>~$042A</key>
<string>Ъ</string>
<key>~$042B</key>
<string>Ы</string>
<key>~$042C</key>
<string>Ь</string>
<key>~$042D</key>
<string>Э</string>
<key>~$042E</key>
<string>Ю</string>
<key>~$042F</key>
<string>Я</string>
<key>~$0490</key>
<string>Ґ</string>
<key>~$F700</key>
<string></string>
<key>~$F701</key>
<string></string>
<key>~$F702</key>
<string></string>
<key>~$F703</key>
<string></string>
<key>~$F704</key>
<string></string>
<key>~$F705</key>
<string></string>
<key>~$F706</key>
<string></string>
<key>~$F710</key>
<string>[2;4~</string>
<key>~$F728</key>
<string>[3;4~</string>
<key>~$F729</key>
<string></string>
<key>~$F72B</key>
<string></string>
<key>~$F72C</key>
<string>[5;4~</string>
<key>~$F72D</key>
<string>[6;4~</string>
<key>~0019</key>
<string></string>
<key>~007F</key>
<string></string>
<key>~0430</key>
<string>а</string>
<key>~0431</key>
<string>б</string>
<key>~0432</key>
<string>в</string>
<key>~0433</key>
<string>г</string>
<key>~0434</key>
<string>д</string>
<key>~0435</key>
<string>е</string>
<key>~0436</key>
<string>ж</string>
<key>~0437</key>
<string>з</string>
<key>~0438</key>
<string>и</string>
<key>~0439</key>
<string>й</string>
<key>~043A</key>
<string>к</string>
<key>~043B</key>
<string>л</string>
<key>~043C</key>
<string>м</string>
<key>~043D</key>
<string>н</string>
<key>~043E</key>
<string>о</string>
<key>~043F</key>
<string>п</string>
<key>~0440</key>
<string>р</string>
<key>~0441</key>
<string>с</string>
<key>~0442</key>
<string>т</string>
<key>~0443</key>
<string>у</string>
<key>~0444</key>
<string>ф</string>
<key>~0445</key>
<string>х</string>
<key>~0446</key>
<string>ц</string>
<key>~0447</key>
<string>ч</string>
<key>~0448</key>
<string>ш</string>
<key>~0449</key>
<string>щ</string>
<key>~044A</key>
<string>ъ</string>
<key>~044B</key>
<string>ы</string>
<key>~044C</key>
<string>ь</string>
<key>~044D</key>
<string>э</string>
<key>~044E</key>
<string>ю</string>
<key>~044F</key>
<string>я</string>
<key>~0451</key>
<string>ё</string>
<key>~0454</key>
<string>є</string>
<key>~0456</key>
<string>і</string>
<key>~0457</key>
<string>ї</string>
<key>~045E</key>
<string>ў</string>
<key>~0491</key>
<string>ґ</string>
<key>~F700</key>
<string></string>
<key>~F701</key>
<string></string>
<key>~F702</key>
<string></string>
<key>~F703</key>
<string></string>
<key>~F704</key>
<string></string>
<key>~F705</key>
<string></string>
<key>~F706</key>
<string></string>
<key>~F707</key>
<string></string>
<key>~F708</key>
<string>[15;3~</string>
<key>~F709</key>
<string>[17;3~</string>
<key>~F70A</key>
<string>[18;3~</string>
<key>~F70B</key>
<string>[19;3~</string>
<key>~F70C</key>
<string>[20;3~</string>
<key>~F70D</key>
<string>[21;3~</string>
<key>~F70E</key>
<string>[23;3~</string>
<key>~F70F</key>
<string>[24;3~</string>
<key>~F710</key>
<string>[2;3~</string>
<key>~F728</key>
<string>OM</string>
<key>~F729</key>
<string></string>
<key>~F72B</key>
<string></string>
<key>~F72C</key>
<string>[5;3~</string>
<key>~F72D</key>
<string>[6;3~</string>
</dict>
<key>name</key>
<string>XTerm-UTF-8-combined</string>
<key>noWarnProcesses</key>
<array>
<dict>
<key>ProcessName</key>
<string>screen</string>
</dict>
<dict>
<key>ProcessName</key>
<string>tmux</string>
</dict>
<dict>
<key>ProcessName</key>
<string>luit</string>
</dict>
</array>
<key>rowCount</key>
<integer>33</integer>
<key>shellExitAction</key>
<integer>1</integer>
<key>type</key>
<string>Window Settings</string>
<key>useOptionAsMetaKey</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,490 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CharacterEncoding</key>
<integer>4</integer>
<key>CursorBlink</key>
<true/>
<key>Linewrap</key>
<true/>
<key>ProfileCurrentVersion</key>
<real>2.04</real>
<key>ScrollAlternateScreen</key>
<false/>
<key>VisualBell</key>
<true/>
<key>WindowTitle</key>
<string>XTerm UTF-8 reverse</string>
<key>columnCount</key>
<integer>130</integer>
<key>commentCreator</key>
<string>Created by leo at Wed Nov 18 05:57:10 MSK 2015</string>
<key>commentGenerator</key>
<string>Generated by make-term-profiles.sh, v 1, 18-11-2015</string>
<key>commentTerminal</key>
<string># Reconstructed via infocmp from file: /var/folders/wy/z0gbkfgs7mv24ryqkdm90rm40009rh/T/mtp-XXXXXX.A2Aqm9VG/78/xterm
xterm|xterm terminal emulator (X Window System),</string>
<key>commentTerminfoVersion</key>
<string>/Users/leo/Downloads/terminfo.src, Revision: 1.554
Date: 2015/10/24 16:00:04 </string>
<key>deleteSendsBackspace</key>
<false/>
<key>keyMapBoundKeys</key>
<dict>
<key>$F700</key>
<string></string>
<key>$F701</key>
<string></string>
<key>$F702</key>
<string></string>
<key>$F703</key>
<string></string>
<key>$F704</key>
<string></string>
<key>$F705</key>
<string></string>
<key>$F706</key>
<string></string>
<key>$F707</key>
<string></string>
<key>$F708</key>
<string>[15;2~</string>
<key>$F709</key>
<string>[17;2~</string>
<key>$F70A</key>
<string>[18;2~</string>
<key>$F70B</key>
<string>[19;2~</string>
<key>$F70C</key>
<string>[20;2~</string>
<key>$F70D</key>
<string>[21;2~</string>
<key>$F70E</key>
<string>[23;2~</string>
<key>$F70F</key>
<string>[24;2~</string>
<key>$F710</key>
<string>[2;2~</string>
<key>$F728</key>
<string>[3;2~</string>
<key>$F729</key>
<string></string>
<key>$F72B</key>
<string></string>
<key>$F72C</key>
<string>[5;2~</string>
<key>$F72D</key>
<string>[6;2~</string>
<key>0019</key>
<string></string>
<key>F700</key>
<string>OA</string>
<key>F701</key>
<string>OB</string>
<key>F702</key>
<string>OD</string>
<key>F703</key>
<string>OC</string>
<key>F704</key>
<string>OP</string>
<key>F705</key>
<string>OQ</string>
<key>F706</key>
<string>OR</string>
<key>F707</key>
<string>OS</string>
<key>F708</key>
<string>[15~</string>
<key>F709</key>
<string>[17~</string>
<key>F70A</key>
<string>[18~</string>
<key>F70B</key>
<string>[19~</string>
<key>F70C</key>
<string>[20~</string>
<key>F70D</key>
<string>[21~</string>
<key>F70E</key>
<string>[23~</string>
<key>F70F</key>
<string>[24~</string>
<key>F710</key>
<string>[2~</string>
<key>F728</key>
<string>[3~</string>
<key>F729</key>
<string>OH</string>
<key>F72B</key>
<string>OF</string>
<key>F72C</key>
<string>[5~</string>
<key>F72D</key>
<string>[6~</string>
<key>^$F700</key>
<string></string>
<key>^$F701</key>
<string></string>
<key>^$F702</key>
<string></string>
<key>^$F703</key>
<string></string>
<key>^$F704</key>
<string></string>
<key>^$F705</key>
<string></string>
<key>^$F706</key>
<string></string>
<key>^$F707</key>
<string></string>
<key>^$F708</key>
<string>[15;6~</string>
<key>^$F709</key>
<string>[17;6~</string>
<key>^$F70A</key>
<string>[18;6~</string>
<key>^$F70B</key>
<string>[19;6~</string>
<key>^$F70C</key>
<string>[20;6~</string>
<key>^$F70D</key>
<string>[21;6~</string>
<key>^$F70E</key>
<string>[23;6~</string>
<key>^$F70F</key>
<string>[24;6~</string>
<key>^$F710</key>
<string>[2;6~</string>
<key>^$F728</key>
<string>[3;6~</string>
<key>^$F729</key>
<string></string>
<key>^$F72B</key>
<string></string>
<key>^$F72C</key>
<string>[5;6~</string>
<key>^$F72D</key>
<string>[6;6~</string>
<key>^F700</key>
<string></string>
<key>^F701</key>
<string></string>
<key>^F702</key>
<string></string>
<key>^F703</key>
<string></string>
<key>^F704</key>
<string></string>
<key>^F705</key>
<string></string>
<key>^F706</key>
<string></string>
<key>^F707</key>
<string></string>
<key>^F708</key>
<string>[15;5~</string>
<key>^F709</key>
<string>[17;5~</string>
<key>^F70A</key>
<string>[18;5~</string>
<key>^F70B</key>
<string>[19;5~</string>
<key>^F70C</key>
<string>[20;5~</string>
<key>^F70D</key>
<string>[21;5~</string>
<key>^F70E</key>
<string>[23;5~</string>
<key>^F70F</key>
<string>[24;5~</string>
<key>^F710</key>
<string>[2;5~</string>
<key>^F728</key>
<string>[3;5~</string>
<key>^F729</key>
<string></string>
<key>^F72B</key>
<string></string>
<key>^F72C</key>
<string>[5;5~</string>
<key>^F72D</key>
<string>[6;5~</string>
<key>^~$0069</key>
<string>[2;2~</string>
<key>^~0069</key>
<string>[2~</string>
<key>^~F700</key>
<string></string>
<key>^~F701</key>
<string></string>
<key>^~F702</key>
<string></string>
<key>^~F703</key>
<string></string>
<key>^~F710</key>
<string>[2;7~</string>
<key>^~F728</key>
<string>[3;7~</string>
<key>^~F729</key>
<string></string>
<key>^~F72B</key>
<string></string>
<key>^~F72C</key>
<string>[5;7~</string>
<key>^~F72D</key>
<string>[6;7~</string>
<key>~$0401</key>
<string>Ё</string>
<key>~$0404</key>
<string>Є</string>
<key>~$0406</key>
<string>І</string>
<key>~$0407</key>
<string>Ї</string>
<key>~$040E</key>
<string>Ў</string>
<key>~$0410</key>
<string>А</string>
<key>~$0411</key>
<string>Б</string>
<key>~$0412</key>
<string>В</string>
<key>~$0413</key>
<string>Г</string>
<key>~$0414</key>
<string>Д</string>
<key>~$0415</key>
<string>Е</string>
<key>~$0416</key>
<string>Ж</string>
<key>~$0417</key>
<string>З</string>
<key>~$0418</key>
<string>И</string>
<key>~$0419</key>
<string>Й</string>
<key>~$041A</key>
<string>К</string>
<key>~$041B</key>
<string>Л</string>
<key>~$041C</key>
<string>М</string>
<key>~$041D</key>
<string>Н</string>
<key>~$041E</key>
<string>О</string>
<key>~$041F</key>
<string>П</string>
<key>~$0420</key>
<string>Р</string>
<key>~$0421</key>
<string>С</string>
<key>~$0422</key>
<string>Т</string>
<key>~$0423</key>
<string>У</string>
<key>~$0424</key>
<string>Ф</string>
<key>~$0425</key>
<string>Х</string>
<key>~$0426</key>
<string>Ц</string>
<key>~$0427</key>
<string>Ч</string>
<key>~$0428</key>
<string>Ш</string>
<key>~$0429</key>
<string>Щ</string>
<key>~$042A</key>
<string>Ъ</string>
<key>~$042B</key>
<string>Ы</string>
<key>~$042C</key>
<string>Ь</string>
<key>~$042D</key>
<string>Э</string>
<key>~$042E</key>
<string>Ю</string>
<key>~$042F</key>
<string>Я</string>
<key>~$0490</key>
<string>Ґ</string>
<key>~$F700</key>
<string></string>
<key>~$F701</key>
<string></string>
<key>~$F702</key>
<string></string>
<key>~$F703</key>
<string></string>
<key>~$F704</key>
<string></string>
<key>~$F705</key>
<string></string>
<key>~$F706</key>
<string></string>
<key>~$F710</key>
<string>[2;4~</string>
<key>~$F728</key>
<string>[3;4~</string>
<key>~$F729</key>
<string></string>
<key>~$F72B</key>
<string></string>
<key>~$F72C</key>
<string>[5;4~</string>
<key>~$F72D</key>
<string>[6;4~</string>
<key>~0019</key>
<string></string>
<key>~007F</key>
<string></string>
<key>~0430</key>
<string>а</string>
<key>~0431</key>
<string>б</string>
<key>~0432</key>
<string>в</string>
<key>~0433</key>
<string>г</string>
<key>~0434</key>
<string>д</string>
<key>~0435</key>
<string>е</string>
<key>~0436</key>
<string>ж</string>
<key>~0437</key>
<string>з</string>
<key>~0438</key>
<string>и</string>
<key>~0439</key>
<string>й</string>
<key>~043A</key>
<string>к</string>
<key>~043B</key>
<string>л</string>
<key>~043C</key>
<string>м</string>
<key>~043D</key>
<string>н</string>
<key>~043E</key>
<string>о</string>
<key>~043F</key>
<string>п</string>
<key>~0440</key>
<string>р</string>
<key>~0441</key>
<string>с</string>
<key>~0442</key>
<string>т</string>
<key>~0443</key>
<string>у</string>
<key>~0444</key>
<string>ф</string>
<key>~0445</key>
<string>х</string>
<key>~0446</key>
<string>ц</string>
<key>~0447</key>
<string>ч</string>
<key>~0448</key>
<string>ш</string>
<key>~0449</key>
<string>щ</string>
<key>~044A</key>
<string>ъ</string>
<key>~044B</key>
<string>ы</string>
<key>~044C</key>
<string>ь</string>
<key>~044D</key>
<string>э</string>
<key>~044E</key>
<string>ю</string>
<key>~044F</key>
<string>я</string>
<key>~0451</key>
<string>ё</string>
<key>~0454</key>
<string>є</string>
<key>~0456</key>
<string>і</string>
<key>~0457</key>
<string>ї</string>
<key>~045E</key>
<string>ў</string>
<key>~0491</key>
<string>ґ</string>
<key>~F700</key>
<string></string>
<key>~F701</key>
<string></string>
<key>~F702</key>
<string></string>
<key>~F703</key>
<string></string>
<key>~F704</key>
<string></string>
<key>~F705</key>
<string></string>
<key>~F706</key>
<string></string>
<key>~F707</key>
<string></string>
<key>~F708</key>
<string>[15;3~</string>
<key>~F709</key>
<string>[17;3~</string>
<key>~F70A</key>
<string>[18;3~</string>
<key>~F70B</key>
<string>[19;3~</string>
<key>~F70C</key>
<string>[20;3~</string>
<key>~F70D</key>
<string>[21;3~</string>
<key>~F70E</key>
<string>[23;3~</string>
<key>~F70F</key>
<string>[24;3~</string>
<key>~F710</key>
<string>[2;3~</string>
<key>~F728</key>
<string>OM</string>
<key>~F729</key>
<string></string>
<key>~F72B</key>
<string></string>
<key>~F72C</key>
<string>[5;3~</string>
<key>~F72D</key>
<string>[6;3~</string>
</dict>
<key>name</key>
<string>XTerm-UTF-8-reverse</string>
<key>noWarnProcesses</key>
<array>
<dict>
<key>ProcessName</key>
<string>screen</string>
</dict>
<dict>
<key>ProcessName</key>
<string>tmux</string>
</dict>
<dict>
<key>ProcessName</key>
<string>luit</string>
</dict>
</array>
<key>rowCount</key>
<integer>33</integer>
<key>shellExitAction</key>
<integer>1</integer>
<key>type</key>
<string>Window Settings</string>
<key>useOptionAsMetaKey</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,490 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CharacterEncoding</key>
<integer>4</integer>
<key>CursorBlink</key>
<true/>
<key>Linewrap</key>
<true/>
<key>ProfileCurrentVersion</key>
<real>2.04</real>
<key>ScrollAlternateScreen</key>
<false/>
<key>VisualBell</key>
<true/>
<key>WindowTitle</key>
<string>XTerm UTF-8 strict</string>
<key>columnCount</key>
<integer>130</integer>
<key>commentCreator</key>
<string>Created by leo at Wed Nov 18 05:57:10 MSK 2015</string>
<key>commentGenerator</key>
<string>Generated by make-term-profiles.sh, v 1, 18-11-2015</string>
<key>commentTerminal</key>
<string># Reconstructed via infocmp from file: /var/folders/wy/z0gbkfgs7mv24ryqkdm90rm40009rh/T/mtp-XXXXXX.A2Aqm9VG/78/xterm
xterm|xterm terminal emulator (X Window System),</string>
<key>commentTerminfoVersion</key>
<string>/Users/leo/Downloads/terminfo.src, Revision: 1.554
Date: 2015/10/24 16:00:04 </string>
<key>deleteSendsBackspace</key>
<false/>
<key>keyMapBoundKeys</key>
<dict>
<key>$F700</key>
<string></string>
<key>$F701</key>
<string></string>
<key>$F702</key>
<string></string>
<key>$F703</key>
<string></string>
<key>$F704</key>
<string></string>
<key>$F705</key>
<string></string>
<key>$F706</key>
<string></string>
<key>$F707</key>
<string></string>
<key>$F708</key>
<string>[15;2~</string>
<key>$F709</key>
<string>[17;2~</string>
<key>$F70A</key>
<string>[18;2~</string>
<key>$F70B</key>
<string>[19;2~</string>
<key>$F70C</key>
<string>[20;2~</string>
<key>$F70D</key>
<string>[21;2~</string>
<key>$F70E</key>
<string>[23;2~</string>
<key>$F70F</key>
<string>[24;2~</string>
<key>$F710</key>
<string>[2;2~</string>
<key>$F728</key>
<string>[3;2~</string>
<key>$F729</key>
<string></string>
<key>$F72B</key>
<string></string>
<key>$F72C</key>
<string>[5;2~</string>
<key>$F72D</key>
<string>[6;2~</string>
<key>0019</key>
<string></string>
<key>F700</key>
<string>OA</string>
<key>F701</key>
<string>OB</string>
<key>F702</key>
<string>OD</string>
<key>F703</key>
<string>OC</string>
<key>F704</key>
<string>OP</string>
<key>F705</key>
<string>OQ</string>
<key>F706</key>
<string>OR</string>
<key>F707</key>
<string>OS</string>
<key>F708</key>
<string>[15~</string>
<key>F709</key>
<string>[17~</string>
<key>F70A</key>
<string>[18~</string>
<key>F70B</key>
<string>[19~</string>
<key>F70C</key>
<string>[20~</string>
<key>F70D</key>
<string>[21~</string>
<key>F70E</key>
<string>[23~</string>
<key>F70F</key>
<string>[24~</string>
<key>F710</key>
<string>[2~</string>
<key>F728</key>
<string>[3~</string>
<key>F729</key>
<string>OH</string>
<key>F72B</key>
<string>OF</string>
<key>F72C</key>
<string>[5~</string>
<key>F72D</key>
<string>[6~</string>
<key>^$F700</key>
<string></string>
<key>^$F701</key>
<string></string>
<key>^$F702</key>
<string></string>
<key>^$F703</key>
<string></string>
<key>^$F704</key>
<string></string>
<key>^$F705</key>
<string></string>
<key>^$F706</key>
<string></string>
<key>^$F707</key>
<string></string>
<key>^$F708</key>
<string>[15;6~</string>
<key>^$F709</key>
<string>[17;6~</string>
<key>^$F70A</key>
<string>[18;6~</string>
<key>^$F70B</key>
<string>[19;6~</string>
<key>^$F70C</key>
<string>[20;6~</string>
<key>^$F70D</key>
<string>[21;6~</string>
<key>^$F70E</key>
<string>[23;6~</string>
<key>^$F70F</key>
<string>[24;6~</string>
<key>^$F710</key>
<string>[2;6~</string>
<key>^$F728</key>
<string>[3;6~</string>
<key>^$F729</key>
<string></string>
<key>^$F72B</key>
<string></string>
<key>^$F72C</key>
<string>[5;6~</string>
<key>^$F72D</key>
<string>[6;6~</string>
<key>^F700</key>
<string></string>
<key>^F701</key>
<string></string>
<key>^F702</key>
<string></string>
<key>^F703</key>
<string></string>
<key>^F704</key>
<string></string>
<key>^F705</key>
<string></string>
<key>^F706</key>
<string></string>
<key>^F707</key>
<string></string>
<key>^F708</key>
<string>[15;5~</string>
<key>^F709</key>
<string>[17;5~</string>
<key>^F70A</key>
<string>[18;5~</string>
<key>^F70B</key>
<string>[19;5~</string>
<key>^F70C</key>
<string>[20;5~</string>
<key>^F70D</key>
<string>[21;5~</string>
<key>^F70E</key>
<string>[23;5~</string>
<key>^F70F</key>
<string>[24;5~</string>
<key>^F710</key>
<string>[2;5~</string>
<key>^F728</key>
<string>[3;5~</string>
<key>^F729</key>
<string></string>
<key>^F72B</key>
<string></string>
<key>^F72C</key>
<string>[5;5~</string>
<key>^F72D</key>
<string>[6;5~</string>
<key>^~$0069</key>
<string>[2;2~</string>
<key>^~0069</key>
<string>[2~</string>
<key>^~F700</key>
<string></string>
<key>^~F701</key>
<string></string>
<key>^~F702</key>
<string></string>
<key>^~F703</key>
<string></string>
<key>^~F710</key>
<string>[2;7~</string>
<key>^~F728</key>
<string>[3;7~</string>
<key>^~F729</key>
<string></string>
<key>^~F72B</key>
<string></string>
<key>^~F72C</key>
<string>[5;7~</string>
<key>^~F72D</key>
<string>[6;7~</string>
<key>~$0401</key>
<string>Ё</string>
<key>~$0404</key>
<string>Є</string>
<key>~$0406</key>
<string>І</string>
<key>~$0407</key>
<string>Ї</string>
<key>~$040E</key>
<string>Ў</string>
<key>~$0410</key>
<string>А</string>
<key>~$0411</key>
<string>Б</string>
<key>~$0412</key>
<string>В</string>
<key>~$0413</key>
<string>Г</string>
<key>~$0414</key>
<string>Д</string>
<key>~$0415</key>
<string>Е</string>
<key>~$0416</key>
<string>Ж</string>
<key>~$0417</key>
<string>З</string>
<key>~$0418</key>
<string>И</string>
<key>~$0419</key>
<string>Й</string>
<key>~$041A</key>
<string>К</string>
<key>~$041B</key>
<string>Л</string>
<key>~$041C</key>
<string>М</string>
<key>~$041D</key>
<string>Н</string>
<key>~$041E</key>
<string>О</string>
<key>~$041F</key>
<string>П</string>
<key>~$0420</key>
<string>Р</string>
<key>~$0421</key>
<string>С</string>
<key>~$0422</key>
<string>Т</string>
<key>~$0423</key>
<string>У</string>
<key>~$0424</key>
<string>Ф</string>
<key>~$0425</key>
<string>Х</string>
<key>~$0426</key>
<string>Ц</string>
<key>~$0427</key>
<string>Ч</string>
<key>~$0428</key>
<string>Ш</string>
<key>~$0429</key>
<string>Щ</string>
<key>~$042A</key>
<string>Ъ</string>
<key>~$042B</key>
<string>Ы</string>
<key>~$042C</key>
<string>Ь</string>
<key>~$042D</key>
<string>Э</string>
<key>~$042E</key>
<string>Ю</string>
<key>~$042F</key>
<string>Я</string>
<key>~$0490</key>
<string>Ґ</string>
<key>~$F700</key>
<string></string>
<key>~$F701</key>
<string></string>
<key>~$F702</key>
<string></string>
<key>~$F703</key>
<string></string>
<key>~$F704</key>
<string></string>
<key>~$F705</key>
<string></string>
<key>~$F706</key>
<string></string>
<key>~$F710</key>
<string>[2;4~</string>
<key>~$F728</key>
<string>[3;4~</string>
<key>~$F729</key>
<string></string>
<key>~$F72B</key>
<string></string>
<key>~$F72C</key>
<string>[5;4~</string>
<key>~$F72D</key>
<string>[6;4~</string>
<key>~0019</key>
<string></string>
<key>~007F</key>
<string></string>
<key>~0430</key>
<string>а</string>
<key>~0431</key>
<string>б</string>
<key>~0432</key>
<string>в</string>
<key>~0433</key>
<string>г</string>
<key>~0434</key>
<string>д</string>
<key>~0435</key>
<string>е</string>
<key>~0436</key>
<string>ж</string>
<key>~0437</key>
<string>з</string>
<key>~0438</key>
<string>и</string>
<key>~0439</key>
<string>й</string>
<key>~043A</key>
<string>к</string>
<key>~043B</key>
<string>л</string>
<key>~043C</key>
<string>м</string>
<key>~043D</key>
<string>н</string>
<key>~043E</key>
<string>о</string>
<key>~043F</key>
<string>п</string>
<key>~0440</key>
<string>р</string>
<key>~0441</key>
<string>с</string>
<key>~0442</key>
<string>т</string>
<key>~0443</key>
<string>у</string>
<key>~0444</key>
<string>ф</string>
<key>~0445</key>
<string>х</string>
<key>~0446</key>
<string>ц</string>
<key>~0447</key>
<string>ч</string>
<key>~0448</key>
<string>ш</string>
<key>~0449</key>
<string>щ</string>
<key>~044A</key>
<string>ъ</string>
<key>~044B</key>
<string>ы</string>
<key>~044C</key>
<string>ь</string>
<key>~044D</key>
<string>э</string>
<key>~044E</key>
<string>ю</string>
<key>~044F</key>
<string>я</string>
<key>~0451</key>
<string>ё</string>
<key>~0454</key>
<string>є</string>
<key>~0456</key>
<string>і</string>
<key>~0457</key>
<string>ї</string>
<key>~045E</key>
<string>ў</string>
<key>~0491</key>
<string>ґ</string>
<key>~F700</key>
<string></string>
<key>~F701</key>
<string></string>
<key>~F702</key>
<string></string>
<key>~F703</key>
<string></string>
<key>~F704</key>
<string></string>
<key>~F705</key>
<string></string>
<key>~F706</key>
<string></string>
<key>~F707</key>
<string></string>
<key>~F708</key>
<string>[15;3~</string>
<key>~F709</key>
<string>[17;3~</string>
<key>~F70A</key>
<string>[18;3~</string>
<key>~F70B</key>
<string>[19;3~</string>
<key>~F70C</key>
<string>[20;3~</string>
<key>~F70D</key>
<string>[21;3~</string>
<key>~F70E</key>
<string>[23;3~</string>
<key>~F70F</key>
<string>[24;3~</string>
<key>~F710</key>
<string>[2;3~</string>
<key>~F728</key>
<string>OM</string>
<key>~F729</key>
<string></string>
<key>~F72B</key>
<string></string>
<key>~F72C</key>
<string>[5;3~</string>
<key>~F72D</key>
<string>[6;3~</string>
</dict>
<key>name</key>
<string>XTerm-UTF-8-strict</string>
<key>noWarnProcesses</key>
<array>
<dict>
<key>ProcessName</key>
<string>screen</string>
</dict>
<dict>
<key>ProcessName</key>
<string>tmux</string>
</dict>
<dict>
<key>ProcessName</key>
<string>luit</string>
</dict>
</array>
<key>rowCount</key>
<integer>33</integer>
<key>shellExitAction</key>
<integer>1</integer>
<key>type</key>
<string>Window Settings</string>
<key>useOptionAsMetaKey</key>
<true/>
</dict>
</plist>

130
contrib/Unix/ged-vttest-lite.py Executable file
View File

@ -0,0 +1,130 @@
#!/usr/bin/env python
# vim:set sw=4 ts=8 fileencoding=utf8::Кодировка:UTF-8[АБЁЪЯабёъя]
#
# Авторское право (с) 2015, Сергей Леонтьев, leo@sai.msu.ru
#
# Разрешается повторное распространение и использование как в виде
# исходника так и в двоичной форме, с модификациями или без, при
# соблюдении следующих условий:
#
# 1. При повторном распространении исходного кода должно оставаться
# указанное выше уведомление об авторском праве, этот список условий и
# нижеследующий отказ от гарантий.
#
# 2. При повторном распространении двоичного кода должно
# воспроизводиться указанное выше уведомление об авторском праве, этот
# список условий и нижеследующий отказ от гарантий в документации
# и/или в других материалах, поставляемых при распространении.
#
# 3. Ни название Крипто-Про, ни имена его сотрудников не могут быть
# использованы в качестве поддержки или продвижения продуктов,
# основанных на этом ПО без предварительного письменного разрешения.
#
# ЭТО ПРОГРАММА ПРЕДОСТАВЛЕНА БЕСПЛАТНО ДЕРЖАТЕЛЯМИ АВТОРСКИХ ПРАВ
# И/ИЛИ ДРУГИМИ СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА
# ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ
# ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И
# ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ
# СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО В УСТНОЙ ФОРМЕ, НИ ОДИН
# ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ
# ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО РАЗРЕШЕНО
# ВЫШЕ, НЕ ОТВЕТСТВЕННЫ ПЕРЕД ВАМИ ЗА УБЫТКИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ,
# СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ПРОИСТЕКАЮЩИЕ ИЗ
# ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО
# НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ
# НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ,
# ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ),
# ДАЖЕ ЕСЛИ ТАКОЙ ДЕРЖАТЕЛЬ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О
# ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.
#
#
# Простое тестирование терминала на соответствие terminfo
#
import curses, traceback
from curses import *
def test(y, x, ukey, ckeys, lckey=1):
m = 2
of = 13
mysc.addstr(y,x,ukey+": ");
mysc.addstr(y+m,m,"Press character 'n' twice with pause to next test")
n = 0
while n < 2:
key = mysc.getkey()
for i in range(lckey):
mysc.timeout(300)
try:
key += mysc.getkey()
except:
pass
mysc.timeout(-1)
found = False
for k in ckeys:
if k == key:
found = True
if found:
mysc.addstr(y,x+of," ")
mysc.addstr(y,x+of,"Ok: " + key)
break
elif "n" == key:
n += 1
else:
mysc.timeout(300)
keys = "'" + key
try:
while 1:
key = mysc.getkey()
keys += key
except:
pass
keys += "'"
mysc.timeout(-1)
mysc.addstr(y,x+of," ")
mysc.addstr(y,x+of,"Fail: " + keys)
mysc.addstr(y+m,m," ")
#==========================================================
# MAIN LOOP
#==========================================================
try:
mysc = initscr()
noecho()
term = termname()
shift = 12
shift2 = 12
for t in [ "xterm-old", "xterm-r5", "xterm-r6", "screen.xterm-r6",
"rxvt", "screen.rxvt", "putty", "screen.putty", "linux",
"screen.linux" ]:
if t == term[0:len(t)]:
shift = 10
mysc.keypad(1)
mysc.clear()
mysc.border(0)
mysc.addstr(1,8,termname() + " " + str(mysc.getmaxyx()))
test(3,3,"F2",["KEY_F(2)"])
test(3,40,"Shift+F2",["KEY_F(" + str(2+shift) + ")"])
test(4,3,"F5",["KEY_F(5)"])
test(4,40,"Ctrl+F5",["KEY_F(" + str(5+shift+shift2) + ")"])
test(5,3,"F9",["KEY_F(9)"])
test(5,40,"Alt-F9",["KEY_F(" + str(9+2*(shift+shift2)) + ")"])
test(6,3,"Left",["KEY_LEFT"])
test(6,40,"Ctrl+Left",["kLFT5"])
test(7,3,"Up",["KEY_UP"])
test(7,40,"Shify+Up",["KEY_SR"])
test(8,3,"PgUp",["KEY_PPAGE"])
test(8,40,"Shift+PgUp",["KEY_SPREVIOUS"])
test(9,3,"Shift+Tab",["KEY_BTAB"])
test(9,40,"Alt+TAB",["\033\t"], 2)
test(10,3,"Alt+BackSpace",["\033\b","\033KEY_BACKSPACE"],2)
test(10,40,"Alt+Enter",["\033\n","\033KEY_ENTER"],2)
test(11,3,"Alt+Z",["\033z","\033Z"],2)
test(11,40,"Alt+\312",["\033q","\033Q","\033\312","\033\352"],2)
mysc.addstr(23,2,"Press <CR> to exit")
mysc.getch()
finally:
endwin()
traceback.print_exc()

View File

@ -0,0 +1,87 @@
#!/bin/sh
# vim:set sw=4 ts=8 fileencoding=utf8::Кодировка:UTF-8[АБЁЪЯабёъя]
#
# Авторское право (с) 2015, Сергей Леонтьев, leo@sai.msu.ru
#
# Разрешается повторное распространение и использование как в виде
# исходника так и в двоичной форме, с модификациями или без, при
# соблюдении следующих условий:
#
# 1. При повторном распространении исходного кода должно оставаться
# указанное выше уведомление об авторском праве, этот список условий и
# нижеследующий отказ от гарантий.
#
# 2. При повторном распространении двоичного кода должно
# воспроизводиться указанное выше уведомление об авторском праве, этот
# список условий и нижеследующий отказ от гарантий в документации
# и/или в других материалах, поставляемых при распространении.
#
# 3. Ни название Крипто-Про, ни имена его сотрудников не могут быть
# использованы в качестве поддержки или продвижения продуктов,
# основанных на этом ПО без предварительного письменного разрешения.
#
# ЭТО ПРОГРАММА ПРЕДОСТАВЛЕНА БЕСПЛАТНО ДЕРЖАТЕЛЯМИ АВТОРСКИХ ПРАВ
# И/ИЛИ ДРУГИМИ СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА
# ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ
# ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И
# ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ
# СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО В УСТНОЙ ФОРМЕ, НИ ОДИН
# ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ
# ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО РАЗРЕШЕНО
# ВЫШЕ, НЕ ОТВЕТСТВЕННЫ ПЕРЕД ВАМИ ЗА УБЫТКИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ,
# СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ПРОИСТЕКАЮЩИЕ ИЗ
# ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО
# НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ
# НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ,
# ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ),
# ДАЖЕ ЕСЛИ ТАКОЙ ДЕРЖАТЕЛЬ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О
# ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.
#
#
# Макет настройки Alt-символов Golded+ для фонетической клавиатуры ЯВЕРТЫ
#
ge="${1:-ge}"
gearg="$2"
koi8rxterm -xrm '*VT100.translations: #override \n\
Shift <KeyPress> Prior: string(0x1b) string("[5;2~") \n\
Shift <KeyPress> Next: string(0x1b) string("[6;2~") \n\
Alt <Key>Cyrillic_io: string(0x1b) string("`") \n\
Alt <Key>Cyrillic_hardsign: string(0x1b) string("=") \n\
Alt <Key>Cyrillic_ya: string(0x1b) string("q") \n\
Alt <Key>Cyrillic_ve: string(0x1b) string("w") \n\
Alt <Key>Cyrillic_ie: string(0x1b) string("e") \n\
Alt <Key>Cyrillic_er: string(0x1b) string("r") \n\
Alt <Key>Cyrillic_te: string(0x1b) string("t") \n\
Alt <Key>Cyrillic_yeru: string(0x1b) string("y") \n\
Alt <Key>Cyrillic_u: string(0x1b) string("u") \n\
Alt <Key>Cyrillic_i: string(0x1b) string("i") \n\
Alt <Key>Cyrillic_o: string(0x1b) string("o") \n\
Alt <Key>Cyrillic_pe: string(0x1b) string("p") \n\
Alt <Key>Cyrillic_sha: string(0x1b) string("[") \n\
Alt <Key>Cyrillic_shcha: string(0x1b) string("]") \n\
Alt <Key>Cyrillic_e: string(0x1b) string("\") \n\
Alt <Key>Cyrillic_a: string(0x1b) string("a") \n\
Alt <Key>Cyrillic_es: string(0x1b) string("s") \n\
Alt <Key>Cyrillic_de: string(0x1b) string("d") \n\
Alt <Key>Cyrillic_ef: string(0x1b) string("f") \n\
Alt <Key>Cyrillic_ghe: string(0x1b) string("g") \n\
Alt <Key>Cyrillic_ha: string(0x1b) string("h") \n\
Alt <Key>Cyrillic_shorti: string(0x1b) string("j") \n\
Alt <Key>Cyrillic_ka: string(0x1b) string("k") \n\
Alt <Key>Cyrillic_el: string(0x1b) string("l") \n\
Alt <Key>Cyrillic_che: string(0x1b) string(";") \n\
Alt <Key>Cyrillic_yu: string(0x1b) string("'"'"'") \n\
Alt <Key>Cyrillic_ze: string(0x1b) string("z") \n\
Alt <Key>Cyrillic_softsign: string(0x1b) string("x") \n\
Alt <Key>Cyrillic_tse: string(0x1b) string("c") \n\
Alt <Key>Cyrillic_zhe: string(0x1b) string("v") \n\
Alt <Key>Cyrillic_be: string(0x1b) string("b") \n\
Alt <Key>Cyrillic_en: string(0x1b) string("n") \n\
Alt <Key>Cyrillic_em: string(0x1b) string("m") '\
-geometry 130x33 -e ${ge} ${gearg}
#-xrm '*altIsNotMeta: true' \
#-xrm '*altSendsEscape: true' \

View File

@ -0,0 +1,69 @@
#!/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

View File

@ -0,0 +1,436 @@
#!/bin/sh
# vim:set sw=4 ts=8 fileencoding=utf8::Кодировка:UTF-8[АБЁЪЯабёъя]
#
# Авторское право (с) 2015, Сергей Леонтьев, leo@sai.msu.ru
#
# Разрешается повторное распространение и использование как в виде
# исходника так и в двоичной форме, с модификациями или без, при
# соблюдении следующих условий:
#
# 1. При повторном распространении исходного кода должно оставаться
# указанное выше уведомление об авторском праве, этот список условий и
# нижеследующий отказ от гарантий.
#
# 2. При повторном распространении двоичного кода должно
# воспроизводиться указанное выше уведомление об авторском праве, этот
# список условий и нижеследующий отказ от гарантий в документации
# и/или в других материалах, поставляемых при распространении.
#
# 3. Ни название Крипто-Про, ни имена его сотрудников не могут быть
# использованы в качестве поддержки или продвижения продуктов,
# основанных на этом ПО без предварительного письменного разрешения.
#
# ЭТО ПРОГРАММА ПРЕДОСТАВЛЕНА БЕСПЛАТНО ДЕРЖАТЕЛЯМИ АВТОРСКИХ ПРАВ
# И/ИЛИ ДРУГИМИ СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА
# ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ
# ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И
# ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ
# СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО В УСТНОЙ ФОРМЕ, НИ ОДИН
# ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ
# ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО РАЗРЕШЕНО
# ВЫШЕ, НЕ ОТВЕТСТВЕННЫ ПЕРЕД ВАМИ ЗА УБЫТКИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ,
# СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ПРОИСТЕКАЮЩИЕ ИЗ
# ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО
# НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ
# НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ,
# ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ),
# ДАЖЕ ЕСЛИ ТАКОЙ ДЕРЖАТЕЛЬ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О
# ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.
#
#
# Построение ресурсов для Apple Terminal и iTerm по БД терминала
# terminfo
#
file_version="make-term-profiles.sh, v 1, 18-11-2015"
########################################################################
# Разбор аргументов и т.д.
########################################################################
set -e
prog=$(basename "$0")
usage() {
echo "$prog: Usage:
$prog [<terminal> [<terminfo source>]]" 1>&2
exit 1
}
if [ $# -gt 3 ] ; then
usage
fi
term="${1:-$TERM}"
tisrc="$2"
td=$(mktemp -d -t "mtp-XXXXXX")
echo create "$td"
trap 'echo remove "$td"; rm -r "$td"; exit 3' EXIT HUP INT TERM
########################################################################
# Все строки в файле в UTF-8
########################################################################
LANG="ru_RU.UTF-8"; export LANG
LC_ALL="ru_RU.UTF-8"; export LC_ALL
unset LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME
########################################################################
# Получаем коды клавиш и коды кодировок от OS X
########################################################################
OSXF=/System/Library/Frameworks
SHDR=framework/Versions/Current/Headers
NSString_h="$OSXF/Foundation.$SHDR/NSString.h"
CFStringEncodingExt_h="$OSXF/CoreFoundation.$SHDR/CFStringEncodingExt.h"
NSEvent_h="$OSXF/AppKit.$SHDR/NSEvent.h"
NSText_h="$OSXF/AppKit.$SHDR/NSText.h"
get_value() {
sed -n \
"/[[:space:]]*$1[[:space:]]*=[[:space:]]*\([0-9xa-fXA-F]*\).*/s//\1/p" \
"$2"
}
get_const() {
eval "$1"="$(get_value $1 $2)"
}
get_const NSDeleteCharacter "$NSText_h"
get_const NSTabCharacter "$NSText_h"
get_const NSBackTabCharacter "$NSText_h" # <Shift>+<Tab> - это клавиша!
get_const NSNewlineCharacter "$NSText_h"
#
# Смотри также:
# <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CORPCHAR.TXT>
#
get_const NSUpArrowFunctionKey "$NSEvent_h"
get_const NSDownArrowFunctionKey "$NSEvent_h"
get_const NSLeftArrowFunctionKey "$NSEvent_h"
get_const NSRightArrowFunctionKey "$NSEvent_h"
get_const NSF1FunctionKey "$NSEvent_h"
get_const NSF2FunctionKey "$NSEvent_h"
get_const NSF3FunctionKey "$NSEvent_h"
get_const NSF4FunctionKey "$NSEvent_h"
get_const NSF5FunctionKey "$NSEvent_h"
get_const NSF6FunctionKey "$NSEvent_h"
get_const NSF7FunctionKey "$NSEvent_h"
get_const NSF8FunctionKey "$NSEvent_h"
get_const NSF9FunctionKey "$NSEvent_h"
get_const NSF10FunctionKey "$NSEvent_h"
get_const NSF11FunctionKey "$NSEvent_h"
get_const NSF12FunctionKey "$NSEvent_h"
get_const NSF13FunctionKey "$NSEvent_h"
get_const NSF14FunctionKey "$NSEvent_h"
get_const NSF15FunctionKey "$NSEvent_h"
get_const NSF16FunctionKey "$NSEvent_h"
get_const NSF17FunctionKey "$NSEvent_h"
get_const NSF18FunctionKey "$NSEvent_h"
get_const NSF19FunctionKey "$NSEvent_h"
#get_const NSF20FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF21FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF22FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF23FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF24FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF25FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF26FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF27FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF28FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF29FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF30FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF31FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF32FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF33FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF34FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSF35FunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSInsertFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
get_const NSDeleteFunctionKey "$NSEvent_h" # Forward Delete key
get_const NSHomeFunctionKey "$NSEvent_h"
#get_const NSBeginFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
get_const NSEndFunctionKey "$NSEvent_h"
get_const NSPageUpFunctionKey "$NSEvent_h"
get_const NSPageDownFunctionKey "$NSEvent_h"
#get_const NSPrintScreenFunctionKey "$NSEvent_h" # Not on most Macintosh
#get_const NSScrollLockFunctionKey "$NSEvent_h" # Not on most Macintosh
#get_const NSPauseFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSSysReqFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSBreakFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSResetFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSStopFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSMenuFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSUserFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSSystemFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSPrintFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
get_const NSClearLineFunctionKey "$NSEvent_h" # Clear/Num Lock key.
#get_const NSClearDisplayFunctionKey "$NSEvent_h" # Not on most Macintosh
#get_const NSInsertLineFunctionKey "$NSEvent_h" # Not on most Macintosh
#get_const NSDeleteLineFunctionKey "$NSEvent_h" # Not on most Macintosh
#get_const NSInsertCharFunctionKey "$NSEvent_h" # Not on most Macintosh
#get_const NSDeleteCharFunctionKey "$NSEvent_h" # Not on most Macintosh
#get_const NSPrevFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSNextFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSSelectFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSExecuteFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSUndoFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSRedoFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
#get_const NSFindFunctionKey "$NSEvent_h" # Not on most Macintosh keyboards
get_const NSHelpFunctionKey "$NSEvent_h"
#get_const NSModeSwitchFunctionKey "$NSEvent_h" # Not on most Macintosh
get_const NSUTF8StringEncoding "$NSString_h"
get_const kCFStringEncodingKOI8_R "$CFStringEncodingExt_h"
get_const kCFStringEncodingKOI8_U "$CFStringEncodingExt_h"
nsKOI8_R=$((kCFStringEncodingKOI8_R + 0x80000000))
nsKOI8_U=$((kCFStringEncodingKOI8_U + 0x80000000))
#
# Правда в fido7.mac.creature писали, что у русской кодировки ноги
# растут от kTextEncodingKOI8_R из TextCommon.h
# Date: Thu, 09 Mar 2006 11:33:20 +0300
# From: Ivan Kuvshinov <Ivan.Kuvshinov@p10110.f830.n5020.z2.fidonet.org>
# Subject: Русская раскладка в ОСИкс [0/0].
# Message-ID: <1141904373@p10110.f830.n5020.z2.FidoNet.ftn>
#
#printf "NSUpArrowFunctionKey %4X\n" $NSUpArrowFunctionKey
#printf "NSSystemFunctionKey %4X\n" $NSSystemFunctionKey
#printf "NSModeSwitchFunctionKey %4X\n" $NSModeSwitchFunctionKey
#printf "UTF-8: %d 0x%08x\n" $NSUTF8StringEncoding $NSUTF8StringEncoding
#printf "KOI8-R: %d 0x%08x\n" $nsKOI8_R $nsKOI8_R
#printf "KOI8-U: %d 0x%08x\n" $nsKOI8_U $nsKOI8_U
#set | grep -i ns
########################################################################
# Настраиваем БД терминалов terminfo
########################################################################
# Биты маски DECFNK
control=4
option=2
shift=1
if [ -n "$tisrc" ] ; then
# http://invisible-island.net/ncurses/ncurses.faq.html#which_terminfo
tic -x -o "$td" "$tisrc"
TERMINFO="$td" ; export TERMINFO
terminfo_version="$tisrc, "$(sed -n \
'/#.*\$[[:space:]]*\([DR].*\)\$/s//\1/p' "$tisrc")
else
terminfo_version=$(uname -sr)", "$(type infocmp)", "$(infocmp -V)
fi
TERM="$term"; export TERM
hex() {
echo 0x$(echo $(printf "$1" | iconv -t UCS-2LE | od -t x2 | cut -c 8-))
}
dcomm() {
defaults write "$plist" "commentGenerator" \
-string "Generated by $file_version"
defaults write "$plist" "commentCreator" \
-string "Created by $(whoami) at $(LANG=C LC_ALL=C date)"
defaults write "$plist" "commentTerminfoVersion" -string "$1"
defaults write "$plist" "commentTerminal" -string "$2"
}
dkey() {
ms=
if [ 0 -ne $((($1 - 1)&$control)) ]; then
ms="${ms}^"
fi
if [ 0 -ne $((($1 - 1)&$option)) ]; then
ms="${ms}~"
fi
if [ 0 -ne $((($1 - 1)&$shift)) ]; then
ms="${ms}\$"
fi
s=$(printf "%s%04X" "$ms" "$2")
defaults write "$plist" "keyMapBoundKeys" -dict-add "$s" '"'"$3"'"'
}
dkey1() {
tk=$(tput "$3" 2> /dev/null) && {
echo "$3" >> "$td/tinfo-key"
dkey "$1" "$2" "$tk"
}
return 0
}
dkey1esc() {
tk=$(tput "$3" 2> /dev/null) && {
dkey "$1" "$2" $(printf "\033")"$tk"
}
return 0
}
dkey3() {
dkey1 1 "$1" "$2"
if [ $# -gt 2 ] ; then
dkey1 2 "$1" "$3"
if [ $# -gt 3 ] ; then
mkn="$4"
dkey1 2 "$1" "$mkn"
else
mkn="$3"
fi
for m in 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
dkey1 "$m" "$1" "$mkn$m"
done
fi
return 0
}
dkeyboard() {
dkey3 $NSUpArrowFunctionKey kcuu1 kri kUP
dkey3 $NSDownArrowFunctionKey kcud1 kind kDN
dkey3 $NSLeftArrowFunctionKey kcub1 kLFT
dkey3 $NSRightArrowFunctionKey kcuf1 kRIT
dkey3 $NSDeleteFunctionKey kdch1 kDC
dkey3 $NSHomeFunctionKey khome kHOM
dkey3 $NSEndFunctionKey kend kEND
dkey3 $NSPageUpFunctionKey kpp kPRV
dkey3 $NSPageDownFunctionKey knp kNXT
dkey3 $NSClearLineFunctionKey kclr
dkey3 $NSClearLineFunctionKey kel kEOL
dkey3 $NSHelpFunctionKey khlp kHLP
# <control>+<option>+I => Ins для узких клавиатур
dkey1 $(($control + $option + 1)) $(hex i) kich1
dkey1 $(($control + $option + $shift + 1)) $(hex i) kIC
dkey3 $NSF13FunctionKey kich1 kIC # F13 => Ins для широких клав
dkey3 $NSHomeFunctionKey ka1
dkey3 $NSPageUpFunctionKey ka3
dkey3 $NSEndFunctionKey kc1
dkey3 $NSPageDownFunctionKey kc3
#dkey3 $NSDeleteCharacter kbs
#dkey3 $NSNewlineCharacter kent
dkey3 $NSBackTabCharacter kcbt
dkey1esc $(($option + 1)) $NSDeleteCharacter kbs
dkey1esc $(($option + 1)) $NSDeleteFunctionKey kent
dkey1esc $(($option + 1)) $NSBackTabCharacter kcbt
n=0; while [ $n -lt 12 ] ; do n=$(($n + 1))
eval dkey1 1 \$NSF${n}FunctionKey kf${n}
eval dkey1 $(($shift +1)) \$NSF${n}FunctionKey kf$(($n + 12))
eval dkey1 $(($control +1)) \$NSF${n}FunctionKey kf$(($n + 24))
eval dkey1 $(($control+$shift+1)) \$NSF${n}FunctionKey kf$(($n + 36))
eval dkey1 $(($option +1)) \$NSF${n}FunctionKey kf$(($n + 48))
eval dkey1 $(($option +$shift+1)) \$NSF${n}FunctionKey kf$(($n + 60))
done
dcomm "$terminfo_version" "$(infocmp -x | head -2)"
echo "Отчёт по terminfo. Последовательности, для которых нет кнопок:"
touch "$td/tinfo-key"
sort -u "$td/tinfo-key" > "$td/tinfo-key.sort"
infocmp -x | sed '
/^[^[:space:]]/d
s/=[^,]*,/\
/g' \
| sed -n '/^[[:space:]]*k/s//k/p' \
| sort \
| comm -3 - "$td/tinfo-key.sort" \
| grep -v kmous
#
# Имитация altSendsEscape xterm для белорусских, русских и
# украинских символов
# Обход ошибок в Apple Terminal и iTerm2
#
daltSendsEscape() {
l=$(printf "\u0%x" $1 | iconv -f C99)
u=$(printf "%s" "$l" | tr '[[:lower:]]' '[[:upper:]]')
dkey $(($option + 1)) $1 "\033$l"
dkey $(($option + $shift + 1)) $(hex "$u") "\033$u"
}
c=$(($(hex "а")))
while [ $c -le $(($(hex "я"))) ] ; do
daltSendsEscape $c
c=$(($c + 1))
done
daltSendsEscape $(hex "ё")
daltSendsEscape $(hex "ў")
daltSendsEscape $(hex "і")
daltSendsEscape $(hex "ї")
daltSendsEscape $(hex "ґ")
daltSendsEscape $(hex "є")
}
plist="$td"/xterm.plist
cp $(dirname "$0")/xterm.plist-template "$plist"
dkeyboard
for type in strict reverse combined ; do
case "$type" in
strict)
#dkey1 $(($control+1)) $NSLeftArrowFunctionKey kLFT$(($control+1))
#dkey1 $(($control+1)) $NSRightArrowFunctionKey kRIT$(($control+1))
#dkey1 $(($option +1)) $NSLeftArrowFunctionKey kLFT$(($option +1))
#dkey1 $(($option +1)) $NSRightArrowFunctionKey kRIT$(($option +1))
;;
reverse)
dkey1 $(($control+1)) $NSLeftArrowFunctionKey kLFT$(($option +1))
dkey1 $(($control+1)) $NSRightArrowFunctionKey kRIT$(($option +1))
dkey1 $(($option +1)) $NSLeftArrowFunctionKey kLFT$(($control+1))
dkey1 $(($option +1)) $NSRightArrowFunctionKey kRIT$(($control+1))
;;
combined)
dkey1 $(($control+1)) $NSLeftArrowFunctionKey kLFT$(($control+1))
dkey1 $(($control+1)) $NSRightArrowFunctionKey kRIT$(($control+1))
dkey1 $(($option +1)) $NSLeftArrowFunctionKey kLFT$(($control+1))
dkey1 $(($option +1)) $NSRightArrowFunctionKey kRIT$(($control+1))
;;
esac
for charset in KOI8-R KOI8-U UTF-8 ; do
defaults write "$plist" "name" -string "XTerm-${charset}-${type}"
defaults write "$plist" "WindowTitle" -string "XTerm ${charset} ${type}"
case "$charset" in
UTF-8)
defaults write "$plist" "CharacterEncoding" \
-int $NSUTF8StringEncoding
defaults delete "$plist" "CommandString" 2> /dev/null || true
;;
KOI8-R)
defaults write "$plist" "CharacterEncoding" \
-int -$(((1<<32)-$nsKOI8_R))
defaults delete "$plist" "CommandString" 2> /dev/null || true
;;
KOI8-U)
defaults write "$plist" "CharacterEncoding" \
-int -$(((1<<32)-$nsKOI8_U))
defaults write "$plist" "CommandString" \
-string 'LANG="ru_RU.KOI8-R" exec -a "-bash" bash -l'
;;
*)
echo Internal Error 1>&2
exit 10
esac
terminal=$(dirname "$0")/XTerm-"$charset"-"$type".terminal
plutil -convert xml1 -o - "$plist" | sed \
-e "/-$(((1<<32)-$nsKOI8_R))/s//$(($nsKOI8_R))/" \
-e "/-$(((1<<32)-$nsKOI8_U))/s//$(($nsKOI8_U))/" \
> "$terminal"
done
done

46
contrib/Unix/mygolded.h Normal file
View File

@ -0,0 +1,46 @@
// ------------------------------------------------------------------
// GoldED+
// Personalized strings.
// ------------------------------------------------------------------
#undef __GVER_VENDOR_NAME__
#define __GVER_VENDOR_NAME__ "Serguei E. Leontiev"
#undef __GVER_VENDOR_FIDO__
#define __GVER_VENDOR_FIDO__ "2:5020/400"
#undef __GVER_VENDOR_EMAIL__
#define __GVER_VENDOR_EMAIL__ "leo@sai.msu.ru"
// ------------------------------------------------------------------
// If you have an important message every user should read, put it
// here in. If you don't, leave it as default. ;-)
#undef __GVER_RELEASENAME__
#define __GVER_RELEASENAME__ __GVER_VENDOR_NAME__"\'s alt-ctr-shift public test edition"
// ------------------------------------------------------------------
// It is highly recommended to leave these fields unchanged.
// They are reserved for future use.
#undef __GVER_PRENAME__
#define __GVER_PRENAME__ ""
#undef __GVER_POSTNAME__
#define __GVER_POSTNAME__ "+"
#undef __GVER_PRESHORTNAME__
#define __GVER_PRESHORTNAME__ ""
#undef __GVER_POSTSHORTNAME__
#define __GVER_POSTSHORTNAME__ "+"
// ------------------------------------------------------------------
// Version numbers.
#undef __GVER_PREVERSION__
#define __GVER_PREVERSION__ "acshift-leo-"
#undef __GVER_POSTVERSION__
#define __GVER_POSTVERSION__ ""
__GVER__(1,1,5)
// ------------------------------------------------------------------

116
contrib/Unix/putty-0-65.ti Normal file
View File

@ -0,0 +1,116 @@
# vim:set sw=4 ts=8 fileencoding=utf8::Кодировка:UTF-8[АБЁЪЯабёъя]
#
# Авторское право (с) 2015, Сергей Леонтьев, leo@sai.msu.ru
#
# Разрешается повторное распространение и использование как в виде
# исходника так и в двоичной форме, с модификациями или без, при
# соблюдении следующих условий:
#
# 1. При повторном распространении исходного кода должно оставаться
# указанное выше уведомление об авторском праве, этот список условий и
# нижеследующий отказ от гарантий.
#
# 2. При повторном распространении двоичного кода должно
# воспроизводиться указанное выше уведомление об авторском праве, этот
# список условий и нижеследующий отказ от гарантий в документации
# и/или в других материалах, поставляемых при распространении.
#
# 3. Ни название Крипто-Про, ни имена его сотрудников не могут быть
# использованы в качестве поддержки или продвижения продуктов,
# основанных на этом ПО без предварительного письменного разрешения.
#
# ЭТО ПРОГРАММА ПРЕДОСТАВЛЕНА БЕСПЛАТНО ДЕРЖАТЕЛЯМИ АВТОРСКИХ ПРАВ
# И/ИЛИ ДРУГИМИ СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА
# ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ
# ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И
# ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ
# СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО В УСТНОЙ ФОРМЕ, НИ ОДИН
# ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ
# ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО РАЗРЕШЕНО
# ВЫШЕ, НЕ ОТВЕТСТВЕННЫ ПЕРЕД ВАМИ ЗА УБЫТКИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ,
# СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ПРОИСТЕКАЮЩИЕ ИЗ
# ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО
# НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ
# НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ,
# ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ),
# ДАЖЕ ЕСЛИ ТАКОЙ ДЕРЖАТЕЛЬ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О
# ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.
#
# Расширенное terminfo описание терминала putty 0.65
# putty и putty-256color описание терминала с возможностями
# terminfo (capname): kri/kind (scroll-backward/forward key).
# Применение в качестве собственного описания обычного пользователя (не
# root):
#
# $ mkdir $HOME/.terminfo
# $ tic contrib/Unix/putty-0-65.ti
# $ TERM=putty-256color; export TERM
#
putty065|PuTTY 0.65 terminal emulator,
am, bce, bw, ccc, hs, mir, msgr, xenl, xon,
colors#8, it#8, ncv#22, pairs#64,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
dch=\E[%p1%dP, dch1=\E[P,
dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G\342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e%p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G\342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@%e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E%%G\340\202\242\E%%@%e%p1%c%;,
dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;\007, ech=\E[%p1%dX,
ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, hpa=\E[%i%p1%dG,
ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J,
indn=\E[%p1%dS,
initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\E[D,
kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
kend=\E[4~,
kf1=\E[11~,
kf2=\E[12~,
kf3=\E[13~,
kf4=\E[14~,
kf5=\E[15~,
kf6=\E[17~,
kf7=\E[18~,
kf8=\E[19~,
kf9=\E[20~,
kf10=\E[21~,
kf11=\E[23~,
kf12=\E[24~,
kf13=\E[25~,
kf14=\E[26~,
kf15=\E[28~,
kf16=\E[29~,
kf17=\E[31~,
kf18=\E[32~,
kf19=\E[33~,
kf20=\E[34~,
khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m,
ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l,
rmcup=\E[2J\E[?47l, rmir=\E[4l, rmpch=\E[10m,
rmso=\E[27m, rmul=\E[24m,
rs2=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l,
s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, sc=\E7,
setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c,
u9=\E[c, vpa=\E[%i%p1%dd,
kind=\EOB, kLFT=\EOD, kri=\EOA, kRIT=\EOC,
kEND@, kHOM@, kNXT@, kPRV@,
putty065-256color|PuTTY 0.65 with xterm 256-colors,
colors#256, pairs#32767,
initc@,
setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
use=putty065,

124
contrib/Unix/tinfo2tcap.sh Normal file
View File

@ -0,0 +1,124 @@
#!
ticvttc() {
infocmp -L "$1" | sed -n "/^.*$2=\([^,]*\),.*/s//:$3=\1/p"
}
get_tc_list() {
# Fn keys
ticvttc "$1" key_f0 'k0'
ticvttc "$1" key_f1 'k1'
ticvttc "$1" key_f2 'k2'
ticvttc "$1" key_f3 'k3'
ticvttc "$1" key_f4 'k4'
ticvttc "$1" key_f5 'k5'
ticvttc "$1" key_f6 'k6'
ticvttc "$1" key_f7 'k7'
ticvttc "$1" key_f8 'k8'
ticvttc "$1" key_f9 'k9'
ticvttc "$1" key_f10 'k;'
ticvttc "$1" key_f11 'F1'
ticvttc "$1" key_f12 'F2'
ticvttc "$1" key_f13 'F3'
ticvttc "$1" key_f14 'F4'
ticvttc "$1" key_f15 'F5'
ticvttc "$1" key_f16 'F6'
ticvttc "$1" key_f17 'F7'
ticvttc "$1" key_f18 'F8'
ticvttc "$1" key_f19 'F9'
ticvttc "$1" key_f20 'FA'
ticvttc "$1" key_f21 'FB'
ticvttc "$1" key_f22 'FC'
ticvttc "$1" key_f23 'FD'
ticvttc "$1" key_f24 'FE'
ticvttc "$1" key_f25 'FF'
ticvttc "$1" key_f26 'FG'
ticvttc "$1" key_f27 'FH'
ticvttc "$1" key_f28 'FI'
ticvttc "$1" key_f29 'FJ'
ticvttc "$1" key_f30 'FK'
ticvttc "$1" key_f31 'FL'
ticvttc "$1" key_f32 'FM'
ticvttc "$1" key_f33 'FN'
ticvttc "$1" key_f34 'FO'
ticvttc "$1" key_f35 'FP'
ticvttc "$1" key_f36 'FQ'
ticvttc "$1" key_f37 'FR'
ticvttc "$1" key_f38 'FS'
ticvttc "$1" key_f39 'FT'
ticvttc "$1" key_f40 'FU'
ticvttc "$1" key_f41 'FV'
ticvttc "$1" key_f42 'FW'
ticvttc "$1" key_f43 'FX'
ticvttc "$1" key_f44 'FY'
ticvttc "$1" key_f45 'FZ'
ticvttc "$1" key_f46 'Fa'
ticvttc "$1" key_f47 'Fb'
ticvttc "$1" key_f48 'Fc'
ticvttc "$1" key_f49 'Fd'
ticvttc "$1" key_f50 'Fe'
ticvttc "$1" key_f51 'Ff'
ticvttc "$1" key_f52 'Fg'
ticvttc "$1" key_f53 'Fh'
ticvttc "$1" key_f54 'Fi'
ticvttc "$1" key_f55 'Fj'
ticvttc "$1" key_f56 'Fk'
ticvttc "$1" key_f57 'Fl'
ticvttc "$1" key_f58 'Fm'
ticvttc "$1" key_f59 'Fn'
ticvttc "$1" key_f60 'Fo'
ticvttc "$1" key_f61 'Fp'
ticvttc "$1" key_f62 'Fq'
ticvttc "$1" key_f63 'Fr'
# Shift-keys
ticvttc "$1" key_sbeg '&9'
ticvttc "$1" key_scancel '&0'
ticvttc "$1" key_scommand '*1'
ticvttc "$1" key_scopy '*2'
ticvttc "$1" key_screate '*3'
ticvttc "$1" key_sdc '*4'
ticvttc "$1" key_sdl '*5'
ticvttc "$1" key_send '*7'
ticvttc "$1" key_seol '*8'
ticvttc "$1" key_sexit '*9'
ticvttc "$1" key_sf 'kF' # Scroll-forward == <Shift>+<Down>
ticvttc "$1" key_sfind '*0'
ticvttc "$1" key_shelp '#1'
ticvttc "$1" key_shome '#2'
ticvttc "$1" key_sic '#3'
ticvttc "$1" key_sleft '#4'
ticvttc "$1" key_smessage '%a'
ticvttc "$1" key_smove '%b'
ticvttc "$1" key_snext '%c'
ticvttc "$1" key_soptions '%d'
ticvttc "$1" key_sprevious '%e'
ticvttc "$1" key_sprint '%f'
ticvttc "$1" key_sr 'kR' # Scroll-backward == <Shift>+<Up>
ticvttc "$1" key_sredo '%g'
ticvttc "$1" key_sreplace '%h'
ticvttc "$1" key_sright '%i'
ticvttc "$1" key_srsume '%j'
ticvttc "$1" key_ssave '!1'
ticvttc "$1" key_ssuspend '!2'
ticvttc "$1" key_stab 'kT'
ticvttc "$1" key_sundo '!3'
ticvttc "$1" key_btab 'kB' # BackTab == <Shift>+<Tab>
}
get_tc_list "$1" | awk '{
if(!getline s1) {
s1 = "";
}
if(!getline s2) {
s2 = "";
}
if(!getline s3) {
s3 = "";
}
if(!getline s4) {
s4 = "";
}
print "\t" $0 s1 s2 s3 s4 ":\\";
}'

View File

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- vim:set sw=4 ts=8 fileencoding=utf8::Кодировка:UTF-8[АБЁЪЯабёъя]
ПРЕДУПРЕЖДЕНИЕ: это не совсем XML файл, он содержит управляющие
символы и зависит от символа перевода строки.
Редактировать в vi - можно.
-->
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<!-- Авторское право (с) 2015, Сергей Леонтьев, leo@sai.msu.ru
Разрешается повторное распространение и использование как в виде
исходника так и в двоичной форме, с модификациями или без, при
соблюдении следующих условий:
1. При повторном распространении исходного кода должно оставаться
указанное выше уведомление об авторском праве, этот список условий и
нижеследующий отказ от гарантий.
2. При повторном распространении двоичного кода должно
воспроизводиться указанное выше уведомление об авторском праве, этот
список условий и нижеследующий отказ от гарантий в документации
и/или в других материалах, поставляемых при распространении.
3. Ни название Крипто-Про, ни имена его сотрудников не могут быть
использованы в качестве поддержки или продвижения продуктов,
основанных на этом ПО без предварительного письменного разрешения.
ЭТО ПРОГРАММА ПРЕДОСТАВЛЕНА БЕСПЛАТНО ДЕРЖАТЕЛЯМИ АВТОРСКИХ ПРАВ
И/ИЛИ ДРУГИМИ СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА
ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ
ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И
ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ
СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО В УСТНОЙ ФОРМЕ, НИ ОДИН
ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ
ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО РАЗРЕШЕНО
ВЫШЕ, НЕ ОТВЕТСТВЕННЫ ПЕРЕД ВАМИ ЗА УБЫТКИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ,
СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ПРОИСТЕКАЮЩИЕ ИЗ
ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО
НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ
НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ,
ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ),
ДАЖЕ ЕСЛИ ТАКОЙ ДЕРЖАТЕЛЬ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О
ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.
-->
<!--
Файл конфигурации OS X "Терминал" с клавиатурными
Esc-последовательностями по спецификациям terminfo от ncurses
<http://invisible-island.net/ncurses/ncurses.faq.html#which_terminfo>
Смотри также документацию на xterm (DECFNK, vt520 от 1994)
<http://invisible-island.net/xterm>
<option>+<бел./рус./укр. клавиша> работают примерно также как в
xterm с altSendsEscape, т.е. порождают <Esc><бел./рус./укр. клавиша>
К сожалению, "Терминал" в OS X 10.10 не поддерживает кодировку
KOI8-RU, по крайней мере, мне неизвестен код CharacterEncoding для
неё. Поэтому для 8-ми бит устанавливается кодировки KOI8-R или
KOI8-U.
Профиль '*-strict.*':
Передвижение по словам - <control>+<стрелка>, т.е. перевёрнуто
относительно принятого в OS X (Mac OS) <option>+стрелка.
Предпочтителен для тех, кто, в основном, использует Golded+ под
DOS/Windows.
ПРЕДУПРЕЖДЕНИЕ: для функционирования <control>+<влево/вправо>,
следует отключить сочетание клавиш "На одно пространство..." в
"Настройках".
Профиль '*-reverse.*':
Передвижение по словам - <option>+<стрелка>
Переход на следующее - <control>+<стрелка>, т.е. перевёрнуто
относительно Golded+ под DOS/Windows.
Предпочтителен для тех, кто, в основном, использует Golded+ под
Mac OSX.
ПРЕДУПРЕЖДЕНИЕ: для функционирования <control>+<стрелка>, следует
отключить сочетание клавиш "На одно пространство..." в "Настройках".
Профиль '*-combined.*':
Передвижение по словам - <control>+<стрелка> и <option>+<стрелка>
Предпочтителен для тех, кто не знает зачем в Golded+ под
DOS/Windows используются <Alt>+<стрелка>
-->
<dict>
<key>ProfileCurrentVersion</key>
<real>2.04</real>
<key>type</key>
<string>Window Settings</string>
<key>shellExitAction</key>
<integer>1</integer>
<key>noWarnProcesses</key>
<array>
<dict>
<key>ProcessName</key>
<string>screen</string>
</dict>
<dict>
<key>ProcessName</key>
<string>tmux</string>
</dict>
<dict>
<key>ProcessName</key>
<string>luit</string>
</dict>
</array>
<key>CursorBlink</key>
<true/>
<key>Linewrap</key>
<true/>
<key>VisualBell</key>
<true/>
<key>columnCount</key>
<integer>130</integer>
<key>rowCount</key>
<integer>33</integer>
<key>deleteSendsBackspace</key>
<false/>
<key>ScrollAlternateScreen</key>
<false/>
<key>useOptionAsMetaKey</key>
<true/>
<key>keyMapBoundKeys</key>
<dict>
<!-- Синтаксис <key>
Модификаторы:
$ - shift (2)
~ - option (3)
^ - control (5)
^$ - control + shift (6)
~^ - option + control (7)
-->
</dict>
</dict>
</plist>

124
contrib/Unix/xterm.termcap Normal file
View File

@ -0,0 +1,124 @@
# vim:set sw=4 ts=8 fileencoding=utf8::Кодировка:UTF-8[АБЁЪЯабёъя]
#
# Авторское право (с) 2015, Сергей Леонтьев, leo@sai.msu.ru
#
# Разрешается повторное распространение и использование как в виде
# исходника так и в двоичной форме, с модификациями или без, при
# соблюдении следующих условий:
#
# 1. При повторном распространении исходного кода должно оставаться
# указанное выше уведомление об авторском праве, этот список условий и
# нижеследующий отказ от гарантий.
#
# 2. При повторном распространении двоичного кода должно
# воспроизводиться указанное выше уведомление об авторском праве, этот
# список условий и нижеследующий отказ от гарантий в документации
# и/или в других материалах, поставляемых при распространении.
#
# 3. Ни название Крипто-Про, ни имена его сотрудников не могут быть
# использованы в качестве поддержки или продвижения продуктов,
# основанных на этом ПО без предварительного письменного разрешения.
#
# ЭТО ПРОГРАММА ПРЕДОСТАВЛЕНА БЕСПЛАТНО ДЕРЖАТЕЛЯМИ АВТОРСКИХ ПРАВ
# И/ИЛИ ДРУГИМИ СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА
# ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ
# ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И
# ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ
# СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО В УСТНОЙ ФОРМЕ, НИ ОДИН
# ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ
# ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО РАЗРЕШЕНО
# ВЫШЕ, НЕ ОТВЕТСТВЕННЫ ПЕРЕД ВАМИ ЗА УБЫТКИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ,
# СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ПРОИСТЕКАЮЩИЕ ИЗ
# ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО
# НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ
# НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ,
# ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ),
# ДАЖЕ ЕСЛИ ТАКОЙ ДЕРЖАТЕЛЬ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О
# ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.
#
#
# Расширенное termcap описание терминала xterm R7 и консоли FreeBSD
#
#
# Применение в качестве собственного описания обычного пользователя (не
# root):
#
# $ cat contrib/Unix/xterm.termcap /etc/termcap > $HOME/.termcap
# $ cap_mkdb $HOME/.termcap
#
#
#xterm-full-fn|xterm with full keys:\
# :k1=\EOP:k;=\E[21~:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:\
# :F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\
# :F9=\E[18;2~:k2=\EOQ:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\
# :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:FH=\E[1;5R:\
# :FI=\E[1;5S:FJ=\E[15;5~:k3=\EOR:FK=\E[17;5~:FL=\E[18;5~:\
# :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\
# :FR=\E[1;6P:FS=\E[1;6Q:FT=\E[1;6R:k4=\EOS:FU=\E[1;6S:\
# :FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\
# :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:k5=\E[15~:\
# :Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\
# :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:\
# :k6=\E[17~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:Fr=\E[1;4R:\
# :k7=\E[18~:k8=\E[19~:k9=\E[20~:*4=\E[3;2~:*7=\E[1;2F:\
# :kF=\E[1;2B:#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:\
# :%e=\E[5;2~:kR=\E[1;2A:%i=\E[1;2C:kB=\E[Z:\
# :tc=xterm-new:
#
xterm-full-fn|xterm with full keys:\
:k1=\EOP:k;=\E[21~:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:\
:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\
:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\
:FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:\
:kF=\E[1;2B:#4=\E[1;2D:\
:kR=\E[1;2A:%i=\E[1;2C:\
:tc=xterm-new:
xterm|X11 terminal emulator:\
:tc=xterm-full-fn:
xterm-256color|xterm alias 3:\
:Co#256:pa#32767:\
:AB=\E[48;5;%dm:AF=\E[38;5;%dm:tc=xterm-full-fn:
#
# FreeBSD console F1-F12 - as xterm, <Shift>+F1-F12 as cons25
#
# <http://www.gnu.org/software/ncurses>
# <http://invisible-island.net/ncurses/terminfo.src.html#tic-teken>
#
#teken|syscons with teken:\
# :F3=\E[Y:F4=\E[Z:F5=\E[a:\
# :F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:\
# :FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:\
# :FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:\
# :FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\
# :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:\
# :FV=\E[@:FW=\E[[:FX=\E[\:FY=\E[]:FZ=\E[\136:\
# :Fa=\E[_:Fb=\E[`:Fc=\E[{:\
# :tc=xterm-new:
#
teken|syscons with teken:\
:F3=\E[Y:F4=\E[Z:F5=\E[a:\
:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:\
:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:\
:FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:\
:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\
:FQ=\E[v:FR=\E[w:FS=\E[x:\
:tc=xterm-new:
#
#putty|vt220 emulator with ANSI colors:\
# :k1=\E[11~:k;=\E[21~:F1=\E[23~:F2=\E[24~:F3=\E[25~:\
# :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\
# :F9=\E[33~:k2=\E[12~:FA=\E[34~:k3=\E[13~:k4=\E[14~:\
# :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
# :kF=\EOB:#4=\EOD:kR=\EOA:%i=\EOC:kB=\E[Z:\
# :pa#64:Co#8:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m\E[m:\
# :tc=vt220:
#

View File

@ -1 +1,3 @@
This directory contain an instructions for package managers of different OS. This directory contains
- an instructions for package managers of different OS
- other helpful files like terminal settings for different terminals

View File

@ -70,6 +70,42 @@ extern OSVERSIONINFO WinVer;
#if defined(__USE_NCURSES__) #if defined(__USE_NCURSES__)
int curses_initialized = 0; int curses_initialized = 0;
enum {
ARR_UP = 0,
ARR_DN,
ARR_RIT,
ARR_LFT
};
typedef int arrow_t;
enum {
MOD_SHIFT = 1,
MOD_ALT = 2,
MOD_CTRL = 4,
MOD_META = 8
};
typedef int modmask_t;
const modmask_t MOD_MIN = MOD_ALT;
const modmask_t MOD_MAX = MOD_ALT|MOD_CTRL|MOD_META|MOD_SHIFT;
typedef int modifier_t;
static modifier_t modifier(modmask_t mask) {
return mask + 1;
}
void gkbd_setarrow(modifier_t m, arrow_t a, int k);
void gkbd_setfnkeys(void);
#if defined(NCURSES_VERSION_MAJOR) && NCURSES_VERSION_MAJOR-0 >= 5
#define HAVE_EXTENDED_NAMES 1
#endif
//#define NO_MOD_DECFNK_XTERM_R7 1
//#define NO_MOD_RXVT 1
#endif #endif
@ -182,6 +218,29 @@ GKbd::GKbd() {
Init(); Init();
#if defined(__USE_NCURSES__)
#ifdef HAVE_EXTENDED_NAMES
use_extended_names(TRUE);
#endif
for(modifier_t m = modifier(MOD_MIN); m <= modifier(MOD_MAX); m++) {
for(arrow_t a = ARR_UP; a <= ARR_LFT; a++) {
gkbd_setarrow(m, a, L_KEY_UNUSED);
}
}
gkbd_setarrow(modifier(MOD_ALT), ARR_UP, L_KEY_AUP);
gkbd_setarrow(modifier(MOD_ALT), ARR_DN, L_KEY_ADOWN);
gkbd_setarrow(modifier(MOD_ALT), ARR_RIT, L_KEY_ARIGHT);
gkbd_setarrow(modifier(MOD_ALT), ARR_LFT, L_KEY_ALEFT);
gkbd_setarrow(modifier(MOD_CTRL), ARR_UP, L_KEY_CUP);
gkbd_setarrow(modifier(MOD_CTRL), ARR_DN, L_KEY_CDOWN);
gkbd_setarrow(modifier(MOD_CTRL), ARR_RIT, L_KEY_CRIGHT);
gkbd_setarrow(modifier(MOD_CTRL), ARR_LFT, L_KEY_CLEFT);
gkbd_setfnkeys();
#endif
#if defined(__UNIX__) && !defined(__USE_NCURSES__) && !defined(__BEOS__) #if defined(__UNIX__) && !defined(__USE_NCURSES__) && !defined(__BEOS__)
gkbd_keymap_init(); gkbd_keymap_init();
@ -676,8 +735,8 @@ int gkbd_curstable[] = {
-1, // KEY_CLEAR -1, // KEY_CLEAR
-1, // KEY_EOS -1, // KEY_EOS
-1, // KEY_EOL -1, // KEY_EOL
-1, // KEY_SF Key_S_Dwn, // KEY_SF - terminfo Scroll forward == <Shift>+<Down arrow>
-1, // KEY_SR Key_S_Up, // KEY_SR - terminfo Scroll backward == <Shift>+<Up arrow>
Key_PgDn, // KEY_NPAGE Key_PgDn, // KEY_NPAGE
Key_PgUp, // KEY_PPAGE Key_PgUp, // KEY_PPAGE
Key_Tab, // KEY_STAB Key_Tab, // KEY_STAB
@ -707,10 +766,10 @@ int gkbd_curstable[] = {
-1, // KEY_MARK -1, // KEY_MARK
-1, // KEY_MESSAGE -1, // KEY_MESSAGE
-1, // KEY_MOVE -1, // KEY_MOVE
-1, // KEY_NEXT Key_PgDn, // KEY_NEXT
-1, // KEY_OPEN -1, // KEY_OPEN
-1, // KEY_OPTIONS -1, // KEY_OPTIONS
-1, // KEY_PREVIOUS Key_PgUp, // KEY_PREVIOUS
-1, // KEY_REDO -1, // KEY_REDO
-1, // KEY_REFERENCE -1, // KEY_REFERENCE
-1, // KEY_REFRESH -1, // KEY_REFRESH
@ -736,9 +795,9 @@ int gkbd_curstable[] = {
Key_S_Lft, // KEY_SLEFT Key_S_Lft, // KEY_SLEFT
-1, // KEY_SMESSAGE -1, // KEY_SMESSAGE
-1, // KEY_SMOVE -1, // KEY_SMOVE
-1, // KEY_SNEXT Key_S_PgDn,// KEY_SNEXT
-1, // KEY_SOPTIONS -1, // KEY_SOPTIONS
-1, // KEY_SPREVIOUS Key_S_PgUp,// KEY_SPREVIOUS
-1, // KEY_SPRINT -1, // KEY_SPRINT
-1, // KEY_SREDO -1, // KEY_SREDO
-1, // KEY_SREPLACE -1, // KEY_SREPLACE
@ -750,9 +809,237 @@ int gkbd_curstable[] = {
-1, // KEY_SUSPEND -1, // KEY_SUSPEND
-1, // KEY_UNDO -1, // KEY_UNDO
-1, // KEY_MOUSE -1, // KEY_MOUSE
-1 // KEY_RESIZE -1, // KEY_RESIZE
-1, // KEY_EVENT
// Gap for future curses versions
-1, //
-1, //
-1, //
-1, //
-1, //
-1, //
-1, //
-1, //
-1, //
-1, //
// xterm R7/DECFNK
Key_A_Up, // L_KEY_AUP
Key_A_Dwn, // L_KEY_ADOWN
Key_A_Rgt, // L_KEY_ARIGHT
Key_A_Lft, // L_KEY_ALEFT
Key_C_Up, // L_KEY_CUP
Key_C_Dwn, // L_KEY_CDOWN
Key_C_Rgt, // L_KEY_CRIGHT
Key_C_Lft, // L_KEY_CLEFT
-1 // L_KEY_UNUSED
}; };
void gkbd_setarrow(modifier_t m, arrow_t a, int k) {
#ifdef HAVE_EXTENDED_NAMES
// Modern terminfo have user-defined capabilities for modifier
// arrow
static const char * const enm[] = { "UP", "DN", "RIT", "LFT" };
char udcapname[8];
snprintf(udcapname, sizeof(udcapname), "k%s%d", enm[a], m);
char *tc = tigetstr(udcapname);
if(tc && tc != (char *)-1) {
define_key(tc, k);
}
#endif
#ifndef NO_MOD_DECFNK_XTERM_R7
// Need to disable <Ctrl>+<Shift>+<arrow>, etc.
// terminfo.src 1.554 2015/10/24 16:00:04
// Don't have any conflicts with /\\E\[1;[3-9][^,]*[ABCD]/
char decfnk[8];
snprintf(decfnk, sizeof(decfnk), "\033[1;%d%c", m, 'A' + a);
define_key(decfnk, k);
#endif
#ifndef NO_MOD_RXVT
// Conflicts with /\\EO[a-d]/ exist, check terminal name first
if(modifier(MOD_CTRL) == m && strstr(termname(), "rxvt")) {
char rxvt[4];
snprintf(rxvt, sizeof(rxvt), "\033O%c", 'a' + a);
define_key(rxvt, k);
}
#endif
}
void gkbd_setfnkeys() {
#ifndef OLD_SHIFT_FN
static const int mod_fn12_first = KEY_F(13) - KEY_MIN;
static const int mod_fn12_keys[] = { // Modern Fn keys
// KEY_F(13-24) - <Shift>+Fn xterm R7/Linux/FreeBSD/DECFNK
Key_S_F1, // KEY_F(13)
Key_S_F2, // KEY_F(14)
Key_S_F3, // KEY_F(15)
Key_S_F4, // KEY_F(16)
Key_S_F5, // KEY_F(17)
Key_S_F6, // KEY_F(18)
Key_S_F7, // KEY_F(19)
Key_S_F8, // KEY_F(20)
Key_S_F9, // KEY_F(21)
Key_S_F10, // KEY_F(22)
Key_S_F11, // KEY_F(23)
Key_S_F12, // KEY_F(24)
// KEY_F(25-36) - <Ctrl>+Fn xterm R7/DECFNK
Key_C_F1, // KEY_F(25)
Key_C_F2, // KEY_F(26)
Key_C_F3, // KEY_F(27)
Key_C_F4, // KEY_F(28)
Key_C_F5, // KEY_F(29)
Key_C_F6, // KEY_F(30)
Key_C_F7, // KEY_F(31)
Key_C_F8, // KEY_F(32)
Key_C_F9, // KEY_F(33)
Key_C_F10, // KEY_F(34)
Key_C_F11, // KEY_F(35)
Key_C_F12, // KEY_F(36)
// KEY_F(37-48) - <Ctrl>+<Shift>+Fn xterm R7/DECFNK
-1, // KEY_F(37)
-1, // KEY_F(38)
-1, // KEY_F(39)
-1, // KEY_F(40)
-1, // KEY_F(41)
-1, // KEY_F(42)
-1, // KEY_F(43)
-1, // KEY_F(44)
-1, // KEY_F(45)
-1, // KEY_F(46)
-1, // KEY_F(47)
-1, // KEY_F(48)
// KEY_F(49-60) - <Alt>+Fn xterm R7/DECFNK
Key_A_F1, // KEY_F(49)
Key_A_F2, // KEY_F(50)
Key_A_F3, // KEY_F(51)
Key_A_F4, // KEY_F(52)
Key_A_F5, // KEY_F(53)
Key_A_F6, // KEY_F(54)
Key_A_F7, // KEY_F(55)
Key_A_F8, // KEY_F(56)
Key_A_F9, // KEY_F(57)
Key_A_F10, // KEY_F(58)
Key_A_F11, // KEY_F(59)
Key_A_F12, // KEY_F(60)
// KEY_F(61-63) - <Alt>+<Shift>+Fn xterm R7/DECFNK
-1, // KEY_F(61)
-1, // KEY_F(62)
-1 // KEY_F(63)
};
static const char * const ort_fn10_term[] = {
"xterm-old",
"xterm-r5",
"xterm-r6",
"screen.xterm-r6",
"rxvt",
"screen.rxvt",
"putty",
"screen.putty",
"linux",
"screen.linux",
0
};
static const int ort_fn10_first = KEY_F(11) - KEY_MIN;
static const int ort_fn10_keys[] = { // Orthodox Fn keys
// <Shift> + F1-F10 generates F11-F20
Key_S_F1, // KEY_F(11)
Key_S_F2, // KEY_F(12)
Key_S_F3, // KEY_F(13)
Key_S_F4, // KEY_F(14)
Key_S_F5, // KEY_F(15)
Key_S_F6, // KEY_F(16)
Key_S_F7, // KEY_F(17)
Key_S_F8, // KEY_F(18)
Key_S_F9, // KEY_F(19)
Key_S_F10, // KEY_F(20)
Key_S_F11, // KEY_F(21)
Key_S_F12, // KEY_F(22)
Key_C_F1, // KEY_F(23)
Key_C_F2, // KEY_F(24)
Key_C_F3, // KEY_F(25)
Key_C_F4, // KEY_F(26)
Key_C_F5, // KEY_F(27)
Key_C_F6, // KEY_F(28)
Key_C_F7, // KEY_F(29)
Key_C_F8, // KEY_F(30)
Key_C_F9, // KEY_F(31)
Key_C_F10, // KEY_F(32)
// <Ctrl>+<Shift> + F1-F10 generates <Ctrl>+F11-F20
-1, // KEY_F(33)
-1, // KEY_F(34)
-1, // KEY_F(35)
-1, // KEY_F(36)
-1, // KEY_F(37)
-1, // KEY_F(38)
-1, // KEY_F(39)
-1, // KEY_F(40)
-1, // KEY_F(41)
-1, // KEY_F(42)
-1, // KEY_F(43)
-1, // KEY_F(44)
Key_A_F1, // KEY_F(45)
Key_A_F2, // KEY_F(46)
Key_A_F3, // KEY_F(47)
Key_A_F4, // KEY_F(48)
Key_A_F5, // KEY_F(49)
Key_A_F6, // KEY_F(50)
Key_A_F7, // KEY_F(51)
Key_A_F8, // KEY_F(52)
Key_A_F9, // KEY_F(53)
Key_A_F10, // KEY_F(54)
// <Alt>+<Shift> + F1-F10 generates <Alt>+F11-F20
-1, // KEY_F(55)
-1, // KEY_F(56)
-1, // KEY_F(57)
-1, // KEY_F(58)
-1, // KEY_F(59)
-1, // KEY_F(60)
-1, // KEY_F(61)
-1, // KEY_F(62)
-1 // KEY_F(63)
};
const char *term = termname();
for(int i = 0;
i < sizeof(mod_fn12_keys)/sizeof(mod_fn12_keys[0]);
i++) {
gkbd_curstable[mod_fn12_first+i] = mod_fn12_keys[i];
}
for(int j = 0; ort_fn10_term[j]; j++) {
if(0 == strncmp(ort_fn10_term[j], term, strlen(ort_fn10_term[j]))) {
for(int i = 0;
i < sizeof(ort_fn10_keys)/sizeof(ort_fn10_keys[0]);
i++) {
gkbd_curstable[ort_fn10_first+i] = ort_fn10_keys[i];
}
}
}
#endif
}
int gkbd_cursgetch(int mode) { int gkbd_cursgetch(int mode) {
int key; int key;
@ -1042,6 +1329,65 @@ int BeOSShiftState()
} }
#endif #endif
// TODO: move jcuken_koi8ru[] to configuration files
// Apple OS X, non-standard or phonetic Belorussian, Russian and
// Ukrainian keyboard need <Alt>+<national key> translation by
// terminal application
// <Alt>+<national key> translation by terminal application does not
// conflict with this code, because it produces the ASCII
// Esc-sequence, and this code only handles KOI8-RU Esc-sequence
gkey gkbd_alt_secondary_keyboard(int key)
{
const static char jcuken_koi8ru[] = {
#ifndef DONT_JCUKEN_ALT
// КОИ-8: ёйцукенгшщзхъфывапролджэячсмитьбю
0243, 0312, 0303, 0325, 0313, 0305, 0316, 0307,
0333, 0335, 0332, 0310, 0337, 0306, 0331, 0327,
0301, 0320, 0322, 0317, 0314, 0304, 0326, 0334,
0321, 0336, 0323, 0315, 0311, 0324, 0330, 0302,
0300,
// КОИ-8: ЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ
0263, 0352, 0343, 0365, 0353, 0345, 0356, 0347,
0373, 0375, 0372, 0350, 0377, 0346, 0371, 0367,
0341, 0360, 0362, 0357, 0354, 0344, 0366, 0374,
0361, 0376, 0363, 0355, 0351, 0364, 0370, 0342,
0340,
// KOI8-RU: ўЎіІ
0256, 0276, 0246, 0266,
// KOI8-RU: їЇґҐєЄ
0247, 0267, 0255, 0275, 0244, 0264,
#endif
0
};
const static char qwerty_ascii[] =
// KOI8-R small keys
"`qwertyuiop[]asdfghjkl;'zxcvbnm,."
// KOI8-R keys with CapsLock
"`qwertyuiop[]asdfghjkl;'zxcvbnm,."
// KOI8-RU Belorussian
"oobb"
// KOI8-RU Ukranian
"]]\\\\''"
;
const char *pjk = strchr(jcuken_koi8ru, key);
// TODO: assert(sizeof(qwerty_ascii) <= sizeof(jcuken_koi8ru));
if(pjk and (pjk - jcuken_koi8ru < sizeof(qwerty_ascii))) {
int ac = qwerty_ascii[pjk - jcuken_koi8ru]&0377;
if(!g_isalpha(ac)) {
return 0;
}
return scancode_table[ac];
}
return 0;
}
// ------------------------------------------------------------------ // ------------------------------------------------------------------
// Get key stroke // Get key stroke
@ -1061,7 +1407,17 @@ gkey kbxget_raw(int mode) {
k = kbxget_raw(1); k = kbxget_raw(1);
key = 0; key = 0;
switch(k) { switch(k) {
case Key_A_Up:
case Key_A_Dwn:
case Key_A_Rgt:
case Key_A_Lft:
key = ALT;
break;
case Key_C_Brk: case Key_C_Brk:
case Key_C_Up:
case Key_C_Dwn:
case Key_C_Rgt:
case Key_C_Lft:
key = GCTRL; key = GCTRL;
break; break;
case Key_S_Tab: case Key_S_Tab:
@ -1071,6 +1427,8 @@ gkey kbxget_raw(int mode) {
case Key_S_Lft: case Key_S_Lft:
case Key_S_Rgt: case Key_S_Rgt:
case Key_S_End: case Key_S_End:
case Key_S_Dwn:
case Key_S_Up:
key = LSHIFT; key = LSHIFT;
break; break;
} }
@ -1093,15 +1451,17 @@ gkey kbxget_raw(int mode) {
k = 0x7800 + ((key2 - '1') << 8); k = 0x7800 + ((key2 - '1') << 8);
else if(key2 == '0') else if(key2 == '0')
k = 0x8100; k = 0x8100;
else if(g_isalpha(key2)) else if(g_isalpha(key2)
and (0 <= key2)
and (key2 < sizeof(scancode_table)/sizeof(scancode_table[0])))
k = (scancode_table[key2]); k = (scancode_table[key2]);
else if(key2 == '\010') else if((key2 == '\010') or (key2 == KEY_BACKSPACE))
k = Key_A_BS; k = Key_A_BS;
else if(key2 == '\011') else if(key2 == '\011')
k = Key_A_Tab; k = Key_A_Tab;
else if(key2 == '\015') else if((key2 == '\015') or (key2 == KEY_ENTER))
k = Key_A_Ent; k = Key_A_Ent;
else { else if(0 == (k = gkbd_alt_secondary_keyboard(key2))) {
// No correct Alt-sequence; ungetch last key and return Esc // No correct Alt-sequence; ungetch last key and return Esc
if (mode != 1) if (mode != 1)
ungetch(key2); ungetch(key2);
@ -1112,7 +1472,9 @@ gkey kbxget_raw(int mode) {
ungetch(key2); ungetch(key2);
} }
// Curses sequence; lookup in nice table above // Curses sequence; lookup in nice table above
else if((key >= KEY_MIN) and (key <= KEY_MIN+sizeof(gkbd_curstable)/sizeof(int))) else if((key >= KEY_MIN)
and (key <= KEY_MIN+sizeof(gkbd_curstable)/sizeof(int))
and (0 <= gkbd_curstable[key - KEY_MIN]))
k = (gkbd_curstable[key - KEY_MIN]); k = (gkbd_curstable[key - KEY_MIN]);
else if(key == '\015') else if(key == '\015')
k = Key_Ent; k = Key_Ent;
@ -1120,8 +1482,10 @@ gkey kbxget_raw(int mode) {
k = Key_Tab; k = Key_Tab;
else if(key == '\000') else if(key == '\000')
k = Key_Space; k = Key_Space;
else else if(key < KEY_MIN)
k = key; k = key;
else
return 0; // Incorrect or unsupported key don't ungetch()
if(mode == 1) if(mode == 1)
ungetch(key); ungetch(key);

View File

@ -163,6 +163,22 @@ inline void kbdsettickfunc(VfvCP func) { gkbd.tickfunc = func; }
// ------------------------------------------------------------------ // ------------------------------------------------------------------
#if defined(__USE_NCURSES__)
// TODO: move L_KEY_BASE то KEY_MAX-9,
// TODO: change array gkbd_curstable to std::map
#define L_KEY_BASE (KEY_RESIZE+12)
#define L_KEY_AUP (L_KEY_BASE+0)
#define L_KEY_ADOWN (L_KEY_BASE+1)
#define L_KEY_ARIGHT (L_KEY_BASE+2)
#define L_KEY_ALEFT (L_KEY_BASE+3)
#define L_KEY_CUP (L_KEY_BASE+4)
#define L_KEY_CDOWN (L_KEY_BASE+5)
#define L_KEY_CRIGHT (L_KEY_BASE+6)
#define L_KEY_CLEFT (L_KEY_BASE+7)
#define L_KEY_UNUSED (L_KEY_BASE+8)
#endif
#endif #endif
// ------------------------------------------------------------------ // ------------------------------------------------------------------