From 1538ee7082e076d201b0777bab07011e083a4a30 Mon Sep 17 00:00:00 2001 From: Semen Panevin Date: Sat, 28 Nov 2015 07:03:46 +0000 Subject: [PATCH] Better support of key modificators on Unix-like terminals, patch from Serguei E. Leontiev --- GNUmakef.def | 2 +- Makefile | 13 + contrib/Unix/README-utf8.txt | 111 +++++ contrib/Unix/XTerm-KOI8-R-combined.terminal | 490 +++++++++++++++++++ contrib/Unix/XTerm-KOI8-R-reverse.terminal | 490 +++++++++++++++++++ contrib/Unix/XTerm-KOI8-R-strict.terminal | 490 +++++++++++++++++++ contrib/Unix/XTerm-KOI8-U-combined.terminal | 492 ++++++++++++++++++++ contrib/Unix/XTerm-KOI8-U-reverse.terminal | 492 ++++++++++++++++++++ contrib/Unix/XTerm-KOI8-U-strict.terminal | 492 ++++++++++++++++++++ contrib/Unix/XTerm-UTF-8-combined.terminal | 490 +++++++++++++++++++ contrib/Unix/XTerm-UTF-8-reverse.terminal | 490 +++++++++++++++++++ contrib/Unix/XTerm-UTF-8-strict.terminal | 490 +++++++++++++++++++ contrib/Unix/ged-vttest-lite.py | 130 ++++++ contrib/Unix/koi8rxterm-phonetic.sh | 87 ++++ contrib/Unix/make-alt-translations.sh | 69 +++ contrib/Unix/make-term-profiles.sh | 436 +++++++++++++++++ contrib/Unix/mygolded.h | 46 ++ contrib/Unix/putty-0-65.ti | 116 +++++ contrib/Unix/tinfo2tcap.sh | 124 +++++ contrib/Unix/xterm.plist-template | 145 ++++++ contrib/Unix/xterm.termcap | 124 +++++ contrib/readme.txt | 4 +- goldlib/gcui/gkbdbase.cpp | 390 +++++++++++++++- goldlib/gcui/gkbdbase.h | 16 + 24 files changed, 6214 insertions(+), 15 deletions(-) create mode 100644 contrib/Unix/README-utf8.txt create mode 100644 contrib/Unix/XTerm-KOI8-R-combined.terminal create mode 100644 contrib/Unix/XTerm-KOI8-R-reverse.terminal create mode 100644 contrib/Unix/XTerm-KOI8-R-strict.terminal create mode 100644 contrib/Unix/XTerm-KOI8-U-combined.terminal create mode 100644 contrib/Unix/XTerm-KOI8-U-reverse.terminal create mode 100644 contrib/Unix/XTerm-KOI8-U-strict.terminal create mode 100644 contrib/Unix/XTerm-UTF-8-combined.terminal create mode 100644 contrib/Unix/XTerm-UTF-8-reverse.terminal create mode 100644 contrib/Unix/XTerm-UTF-8-strict.terminal create mode 100755 contrib/Unix/ged-vttest-lite.py create mode 100644 contrib/Unix/koi8rxterm-phonetic.sh create mode 100644 contrib/Unix/make-alt-translations.sh create mode 100644 contrib/Unix/make-term-profiles.sh create mode 100644 contrib/Unix/mygolded.h create mode 100644 contrib/Unix/putty-0-65.ti create mode 100644 contrib/Unix/tinfo2tcap.sh create mode 100644 contrib/Unix/xterm.plist-template create mode 100644 contrib/Unix/xterm.termcap diff --git a/GNUmakef.def b/GNUmakef.def index 1fe56c4..630d88f 100644 --- a/GNUmakef.def +++ b/GNUmakef.def @@ -164,7 +164,7 @@ endif endif CFLAGS+=-funsigned-char -g $(INCS) -Wall -Wno-long-long -Wno-sign-compare -pedantic -O2 -DPRAGMA_PACK # -fomit-frame-pointer LNKFLAGS+=-g -CPPFLAGS+=$(CFLAGS) -fno-pic -fno-rtti # -fno-exceptions +CPPFLAGS+=$(CFLAGS) # Run `make USE_NCURSES=0` if you dislike ncurses # Run `make BUGGY_NCURSES=1` if your build requires additional keypresses to diff --git a/Makefile b/Makefile index 74047c4..f46ae3e 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,19 @@ # international builds since latin-1 support will be broken. # "ICONV=1" Use iconv library for recoding text. Experimental! Do not # set this if you don't sure! +# "OLD_SHIFT_FN=1" Use original code, where use: F1-F12 and +# +F3-F12 mapped to F15-F22. +# +# New code, by default, for orthodox terminals: +# xterm R6, PuTTY, urxvt, mapped +F1-F10 to +# F11-F20 and ++F1-F10 to +F11-F20. +# +# For modern terminals: xterm R7, gnome-terminal, +# Linux & FreeBSD console, DECFNK, mapped: +# +F1-F12 to key_fn13 - key_fn24, +# +F1-F12 to key_fn25 - key_fn36, +# ++F1-F12 to key_fn37 - key_fn48, +# +F1-F12 to key_fn49 - key_fn60 include GNUmakef.def include Config.def diff --git a/contrib/Unix/README-utf8.txt b/contrib/Unix/README-utf8.txt new file mode 100644 index 0000000..c2e6215 --- /dev/null +++ b/contrib/Unix/README-utf8.txt @@ -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 + + + +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 + + + 2.2 Задаёт преобразование