Commit 7f51b2db31eece6eb8a1e9b38354caf9fb77721d

Authored by perry.werneck@gmail.com
1 parent f14824f1

Separando fontes da biblioteca para a versão 5

Makefile.in
... ... @@ -24,7 +24,6 @@
24 24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
25 25 # licinio@bb.com.br (Licínio Luis Branco)
26 26 # kraucer@bb.com.br (Kraucer Fernandes Mazuco)
27   -# macmiranda@bb.com.br (Marco Aurélio Caldas Miranda)
28 27 #
29 28  
30 29 #---[ Configuration values ]---------------------------------------------------
... ... @@ -33,8 +32,6 @@ PACKAGE_NAME=@PACKAGE_NAME@
33 32 PACKAGE_VERSION=@PACKAGE_VERSION@
34 33 PACKAGE_TARNAME=@PACKAGE_TARNAME@
35 34  
36   -EXEEXT=@EXEEXT@
37   -
38 35 #---[ Paths ]------------------------------------------------------------------
39 36  
40 37 prefix=@prefix@
... ... @@ -65,12 +62,10 @@ $(BINDIR)/Debug/$(PACKAGE_TARNAME)$(EXEEXT): src/gtk/* src/include/lib3270/* src
65 62  
66 63 #---[ Targets ]----------------------------------------------------------------
67 64  
68   -run:
69   - @$(MAKE) ROOTDIR="../.." -C src/gtk run
70   -
71 65 clean:
72 66 @rm -fr $(OBJDIR)
73 67 @rm -fr $(BINDIR)
  68 + @make -C src/lib3270 clean
74 69 @make -C src/gtk clean
75 70  
76 71 distclean: clean
... ...
configure.ac
... ... @@ -68,7 +68,13 @@ AC_SUBST(REXXC)
68 68 AC_PATH_TOOL([VALGRIND], [valgrind], [no])
69 69 AC_PATH_TOOL([REXXCONFIG], [oorexx-config], [no])
70 70  
71   -#--[ OS ]-----------------------------------------------------------------------------------------------------------------------------------------------------
  71 +#--[ Version & Revision ]-------------------------------------------------------------------------------------------------------------------------------------
  72 +
  73 +AC_DEFINE(PACKAGE_REVISION,"SVN_REV")
  74 +AC_SUBST(PACKAGE_REVISION, "SVN_REV")
  75 +
  76 +#--[ Set host based options ]---------------------------------------------------------------------------------------------------------------------------------
  77 +
72 78 DLL_LIBS="-shared -Wl,-soname,\$(@F)"
73 79  
74 80 DLLEXT=".so"
... ... @@ -77,6 +83,13 @@ EXEEXT=""
77 83 DLLPREFIX="lib"
78 84  
79 85  
  86 +if test $host != $build; then
  87 + AC_CHECK_PROGS(HOST_CC, gcc cc)
  88 +else
  89 + HOST_CC=$CC
  90 +fi
  91 +
  92 +AC_SUBST(HOST_CC)
80 93 AC_SUBST(EXEEXT)
81 94  
82 95 #--[ Debug/Release ]------------------------------------------------------------------------------------------------------------------------------------------
... ... @@ -170,6 +183,8 @@ AC_CONFIG_FILES([
170 183  
171 184 Makefile
172 185 src/include/rules.mak
  186 + src/lib3270/Makefile
  187 + src/lib3270/mkversion.sh
173 188 src/gtk/Makefile
174 189 src/gtk/uiparser/Makefile
175 190  
... ...
pw3270.cbp
... ... @@ -117,6 +117,174 @@
117 117 <Unit filename="src/include/lib3270/config.h.in" />
118 118 <Unit filename="src/include/pw3270.h" />
119 119 <Unit filename="src/include/rules.mak.in" />
  120 + <Unit filename="src/lib3270/3270ds.h" />
  121 + <Unit filename="src/lib3270/Makefile.in" />
  122 + <Unit filename="src/lib3270/X11keysym.h" />
  123 + <Unit filename="src/lib3270/XtGlue.c">
  124 + <Option compilerVar="CC" />
  125 + </Unit>
  126 + <Unit filename="src/lib3270/actions.c">
  127 + <Option compilerVar="CC" />
  128 + </Unit>
  129 + <Unit filename="src/lib3270/actionsc.h" />
  130 + <Unit filename="src/lib3270/ansi.c">
  131 + <Option compilerVar="CC" />
  132 + </Unit>
  133 + <Unit filename="src/lib3270/ansic.h" />
  134 + <Unit filename="src/lib3270/api.h" />
  135 + <Unit filename="src/lib3270/apl.c">
  136 + <Option compilerVar="CC" />
  137 + </Unit>
  138 + <Unit filename="src/lib3270/aplc.h" />
  139 + <Unit filename="src/lib3270/appres.h" />
  140 + <Unit filename="src/lib3270/arpa_telnet.h" />
  141 + <Unit filename="src/lib3270/cg.h" />
  142 + <Unit filename="src/lib3270/charset.c">
  143 + <Option compilerVar="CC" />
  144 + </Unit>
  145 + <Unit filename="src/lib3270/charsetc.h" />
  146 + <Unit filename="src/lib3270/childc.h" />
  147 + <Unit filename="src/lib3270/ctlr.c">
  148 + <Option compilerVar="CC" />
  149 + </Unit>
  150 + <Unit filename="src/lib3270/ctlr.h" />
  151 + <Unit filename="src/lib3270/ctlrc.h" />
  152 + <Unit filename="src/lib3270/dialogc.h" />
  153 + <Unit filename="src/lib3270/fallbacks.c">
  154 + <Option compilerVar="CC" />
  155 + </Unit>
  156 + <Unit filename="src/lib3270/ft.c">
  157 + <Option compilerVar="CC" />
  158 + </Unit>
  159 + <Unit filename="src/lib3270/ft_cut.c">
  160 + <Option compilerVar="CC" />
  161 + </Unit>
  162 + <Unit filename="src/lib3270/ft_cut_ds.h" />
  163 + <Unit filename="src/lib3270/ft_cutc.h" />
  164 + <Unit filename="src/lib3270/ft_dft.c">
  165 + <Option compilerVar="CC" />
  166 + </Unit>
  167 + <Unit filename="src/lib3270/ft_dft_ds.h" />
  168 + <Unit filename="src/lib3270/ft_dftc.h" />
  169 + <Unit filename="src/lib3270/ftc.h" />
  170 + <Unit filename="src/lib3270/globals.h" />
  171 + <Unit filename="src/lib3270/glue.c">
  172 + <Option compilerVar="CC" />
  173 + </Unit>
  174 + <Unit filename="src/lib3270/gluec.h" />
  175 + <Unit filename="src/lib3270/host.c">
  176 + <Option compilerVar="CC" />
  177 + </Unit>
  178 + <Unit filename="src/lib3270/hostc.h" />
  179 + <Unit filename="src/lib3270/icmdc.h" />
  180 + <Unit filename="src/lib3270/keypadc.h" />
  181 + <Unit filename="src/lib3270/kybd.c">
  182 + <Option compilerVar="CC" />
  183 + </Unit>
  184 + <Unit filename="src/lib3270/kybdc.h" />
  185 + <Unit filename="src/lib3270/localdefs.h" />
  186 + <Unit filename="src/lib3270/log.c">
  187 + <Option compilerVar="CC" />
  188 + </Unit>
  189 + <Unit filename="src/lib3270/macros.c">
  190 + <Option compilerVar="CC" />
  191 + </Unit>
  192 + <Unit filename="src/lib3270/menubarc.h" />
  193 + <Unit filename="src/lib3270/mkfb.c">
  194 + <Option compilerVar="CC" />
  195 + </Unit>
  196 + <Unit filename="src/lib3270/objects.h" />
  197 + <Unit filename="src/lib3270/paste.c">
  198 + <Option compilerVar="CC" />
  199 + </Unit>
  200 + <Unit filename="src/lib3270/popupsc.h" />
  201 + <Unit filename="src/lib3270/print.c">
  202 + <Option compilerVar="CC" />
  203 + </Unit>
  204 + <Unit filename="src/lib3270/printc.h" />
  205 + <Unit filename="src/lib3270/printer.c">
  206 + <Option compilerVar="CC" />
  207 + </Unit>
  208 + <Unit filename="src/lib3270/printerc.h" />
  209 + <Unit filename="src/lib3270/proxy.c">
  210 + <Option compilerVar="CC" />
  211 + </Unit>
  212 + <Unit filename="src/lib3270/proxyc.h" />
  213 + <Unit filename="src/lib3270/resolver.c">
  214 + <Option compilerVar="CC" />
  215 + </Unit>
  216 + <Unit filename="src/lib3270/resolverc.h" />
  217 + <Unit filename="src/lib3270/resources.c">
  218 + <Option compilerVar="CC" />
  219 + </Unit>
  220 + <Unit filename="src/lib3270/resources.h" />
  221 + <Unit filename="src/lib3270/rpq.c">
  222 + <Option compilerVar="CC" />
  223 + </Unit>
  224 + <Unit filename="src/lib3270/savec.h" />
  225 + <Unit filename="src/lib3270/screen.c">
  226 + <Option compilerVar="CC" />
  227 + </Unit>
  228 + <Unit filename="src/lib3270/screen.h" />
  229 + <Unit filename="src/lib3270/screenc.h" />
  230 + <Unit filename="src/lib3270/scrollc.h" />
  231 + <Unit filename="src/lib3270/see.c">
  232 + <Option compilerVar="CC" />
  233 + </Unit>
  234 + <Unit filename="src/lib3270/seec.h" />
  235 + <Unit filename="src/lib3270/selectc.h" />
  236 + <Unit filename="src/lib3270/sf.c">
  237 + <Option compilerVar="CC" />
  238 + </Unit>
  239 + <Unit filename="src/lib3270/sfc.h" />
  240 + <Unit filename="src/lib3270/shlobj_missing.h" />
  241 + <Unit filename="src/lib3270/statusc.h" />
  242 + <Unit filename="src/lib3270/tables.c">
  243 + <Option compilerVar="CC" />
  244 + </Unit>
  245 + <Unit filename="src/lib3270/tablesc.h" />
  246 + <Unit filename="src/lib3270/telnet.c">
  247 + <Option compilerVar="CC" />
  248 + </Unit>
  249 + <Unit filename="src/lib3270/telnetc.h" />
  250 + <Unit filename="src/lib3270/testprogram.c">
  251 + <Option compilerVar="CC" />
  252 + </Unit>
  253 + <Unit filename="src/lib3270/tn3270e.h" />
  254 + <Unit filename="src/lib3270/toggle.h" />
  255 + <Unit filename="src/lib3270/toggles.c">
  256 + <Option compilerVar="CC" />
  257 + </Unit>
  258 + <Unit filename="src/lib3270/togglesc.h" />
  259 + <Unit filename="src/lib3270/trace_ds.c">
  260 + <Option compilerVar="CC" />
  261 + </Unit>
  262 + <Unit filename="src/lib3270/trace_dsc.h" />
  263 + <Unit filename="src/lib3270/utf8.c">
  264 + <Option compilerVar="CC" />
  265 + </Unit>
  266 + <Unit filename="src/lib3270/utf8c.h" />
  267 + <Unit filename="src/lib3270/util.c">
  268 + <Option compilerVar="CC" />
  269 + </Unit>
  270 + <Unit filename="src/lib3270/utilc.h" />
  271 + <Unit filename="src/lib3270/version.c">
  272 + <Option compilerVar="CC" />
  273 + </Unit>
  274 + <Unit filename="src/lib3270/w3misc.c">
  275 + <Option compilerVar="CC" />
  276 + </Unit>
  277 + <Unit filename="src/lib3270/w3miscc.h" />
  278 + <Unit filename="src/lib3270/widec.h" />
  279 + <Unit filename="src/lib3270/winvers.c">
  280 + <Option compilerVar="CC" />
  281 + </Unit>
  282 + <Unit filename="src/lib3270/winversc.h" />
  283 + <Unit filename="src/lib3270/xio.c">
  284 + <Option compilerVar="CC" />
  285 + </Unit>
  286 + <Unit filename="src/lib3270/xioc.h" />
  287 + <Unit filename="src/lib3270/xl.h" />
120 288 <Unit filename="valgrind.suppression" />
121 289 <Extensions>
122 290 <code_completion />
... ...
src/lib3270/Makefile.in 0 → 100644
... ... @@ -0,0 +1,91 @@
  1 +#
  2 +# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 +# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 +# aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 +#
  6 +# Copyright (C) <2008> <Banco do Brasil S.A.>
  7 +#
  8 +# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 +# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 +# Free Software Foundation.
  11 +#
  12 +# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 +# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 +# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 +# obter mais detalhes.
  16 +#
  17 +# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 +# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
  19 +# Place, Suite 330, Boston, MA, 02111-1307, USA
  20 +#
  21 +# Contatos:
  22 +#
  23 +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  24 +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  25 +# licinio@bb.com.br (Licínio Luis Branco)
  26 +# kraucer@bb.com.br (Kraucer Fernandes Mazuco)
  27 +#
  28 +
  29 +CFLAGS=@CFLAGS@ -DAPPDATA=\"$(datarootdir)/$(PACKAGE_NAME)\" -I../../src/include
  30 +SSL_CFLAGS=@SSL_CFLAGS@
  31 +
  32 +LIBS=@LIBS@ @SSL_LIBS@
  33 +
  34 +DEBUG_CFLAGS=-DDEBUG=1 -g
  35 +DEPENDS ?= *.h ../../src/include/*.h
  36 +
  37 +#---[ Tools ]------------------------------------------------------------------
  38 +
  39 +MKDIR=@MKDIR_P@
  40 +CC=@CC@
  41 +LD=@CC@
  42 +HOST_CC=@HOST_CC@
  43 +
  44 +#---[ ]------------------------------------------------------------------
  45 +
  46 +OBJEXT=.o
  47 +
  48 +#---[ Paths ]------------------------------------------------------------------
  49 +
  50 +ROOTDIR ?= .
  51 +OBJDIR ?= $(ROOTDIR)/.obj
  52 +BINDIR ?= $(ROOTDIR)/.bin
  53 +
  54 +#---[ Rules ]------------------------------------------------------------------
  55 +
  56 +$(OBJDIR)/Debug/%.o: %.c $(DEPENDS)
  57 + @echo $< ...
  58 + @$(MKDIR) `dirname $@`
  59 + @$(CC) $(DEBUG_CFLAGS) $(CFLAGS) $(SSL_CFLAGS) -o $@ -c $<
  60 +
  61 +
  62 +#---[ Sources ]----------------------------------------------------------------
  63 +
  64 +SOURCES = XtGlue.c actions.c ansi.c charset.c ctlr.c \
  65 + ft.c ft_cut.c ft_dft.c glue.c host.c kybd.c \
  66 + print.c printer.c proxy.c resources.c rpq.c screen.c see.c \
  67 + sf.c tables.c telnet.c toggles.c trace_ds.c utf8.c util.c \
  68 + xio.c resolver.c log.c paste.c macros.c fallbacks.c version.c
  69 +
  70 +#---[ Misc targets ]-----------------------------------------------------------
  71 +
  72 +version.c: ./mkversion.sh
  73 + @echo $@ ...
  74 + @chmod +x ./mkversion.sh
  75 + @./mkversion.sh
  76 +
  77 +fallbacks.c: $(BINDIR)/mkfb@EXEEXT@ X3270.xad
  78 + @echo $@ ...
  79 + @$(BINDIR)/mkfb@EXEEXT@ -c X3270.xad $@
  80 +
  81 +$(BINDIR)/mkfb@EXEEXT@: mkfb.c Makefile
  82 + @echo $@ ...
  83 + @$(MKDIR) $(BINDIR)
  84 + @$(HOST_CC) -g -o $@ -D_WIN32 mkfb.c
  85 +
  86 +clean:
  87 + @rm -fr .obj
  88 + @rm -fr .bin
  89 + @rm -f *.log
  90 + @rm -f version.c
  91 + @rm -f fallbacks.c
... ...
src/lib3270/X11keysym.h 0 → 100644
... ... @@ -0,0 +1,217 @@
  1 +/*
  2 + * Copyright 1999 by Paul Mattes.
  3 + * Permission to use, copy, modify, and distribute this software and its
  4 + * documentation for any purpose and without fee is hereby granted,
  5 + * provided that the above copyright notice appear in all copies and that
  6 + * both that copyright notice and this permission notice appear in
  7 + * supporting documentation.
  8 + *
  9 + * c3270, s3270 and tcl3270 are distributed in the hope that they will
  10 + * be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  11 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file LICENSE
  12 + * for more details.
  13 + */
  14 +
  15 +/* X11 keysyms used by c3270, s3270 and tcl3270 */
  16 +
  17 +#if !defined(_x11_keysym_h) /*[*/
  18 +#define _x11_keysym_h 1
  19 +
  20 +/* Latin-1 Keysyms */
  21 +#define XK_space 0x020
  22 +#define XK_exclam 0x021
  23 +#define XK_quotedbl 0x022
  24 +#define XK_numbersign 0x023
  25 +#define XK_dollar 0x024
  26 +#define XK_percent 0x025
  27 +#define XK_ampersand 0x026
  28 +#define XK_apostrophe 0x027
  29 +#define XK_quoteright 0x027
  30 +#define XK_parenleft 0x028
  31 +#define XK_parenright 0x029
  32 +#define XK_asterisk 0x02a
  33 +#define XK_plus 0x02b
  34 +#define XK_comma 0x02c
  35 +#define XK_minus 0x02d
  36 +#define XK_period 0x02e
  37 +#define XK_slash 0x02f
  38 +#define XK_0 0x030
  39 +#define XK_1 0x031
  40 +#define XK_2 0x032
  41 +#define XK_3 0x033
  42 +#define XK_4 0x034
  43 +#define XK_5 0x035
  44 +#define XK_6 0x036
  45 +#define XK_7 0x037
  46 +#define XK_8 0x038
  47 +#define XK_9 0x039
  48 +#define XK_colon 0x03a
  49 +#define XK_semicolon 0x03b
  50 +#define XK_less 0x03c
  51 +#define XK_equal 0x03d
  52 +#define XK_greater 0x03e
  53 +#define XK_question 0x03f
  54 +#define XK_at 0x040
  55 +#define XK_A 0x041
  56 +#define XK_B 0x042
  57 +#define XK_C 0x043
  58 +#define XK_D 0x044
  59 +#define XK_E 0x045
  60 +#define XK_F 0x046
  61 +#define XK_G 0x047
  62 +#define XK_H 0x048
  63 +#define XK_I 0x049
  64 +#define XK_J 0x04a
  65 +#define XK_K 0x04b
  66 +#define XK_L 0x04c
  67 +#define XK_M 0x04d
  68 +#define XK_N 0x04e
  69 +#define XK_O 0x04f
  70 +#define XK_P 0x050
  71 +#define XK_Q 0x051
  72 +#define XK_R 0x052
  73 +#define XK_S 0x053
  74 +#define XK_T 0x054
  75 +#define XK_U 0x055
  76 +#define XK_V 0x056
  77 +#define XK_W 0x057
  78 +#define XK_X 0x058
  79 +#define XK_Y 0x059
  80 +#define XK_Z 0x05a
  81 +#define XK_bracketleft 0x05b
  82 +#define XK_backslash 0x05c
  83 +#define XK_bracketright 0x05d
  84 +#define XK_asciicircum 0x05e
  85 +#define XK_underscore 0x05f
  86 +#define XK_grave 0x060
  87 +#define XK_quoteleft 0x060
  88 +#define XK_a 0x061
  89 +#define XK_b 0x062
  90 +#define XK_c 0x063
  91 +#define XK_d 0x064
  92 +#define XK_e 0x065
  93 +#define XK_f 0x066
  94 +#define XK_g 0x067
  95 +#define XK_h 0x068
  96 +#define XK_i 0x069
  97 +#define XK_j 0x06a
  98 +#define XK_k 0x06b
  99 +#define XK_l 0x06c
  100 +#define XK_m 0x06d
  101 +#define XK_n 0x06e
  102 +#define XK_o 0x06f
  103 +#define XK_p 0x070
  104 +#define XK_q 0x071
  105 +#define XK_r 0x072
  106 +#define XK_s 0x073
  107 +#define XK_t 0x074
  108 +#define XK_u 0x075
  109 +#define XK_v 0x076
  110 +#define XK_w 0x077
  111 +#define XK_x 0x078
  112 +#define XK_y 0x079
  113 +#define XK_z 0x07a
  114 +#define XK_braceleft 0x07b
  115 +#define XK_bar 0x07c
  116 +#define XK_braceright 0x07d
  117 +#define XK_asciitilde 0x07e
  118 +#define XK_nobreakspace 0x0a0
  119 +#define XK_exclamdown 0x0a1
  120 +#define XK_cent 0x0a2
  121 +#define XK_sterling 0x0a3
  122 +#define XK_currency 0x0a4
  123 +#define XK_yen 0x0a5
  124 +#define XK_brokenbar 0x0a6
  125 +#define XK_section 0x0a7
  126 +#define XK_diaeresis 0x0a8
  127 +#define XK_copyright 0x0a9
  128 +#define XK_ordfeminine 0x0aa
  129 +#define XK_guillemotleft 0x0ab
  130 +#define XK_notsign 0x0ac
  131 +#define XK_hyphen 0x0ad
  132 +#define XK_registered 0x0ae
  133 +#define XK_macron 0x0af
  134 +#define XK_degree 0x0b0
  135 +#define XK_plusminus 0x0b1
  136 +#define XK_twosuperior 0x0b2
  137 +#define XK_threesuperior 0x0b3
  138 +#define XK_acute 0x0b4
  139 +#define XK_mu 0x0b5
  140 +#define XK_paragraph 0x0b6
  141 +#define XK_periodcentered 0x0b7
  142 +#define XK_cedilla 0x0b8
  143 +#define XK_onesuperior 0x0b9
  144 +#define XK_masculine 0x0ba
  145 +#define XK_guillemotright 0x0bb
  146 +#define XK_onequarter 0x0bc
  147 +#define XK_onehalf 0x0bd
  148 +#define XK_threequarters 0x0be
  149 +#define XK_questiondown 0x0bf
  150 +#define XK_Agrave 0x0c0
  151 +#define XK_Aacute 0x0c1
  152 +#define XK_Acircumflex 0x0c2
  153 +#define XK_Atilde 0x0c3
  154 +#define XK_Adiaeresis 0x0c4
  155 +#define XK_Aring 0x0c5
  156 +#define XK_AE 0x0c6
  157 +#define XK_Ccedilla 0x0c7
  158 +#define XK_Egrave 0x0c8
  159 +#define XK_Eacute 0x0c9
  160 +#define XK_Ecircumflex 0x0ca
  161 +#define XK_Ediaeresis 0x0cb
  162 +#define XK_Igrave 0x0cc
  163 +#define XK_Iacute 0x0cd
  164 +#define XK_Icircumflex 0x0ce
  165 +#define XK_Idiaeresis 0x0cf
  166 +#define XK_ETH 0x0d0
  167 +#define XK_Eth 0x0d0
  168 +#define XK_Ntilde 0x0d1
  169 +#define XK_Ograve 0x0d2
  170 +#define XK_Oacute 0x0d3
  171 +#define XK_Ocircumflex 0x0d4
  172 +#define XK_Otilde 0x0d5
  173 +#define XK_Odiaeresis 0x0d6
  174 +#define XK_multiply 0x0d7
  175 +#define XK_Ooblique 0x0d8
  176 +#define XK_Ugrave 0x0d9
  177 +#define XK_Uacute 0x0da
  178 +#define XK_Ucircumflex 0x0db
  179 +#define XK_Udiaeresis 0x0dc
  180 +#define XK_Yacute 0x0dd
  181 +#define XK_THORN 0x0de
  182 +#define XK_Thorn 0x0de
  183 +#define XK_ssharp 0x0df
  184 +#define XK_agrave 0x0e0
  185 +#define XK_aacute 0x0e1
  186 +#define XK_acircumflex 0x0e2
  187 +#define XK_atilde 0x0e3
  188 +#define XK_adiaeresis 0x0e4
  189 +#define XK_aring 0x0e5
  190 +#define XK_ae 0x0e6
  191 +#define XK_ccedilla 0x0e7
  192 +#define XK_egrave 0x0e8
  193 +#define XK_eacute 0x0e9
  194 +#define XK_ecircumflex 0x0ea
  195 +#define XK_ediaeresis 0x0eb
  196 +#define XK_igrave 0x0ec
  197 +#define XK_iacute 0x0ed
  198 +#define XK_icircumflex 0x0ee
  199 +#define XK_idiaeresis 0x0ef
  200 +#define XK_eth 0x0f0
  201 +#define XK_ntilde 0x0f1
  202 +#define XK_ograve 0x0f2
  203 +#define XK_oacute 0x0f3
  204 +#define XK_ocircumflex 0x0f4
  205 +#define XK_otilde 0x0f5
  206 +#define XK_odiaeresis 0x0f6
  207 +#define XK_division 0x0f7
  208 +#define XK_oslash 0x0f8
  209 +#define XK_ugrave 0x0f9
  210 +#define XK_uacute 0x0fa
  211 +#define XK_ucircumflex 0x0fb
  212 +#define XK_udiaeresis 0x0fc
  213 +#define XK_yacute 0x0fd
  214 +#define XK_thorn 0x0fe
  215 +#define XK_ydiaeresis 0x0ff
  216 +
  217 +#endif /*]*/
... ...
src/lib3270/X3270.xad 0 → 100644
... ... @@ -0,0 +1,2426 @@
  1 +! Copyright 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by Paul
  2 +! Mattes.
  3 +! Permission to use, copy, modify, and distribute this software and its
  4 +! documentation for any purpose and without fee is hereby granted,
  5 +! provided that the above copyright notice appear in all copies and that
  6 +! both that copyright notice and this permission notice appear in
  7 +! supporting documentation.
  8 +!
  9 +! x3270, c3270, s3270 and tcl3270 are distributed in the hope that they will
  10 +! be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  11 +! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file LICENSE
  12 +! for more details.
  13 +!
  14 +! x3270 app-defaults file. This file is generally compiled into x3270, rather
  15 +! than installed.
  16 +!
  17 +! This file is in three sections:
  18 +!
  19 +! (1) User-Modifiable Resources
  20 +! Resources that are likeliest to be modified by an end user.
  21 +!
  22 +! (2) Labels and Messages
  23 +! Resources that are likely to be modified for translation into another
  24 +! language.
  25 +!
  26 +! (3) Base-Level Resources
  27 +! Resources required for the basic operation of x3270, not for the
  28 +! faint-hearted to modify.
  29 +!
  30 +!=============================================================================
  31 +! Section 1: User-Modifiable Resources
  32 +!
  33 +! Resources that are likeliest to be modified by an end user.
  34 +!=============================================================================
  35 +!
  36 +! Many of the resource definitions are commented out, because they are
  37 +! the defaults defined in x3270 itself. They are listed here so you can
  38 +! easily uncomment and change them.
  39 +#ifndef STANDALONE
  40 +!
  41 +! Fonts
  42 +! *.emulatorFont: 3270
  43 +!
  44 +! Color schemes for full-color (3279) mode
  45 +! Each scheme is a list of 23 items:
  46 +! 0 X color to use for IBM "neutral/black" (also used as ANSI color 0)
  47 +! 1 X color to use for IBM "blue" (also used for ANSI color 4)
  48 +! 2 X color to use for IBM "red" (also used for ANSI color 1)
  49 +! 3 X color to use for IBM "pink" (also used for ANSI color 5)
  50 +! 4 X color to use for IBM "green" (also used for ANSI color 2)
  51 +! 5 X color to use for IBM "turquoise"
  52 +! 6 X color to use for IBM "yellow" (also used for ANSI color 3)
  53 +! 7 X color to use for IBM "neutral/white"
  54 +! 8 X color to use for IBM "black"
  55 +! 9 X color to use for IBM "deep blue"
  56 +! 10 X color to use for IBM "orange"
  57 +! 11 X color to use for IBM "purple"
  58 +! 12 X color to use for IBM "pale green"
  59 +! 13 X color to use for IBM "pale turquoise" (also used for ANSI color 6)
  60 +! 14 X color to use for IBM "grey"
  61 +! 15 X color to use for IBM "white" (also used for ANSI color 7)
  62 +! 16 X color to use if one of 0..15 cannot be allocated (white or black)
  63 +! 17 X color to use as the default screen background
  64 +! 18 X color to use as the select background
  65 +! 19 IBM color index (0..15) to use for unprotected, unhighlighted fields
  66 +! 20 IBM color index (0..15) to use for unprotected, highlighted fields
  67 +! 21 IBM color index (0..15) to use for protected, unhighlighted fields
  68 +! 22 IBM color index (0..15) to use for protected, highlighted fields
  69 +!
  70 +! x3270.colorScheme: default
  71 +x3270.colorScheme.default: \
  72 + black deepSkyBlue red pink \
  73 + green turquoise yellow white \
  74 + black blue3 orange purple \
  75 + paleGreen paleTurquoise2 grey white \
  76 + white black dimGrey \
  77 + 4 2 1 15
  78 +x3270.colorScheme.reverse: \
  79 + black blue firebrick pink \
  80 + green4 cadetBlue goldenrod black \
  81 + black blue3 orange purple \
  82 + paleGreen darkTurquoise grey black \
  83 + black white dimGrey \
  84 + 4 2 1 0
  85 +x3270.colorScheme.bright: \
  86 + black blue red magenta \
  87 + green turquoise yellow white \
  88 + black blue3 orange purple \
  89 + paleGreen cyan grey white \
  90 + white black dimGrey \
  91 + 4 2 1 15
  92 +x3270.colorScheme.cpe: \
  93 + black LightBlue1 PaleVioletRed1 \
  94 + pink green turquoise yellow white \
  95 + black LightBlue3 orange MediumPurple1 \
  96 + paleGreen paleTurquoise2 grey80 white \
  97 + white black dimGrey \
  98 + 4 2 1 15
  99 +x3270.colorScheme.greenScreen: \
  100 + green green green green \
  101 + green green green green \
  102 + green green green green \
  103 + green green green green \
  104 + white black dimGrey \
  105 + 4 15 4 15
  106 +#ifdef X3270_MENUS
  107 +! Color schemes listed on the Options color menu
  108 +x3270.schemeList: Default 3279: default\n\
  109 + Bright: bright\n\
  110 + Reverse: reverse\n\
  111 + Green Screen: greenScreen
  112 +! Character sets listed on the Options menu
  113 +x3270.charsetList: U.S. English (CP 37): us-intl\n\
  114 + Bracket (CP 37, modified): bracket\n\
  115 + APL (CP 37): apl\n\
  116 + Euro>U.S. English (CP 1140): us-euro\n\
  117 + Euro>Belgian (CP 1148): belgian-euro\n\
  118 + Euro>Finnish (CP 1143): finnish-euro\n\
  119 + Euro>French (CP 1147): french-euro\n\
  120 + Euro>German (CP 1141): german-euro\n\
  121 + Euro>Icelandic (CP 1149): icelandic-euro\n\
  122 + Euro>Italian (CP 1144): italian-euro\n\
  123 + Euro>Norwegian (CP 1142): norwegian-euro\n\
  124 + Euro>Spanish (CP 1145): spanish-euro\n\
  125 + Euro>United Kingdom (CP 1146): uk-euro\n\
  126 + Belgian (CP 500): belgian\n\
  127 + Brazilian (CP 275): brazilian\n\
  128 +#ifdef X3270_DBCS
  129 + Chinese Simplified (CP 836+837): simplified-chinese\n\
  130 + Chinese GB 18030 (CP 1388): chinese-gb18030\n\
  131 +#endif
  132 + Finnish (CP 278): finnish\n\
  133 + French (CP 297): french\n\
  134 + German (CP 273): german\n\
  135 + Greek (CP 875): greek\n\
  136 + Hebrew (CP 424): hebrew\n\
  137 + Icelandic (CP 871): icelandic\n\
  138 + Italian (CP 280): italian\n\
  139 +#ifdef X3270_DBCS
  140 + Japanese>CP 1027+300: japanese\n\
  141 + Japanese>CP 290+300: japanese-290\n\
  142 + Japanese>CP 930: japanese-930\n\
  143 + Japanese>CP 939: japanese-939\n\
  144 + Japanese>CP 1390: japanese-1390\n\
  145 + Japanese>CP 1399: japanese-1399\n\
  146 +#endif
  147 + Norwegian (CP 277): norwegian\n\
  148 + Open Systems (CP 1047): cp1047\n\
  149 + Polish (CP 870): cp870\n\
  150 + Russian (CP 880): russian\n\
  151 + Slovenian (CP 870): cp870\n\
  152 + Spanish (CP 284): spanish\n\
  153 + Thai (CP 838): thai\n\
  154 + Turkish (CP 1026): turkish\n\
  155 + United Kingdom (CP 285): uk\n
  156 +#endif
  157 +!
  158 +! Pseudo-colors for 3278 mode
  159 +! x3270.colorBackground: black
  160 +! x3270.selectBackground: dimGrey
  161 +! x3270.normalColor: green
  162 +! Note: the following values are the new defaults, which cause 3278's
  163 +! to display everything in green.
  164 +! x3270.inputColor: green
  165 +! x3270.boldColor: green
  166 +! To resurrect x3270's Pseudo-Color mode, which was how 3278's were
  167 +! displayed up through x3270 3.3.5, set the following resource values:
  168 +! x3270.inputColor: orange
  169 +! x3270.boldColor: cyan
  170 +!
  171 +! Cursors
  172 +! x3270.normalCursor: top_left_arrow
  173 +! x3270.waitCursor: watch
  174 +! x3270.lockedCursor: X_cursor
  175 +!
  176 +! Line-mode Telnet parameters
  177 +! x3270.icrnl: true
  178 +! x3270.inlcr: false
  179 +! x3270.erase: ^?
  180 +! x3270.kill: ^U
  181 +! x3270.werase: ^W
  182 +! x3270.rprnt: ^R
  183 +! x3270.lnext: ^V
  184 +! x3270.intr: ^C
  185 +! x3270.quit: ^\\
  186 +! x3270.eof: ^D
  187 +!
  188 +! Toggles, using the same names as the "-set" and "-clear" options
  189 +! x3270.altCursor: false
  190 +! x3270.blankFill: false
  191 +! x3270.crosshair: false
  192 +! x3270.cursorBlink: false
  193 +! x3270.cursorPos: true
  194 +! x3270.dsTrace: false
  195 +! x3270.eventTrace: false
  196 +! x3270.lineWrap: true
  197 +! x3270.marginedPaste: false
  198 +! x3270.monoCase: false
  199 +! x3270.rectangleSelect: false
  200 +! x3270.screenTrace: false
  201 +! x3270.scrollBar: false
  202 +! x3270.showTiming: false
  203 +!
  204 +! Miscellaneous configuration parameters
  205 +! x3270.activeIcon: false
  206 +! x3270.allowResize: true
  207 +! x3270.bellVolume: 0
  208 +! x3270.charset: bracket
  209 +! x3270.composeMap: latin1
  210 +! x3270.connectFileName: ~/.x3270connect
  211 +! x3270.doConfirms: true
  212 +! x3270.debugTracing: true
  213 +! x3270.disconnectClear: false
  214 +! x3270.hostsFile: /usr/lib/X11/x3270/ibm_hosts
  215 +! x3270.highlightSelect: true
  216 +! x3270.idleCommand:
  217 +! x3270.idleTimeout: ~7m
  218 +! x3270.inputMethod:
  219 +! x3270.invertKeypadShift: false
  220 +! x3270.keymap:
  221 +! x3270.keypad: right
  222 +! x3270.keypadOn: false
  223 +! x3270.labelIcon: false
  224 +! x3270.m3279: false
  225 +! x3270.macros:
  226 +! x3270.menuBar: true
  227 +! x3270.modifiedSel: false
  228 +! x3270.modifiedSelColor: 10
  229 +! x3270.model: 4
  230 +! x3270.mono: false
  231 +! x3270.numericLock: false
  232 +! x3270.once: false
  233 +! x3270.pluginCommand: x3270hist.pl
  234 +! x3270.port: telnet
  235 +! x3270.preeditType: OverTheSpot+1
  236 +! x3270.saveLines: 64
  237 +! x3270.scripted: false
  238 +! x3270.suppressHost: false
  239 +! x3270.suppressFontMenu: false
  240 +! x3270.termName:
  241 +! x3270.traceDir: /tmp
  242 +! x3270.cursorColor: red
  243 +! (note: cursorColor is not used unless useCursorColor is true, below)
  244 +! x3270.useCursorColor: false
  245 +! x3270.visualBell: false
  246 +! x3270.visualSelect: false
  247 +! x3270.visualSelectColor: 6
  248 +!
  249 +! Fonts listed on the Options menu and for screen resizing
  250 +x3270.emulatorFontList.3270cg-1a,3270cg-1,iso8859-1: \
  251 + 3270 Font (14 point): #resize 3270\n\
  252 + 8-point Font: #resize 3270gt8\n\
  253 + 12-point Font: #resize 3270-12\n\
  254 + 16-point Font: #resize 3270gt16\n\
  255 + 20-point Font: #resize 3270-20\n\
  256 + 24-point Font: #resize 3270gt24\n\
  257 + 32-point Font: #resize 3270gt32
  258 +x3270.emulatorFontList.3270cg-15a,3270cg-15,iso8859-15: \
  259 + 3270 Font (14 point): #resize 3270e\n\
  260 + 8-point Font: #resize 3270egt8\n\
  261 + 12-point Font: #resize 3270e-12\n\
  262 + 16-point Font: #resize 3270egt16\n\
  263 + 20-point Font: #resize 3270e-20\n\
  264 + 24-point Font: #resize 3270egt24\n\
  265 + 32-point Font: #resize 3270egt32
  266 +x3270.emulatorFontList.3270cg-1a,3270cg-1,iso8859-1+gb2312.1980-0,iso10646-1: \
  267 + 14-point 3270: 3270+-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0\n\
  268 + 20-point 3270: 3270-20+-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0\n\
  269 + 8x16: 8x16+-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0\n\
  270 + 12x24: 12x24+-isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0
  271 +x3270.emulatorFontList.jisx0201.1976-0+jisx0208.1983-0,iso10646-1: \
  272 + 14-point: -misc-fixed-medium-r-normal--14-130-75-75-c-70-jisx0201.1976-0+-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0\n\
  273 + 16-point: -sony-fixed-medium-r-normal--16-150-75-75-c-80-jisx0201.1976-0+-jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0\n\
  274 + 18-point: -sony-fixed-medium-r-normal--16-150-75-75-c-80-jisx0201.1976-0+-misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1\n\
  275 + 24-point: -sony-fixed-medium-r-normal--24-230-75-75-c-120-jisx0201.1976-0+-jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0
  276 +#endif
  277 +!
  278 +! Print commands
  279 +x3270.printTextCommand: lpr
  280 +#ifndef STANDALONE
  281 +x3270.printWindowCommand: xwd -id %d | xpr | lpr
  282 +!
  283 +! System V versions of print commands
  284 +! x3270.printTextCommand: lp
  285 +! x3270.printWindowCommand: xwd -id %d | xpr | lp
  286 +!
  287 +! Trace window command
  288 +x3270.traceCommand: tail -f
  289 +!
  290 +! File transfer command
  291 +! x3270.ftCommand: ind$file
  292 +!
  293 +! Printer session options
  294 +#endif
  295 +#ifdef _WIN32
  296 +x3270.printer.assocCommandLine: wpr3287.exe -assoc %L% %R% %P% %H%
  297 +x3270.printer.luCommandLine: wpr3287.exe %R% %P% %L%@%H%
  298 +! x3270.printer.name:
  299 +#else
  300 +x3270.printer.command: lpr
  301 +x3270.printer.assocCommandLine: pr3287 -assoc %L% -command "%C%" %R% %P% "%H%"
  302 +x3270.printer.luCommandLine: pr3287 -command "%C%" %R% %P% "%L%@%H%"
  303 +#endif
  304 +#ifndef STANDALONE
  305 +!
  306 +! Translation table for the '@server' pseudo-keymap, which is the keymap
  307 +! you get by default (in addition to the 'base' keymap, below). Maps server
  308 +! vendor strings to keymap names.
  309 +x3270.serverKeymapList: \
  310 + Sun Microsystems, Inc.: sun_k5\n\
  311 + Hewlett-Packard Company: hp-k1\n\
  312 + International Business Machines: alt\n\
  313 + Silicon Graphics: alt\n\
  314 + The XFree86 Project, Inc: alt\n\
  315 + AT&T Laboratories Cambridge: alt
  316 +!
  317 +! Keymaps (keyboard and mouse mappings)
  318 +!
  319 +! Base keymap: What you get by default, in both 3270 and NVT modes. Any other
  320 +! user-specified keymap is logically added to this keymap.
  321 +x3270.keymap.base: \
  322 + :<Key>Multi_key: Compose()\n\
  323 + Ctrl<Btn1Down>: HandleMenu(fileMenu)\n\
  324 + Ctrl<Btn2Down>: HandleMenu(optionsMenu)\n\
  325 + Ctrl<Btn3Down>: HandleMenu(hostMenu,macrosMenu)\n\
  326 + <Btn1Down>: SelectDown()\n\
  327 + ~Shift<Btn1Motion>: SelectMotion()\n\
  328 + <Btn2Down>: ignore()\n\
  329 + <Btn2Motion>: ignore()\n\
  330 + <Btn2Up>: insert-selection(PRIMARY)\n\
  331 + <Btn3Down>: start-extend()\n\
  332 + <Btn3Motion>: select-extend()\n\
  333 + ~Shift<BtnUp>: SelectUp(PRIMARY)\n\
  334 + Shift<Key>Insert: insert-selection(PRIMARY)\n\
  335 + Shift<Key>Up: KybdSelect(Up,PRIMARY)\n\
  336 + Shift<Key>Down: KybdSelect(Down,PRIMARY)\n\
  337 + Shift<Key>Left: KybdSelect(Left,PRIMARY)\n\
  338 + Shift<Key>Right: KybdSelect(Right,PRIMARY)\n\
  339 + Shift<Key>F1: PF(13)\n\
  340 + Shift<Key>F2: PF(14)\n\
  341 + Shift<Key>F3: PF(15)\n\
  342 + Shift<Key>F4: PF(16)\n\
  343 + Shift<Key>F5: PF(17)\n\
  344 + Shift<Key>F6: PF(18)\n\
  345 + Shift<Key>F7: PF(19)\n\
  346 + Shift<Key>F8: PF(20)\n\
  347 + Shift<Key>F9: PF(21)\n\
  348 + Shift<Key>F10: PF(22)\n\
  349 + Shift<Key>F11: PF(23)\n\
  350 + Shift<Key>F12: PF(24)\n\
  351 + Meta<Key>F1: PF(13)\n\
  352 + Meta<Key>F2: PF(14)\n\
  353 + Meta<Key>F3: PF(15)\n\
  354 + Meta<Key>F4: PF(16)\n\
  355 + Meta<Key>F5: PF(17)\n\
  356 + Meta<Key>F6: PF(18)\n\
  357 + Meta<Key>F7: PF(19)\n\
  358 + Meta<Key>F8: PF(20)\n\
  359 + Meta<Key>F9: PF(21)\n\
  360 + Meta<Key>F10: PF(22)\n\
  361 + Meta<Key>F11: PF(23)\n\
  362 + Meta<Key>F12: PF(24)\n\
  363 + :<Key>F1: PF(1)\n\
  364 + :<Key>F2: PF(2)\n\
  365 + :<Key>F3: PF(3)\n\
  366 + :<Key>F4: PF(4)\n\
  367 + :<Key>F5: PF(5)\n\
  368 + :<Key>F6: PF(6)\n\
  369 + :<Key>F7: PF(7)\n\
  370 + :<Key>F8: PF(8)\n\
  371 + :<Key>F9: PF(9)\n\
  372 + :<Key>F10: PF(10)\n\
  373 + :<Key>F11: PF(11)\n\
  374 + :<Key>F12: PF(12)\n\
  375 + :<Key>Print: PrintText()\n\
  376 + Alt<Key>q: Quit()\n\
  377 + :<Key>dead_acute: Compose() Key(apostrophe)\n\
  378 + :<Key>dead_grave: Compose() Key(grave)\n\
  379 + :<Key>dead_circumflex: Compose() Key(asciicircum)\n\
  380 + :<Key>dead_tilde: Compose() Key(asciitilde)\n\
  381 + :<Key>dead_diaeresis: Compose() Key(quotedbl)\n
  382 +!
  383 +! Base keymap for 3270 mode. These mappings are added to the base keymap,
  384 +! but only when in 3270 mode.
  385 +! These were originally part of the base keymap, but were moved here, because
  386 +! they were no-ops in NVT mode, or interfered with NVT-mode data entry.
  387 +!
  388 +! Note that as yet, there is no x3270.keymap.base.nvt, which would define the
  389 +! base keymap extensions for NVT mode.
  390 +!
  391 +x3270.keymap.base.3270: #override \
  392 + :Ctrl Shift<Btn1Down>: MouseSelect()\n\
  393 + Shift<Btn1Down>: MoveCursor()\n\
  394 + Shift<Key>Return: Newline()\n\
  395 + :<Key>Return: Enter()\n\
  396 + :<Key>Linefeed: Newline()\n\
  397 + :<Key>BackSpace: Erase()\n\
  398 + Shift<Key>Tab: BackTab()\n\
  399 + :Meta<Key>Left: PreviousWord()\n\
  400 + :Meta<Key>Right: NextWord()\n\
  401 + :Meta<Key>1: PA(1)\n\
  402 + :Meta<Key>2: PA(2)\n\
  403 + :Meta<Key>3: PA(3)\n\
  404 + Meta<Key>a: Attn()\n\
  405 + Meta<Key>b: PrintWindow()\n\
  406 + Meta<Key>c: Clear()\n\
  407 + Meta<Key>d: Delete()\n\
  408 + Meta<Key>e: EraseEOF()\n\
  409 + Meta<Key>f: Flip()\n\
  410 + Meta<Key>h: Home()\n\
  411 + Meta<Key>i: Insert()\n\
  412 + Meta<Key>l: Redraw()\n\
  413 + Meta<Key>p: PrintText()\n\
  414 + Meta<Key>r: Reset()\n\
  415 + Meta<Key>u: Unselect()\n\
  416 + Ctrl<Key>a: SelectAll(PRIMARY)\n\
  417 + Ctrl<Key>c: set-select(CLIPBOARD)\n\
  418 + Ctrl<Key>u: DeleteField()\n\
  419 + Ctrl<Key>w: DeleteWord()\n\
  420 + Ctrl<Key>v: insert-selection(CLIPBOARD)
  421 +! Keymap that exercises the optional history plugin.
  422 +x3270.keymap.hist:
  423 + Shift<Key>Prior: Plugin(command,prev)\n\
  424 + Shift<Key>Next: Plugin(command,next)
  425 +! Keymap that restores the old (pre 3.3) mouse-click behavior.
  426 +x3270.keymap.oldclick: #override\n\
  427 + Ctrl<Btn1Down>: HandleMenu(fileMenu)\n\
  428 + Ctrl<Btn2Down>: HandleMenu(optionsMenu)\n\
  429 + Ctrl<Btn3Down>: HandleMenu(hostMenu,macrosMenu)\n\
  430 + <Btn1Down>: select-start()\n\
  431 + ~Shift<Btn1Motion>: select-extend()\n\
  432 + <Btn2Down>: ignore()\n\
  433 + <Btn2Motion>: ignore()\n\
  434 + <Btn2Up>: insert-selection(PRIMARY)\n\
  435 + <Btn3Down>: start-extend()\n\
  436 + <Btn3Motion>: select-extend()\n\
  437 + ~Shift<BtnUp>: select-end(PRIMARY)
  438 +x3270.keymap.oldclick.3270: #override\n\
  439 + :Ctrl Shift<Btn1Down>: MouseSelect()\n\
  440 + Shift<Btn1Down>: MoveCursor()
  441 +!
  442 +! Start of keyboard-specific mappings.
  443 +!
  444 +! Sun Type 5 keyboard map. Not compatible with earlier Type 3 and Type 4
  445 +! keymaps, but does a better job of mapping intuitive functions to the
  446 +! existing key labels, and has fewer surprises.
  447 +x3270.keymap.sun_k5: \
  448 + Shift<Key>0x1005ff10: PF(23)\n\
  449 + Shift<Key>0x1005ff11: PF(24)\n\
  450 + :<Key>0x1005ff10: PF(11)\n\
  451 + :<Key>0x1005ff11: PF(12)\n\
  452 + ~@Num_Lock<Key>F27: Home()\n\
  453 + ~@Num_Lock<Key>F33: FieldEnd()\n\
  454 + :<Key>F18: insert-selection(PRIMARY)\n\
  455 + Shift<Key>F22: SysReq()\n\
  456 + :<Key>F22: PrintText()\n\
  457 + <Key>KP_Enter: Newline()\n
  458 +! Sun Type 4 keyboard map, backwards-compatible with earlier versions of x3270.
  459 +x3270.keymap.sun_k4: \
  460 + Shift<Key>0x1005ff10: PF(23)\n\
  461 + Shift<Key>0x1005ff11: PF(24)\n\
  462 + :<Key>0x1005ff10: PF(11)\n\
  463 + :<Key>0x1005ff11: PF(12)\n\
  464 + :<Key>KP_1: Key(1)\n\
  465 + :<Key>KP_2: Key(2)\n\
  466 + :<Key>KP_3: Key(3)\n\
  467 + :<Key>KP_4: Key(4)\n\
  468 + :<Key>KP_5: Key(5)\n\
  469 + :<Key>KP_6: Key(6)\n\
  470 + :<Key>KP_7: Key(7)\n\
  471 + :<Key>KP_8: Key(8)\n\
  472 + :<Key>KP_9: Key(9)\n\
  473 + :<Key>KP_0: Key(0)\n\
  474 + :<Key>KP_Decimal: Key(.)\n\
  475 + :<Key>F18: insert-selection(PRIMARY)\n\
  476 + :<Key>F19: SysReq()\n\
  477 + :<Key>F20: FieldMark()\n\
  478 + :<Key>F21: PA(1)\n\
  479 + :<Key>F22: PA(2)\n\
  480 + :<Key>F23: Dup()\n\
  481 + :<Key>F24: Reset()\n\
  482 + :<Key>F25: EraseEOF()\n\
  483 + :<Key>F26: EraseInput()\n\
  484 + :<Key>F27: Clear()\n\
  485 + :<Key>F29: Redraw()\n\
  486 + :<Key>F31: Home()\n\
  487 + :<Key>KP_Enter: Newline()\n\
  488 + :<Key>F35: Delete()\n
  489 +! Sun Type 3 keyboard.
  490 +x3270.keymap.sun_k3: \
  491 + Shift<Key>F21: PF(22)\n\
  492 + Shift<Key>F22: PF(23)\n\
  493 + Shift<Key>F23: PF(24)\n\
  494 + :Meta<Key>F21: PA(1)\n\
  495 + :Meta<Key>F22: PA(2)\n\
  496 + :Meta<Key>F23: Dup()\n\
  497 + :<Key>F19: SysReq()\n\
  498 + :<Key>0x0: FieldMark()\n\
  499 + :<Key>F21: PF(10)\n\
  500 + :<Key>F22: PF(11)\n\
  501 + :<Key>F23: PF(12)\n\
  502 + :<Key>F24: Reset()\n\
  503 + :<Key>F25: EraseEOF()\n\
  504 + :<Key>F26: EraseInput()\n\
  505 + :<Key>F27: Clear()\n\
  506 + :<Key>F31: Home()\n\
  507 + :<Key>F29: Redraw()\n\
  508 + :<Key>KP_Enter: Newline()\n\
  509 + :<Key>F35: Delete()\n
  510 +x3270.keymap.ncd: \
  511 + :<Key>F13: Dup()\n\
  512 + :<Key>Linefeed: Dup()\n\
  513 + :<Key>F14: FieldMark()\n\
  514 + :<Key>Break: FieldMark()\n\
  515 + :<Key>Home: Home()\n\
  516 + :<Key>F17: Home()\n\
  517 + :<Key>End: EraseEOF()\n\
  518 + :<Key>F15: Reset()\n\
  519 + :<Key>Prior: Reset()\n\
  520 + :<Key>F16: Newline()\n\
  521 + :<Key>Next: Newline()\n\
  522 + :<Key>KP_Add: EraseInput()\n\
  523 + :<Key>Num_Lock: PF(13)\n\
  524 + :<Key>KP_Space: PF(13)\n\
  525 + :<Key>KP_Divide: PF(14)\n\
  526 + :<Key>KP_Multiply: PF(15)\n\
  527 + :<Key>KP_7: PF(16)\n\
  528 + :<Key>KP_8: PF(17)\n\
  529 + :<Key>KP_9: PF(18)\n\
  530 + :<Key>KP_4: PF(19)\n\
  531 + :<Key>KP_5: PF(20)\n\
  532 + :<Key>KP_6: PF(21)\n\
  533 + :<Key>KP_1: PF(22)\n\
  534 + :<Key>KP_2: PF(23)\n\
  535 + :<Key>KP_3: PF(24)\n\
  536 + :<Key>KP_Subtract: SysReq()\n\
  537 + :<Key>KP_0: PA(2)\n\
  538 + :<Key>KP_Decimal: PA(1)\n\
  539 + :<Key>KP_Enter: Clear()\n
  540 +x3270.keymap.hp-k1: \
  541 + :<Key>KP_Tab: BackTab()\n\
  542 + :<Key>KP_Enter: Home()\n\
  543 + :<Key>KP_Separator: Delete()\n\
  544 + Shift<Key>Delete: Delete()\n\
  545 + :<Key>Menu: EraseEOF()\n\
  546 + :<Key>KP_Multiply: PF(13)\n\
  547 + :<Key>KP_Divide: PF(14)\n\
  548 + :<Key>KP_Add: PF(15)\n\
  549 + :<Key>KP_7: PF(16)\n\
  550 + :<Key>KP_8: PF(17)\n\
  551 + :<Key>KP_9: PF(18)\n\
  552 + :<Key>KP_4: PF(19)\n\
  553 + :<Key>KP_5: PF(20)\n\
  554 + :<Key>KP_6: PF(21)\n\
  555 + :<Key>KP_1: PF(22)\n\
  556 + :<Key>KP_2: PF(23)\n\
  557 + :<Key>KP_3: PF(24)\n\
  558 + :<Key>KP_0: PA(2)\n\
  559 + :<Key>KP_Decimal: PA(1)\n
  560 +! Keymap for HP-PC101 workstation keyboard, Chris P-E
  561 +x3270.keymap.hp-pc: \
  562 + :<Key>KP_Subtract: Compose()\n\
  563 + :<Key>KP_Enter: Enter()\n\
  564 + :<Key>Return: Newline()\n\
  565 + !<Key>F1: PF(1)\n\
  566 + !<Key>F2: PF(2)\n\
  567 + !<Key>F3: PF(3)\n\
  568 + !<Key>F4: PF(4)\n\
  569 + !<Key>F5: PF(5)\n\
  570 + !<Key>F6: PF(6)\n\
  571 + !<Key>F7: PF(7)\n\
  572 + !<Key>F8: PF(8)\n\
  573 + !<Key>F9: PF(9)\n\
  574 + !<Key>F10: PF(10)\n\
  575 + !<Key>F11: PF(11)\n\
  576 + !<Key>F12: PF(12)\n\
  577 + !Shift<Key>hpSystem: PF(13)\n\
  578 + !Shift<Key>KP_Divide: PF(14)\n\
  579 + !Shift<Key>KP_Multiply: PF(15)\n\
  580 + !Shift<Key>KP_7: PF(16)\n\
  581 + !Shift<Key>KP_8: PF(17)\n\
  582 + !Shift<Key>KP_9: PF(18)\n\
  583 + !Shift<Key>KP_4: PF(19)\n\
  584 + !Shift<Key>KP_5: PF(20)\n\
  585 + !Shift<Key>KP_6: PF(21)\n\
  586 + !Shift<Key>KP_1: PF(22)\n\
  587 + !Shift<Key>KP_2: PF(23)\n\
  588 + !Shift<Key>KP_3: PF(24)\n\
  589 + !<Key>hpSystem: PF(1)\n\
  590 + !<Key>KP_Divide: PF(2)\n\
  591 + !<Key>KP_Multiply: PF(3)\n\
  592 + !<Key>KP_7: PF(4)\n\
  593 + !<Key>KP_8: PF(5)\n\
  594 + !<Key>KP_9: PF(6)\n\
  595 + !<Key>KP_4: PF(7)\n\
  596 + !<Key>KP_5: PF(8)\n\
  597 + !<Key>KP_6: PF(9)\n\
  598 + !<Key>KP_1: PF(10)\n\
  599 + !<Key>KP_2: PF(11)\n\
  600 + !<Key>KP_3: PF(12)\n\
  601 + !<Key>Break: Reset()\n\
  602 + !Shift<Key>Break: Attn()\n\
  603 + !Meta<Key>Break: SysReq()\n\
  604 + !<Key>Prior: Dup()\n\
  605 + !<Key>Next: FieldMark()\n\
  606 + !<Key>Select: EraseEOF()\n\
  607 + !Meta<Key>hpInsertChar: PA(1)\n\
  608 + !Meta<Key>Home: PA(2)\n\
  609 + !Meta<Key>Prior: PA(3)\n\
  610 + !<Key>hpInsertChar: Insert()\n\
  611 + !<Key>hpDeleteChar: Delete()\n\
  612 + !Shift<Key>Menu: PrintWindow()\n\
  613 + !<Key>Menu: PrintText()\n
  614 +! Keymap for IBM X Terminal, Allan L. Bazinet
  615 +x3270.keymap.ibm-xterm: \
  616 + :<Key>Execute: Enter()\n\
  617 + !<Key>Pause: Clear()\n\
  618 + !<Key>BackSpace: BackSpace()\Delete()\n\
  619 + !<Key>End: FieldEnd()\n\
  620 + !Alt<Key>c: Clear()\n\
  621 + !Alt<Key>Print: SysReq()\n\
  622 + !Ctrl<Key>Home: EraseInput()\n\
  623 + !Ctrl<Key>End: EraseEOF()\n\
  624 + !Shift<Key>Tab: BackTab()\n\
  625 + :<Key>KP_Subtract: PA(1)\n\
  626 + :<Key>KP_Add: PA(2)\n\
  627 + :<Key>KP_Enter: Enter()\n\
  628 + :<Key>Prior: PA(1)\n\
  629 + :<Key>Next: PA(2)\n\
  630 + :<Key>Escape: Reset()\n\
  631 + :<Key>Control_L: Reset()\n\
  632 + :<Key>Insert: Insert()\n\
  633 + !Shift<Key>Right: Right2()\n\
  634 + !Shift<Key>Left: Left2()\n
  635 +! Keymap for common 3270 functions on a PC keyboard, from Richard Lennox.
  636 +x3270.keymap.rlx: #override \
  637 + <Key>Prior: PF(7)\n\
  638 + <Key>Next: PF(8)\n\
  639 + <Key>Control_R: Enter()\n\
  640 + <Key>Return: Newline()\n\
  641 + <Key>Pause: Clear()\n\
  642 + Shift<Key>Escape: Attn()\n\
  643 + Shift<Key>Left: PreviousWord()\n\
  644 + Shift<Key>Right: NextWord()\n\
  645 + Ctrl<Key>Left: PreviousWord()\n\
  646 + Ctrl<Key>Right: NextWord()\n\
  647 + Shift<Key>End: EraseEOF()\n\
  648 + <Key>End: FieldEnd()
  649 +! Keymap modifier for OpenWindows (makes button 2 the extend key; defines the
  650 +! Paste and Cut keys; uses CLIPBOARD).
  651 +x3270.keymap.ow: #override \
  652 + ~Shift<Btn1Down>: select-start()\n\
  653 + ~Shift<Btn1Motion>: select-extend()\n\
  654 + <Btn2Down>: start-extend()\n\
  655 + <Btn2Motion>: select-extend()\n\
  656 + <Btn3Down>: ignore()\n\
  657 + <Btn3Motion>: ignore()\n\
  658 + <Btn3Up>: insert-selection(CLIPBOARD,PRIMARY)\n\
  659 + <BtnUp>: select-end(PRIMARY)\n\
  660 + :<Key>F16: set-select(CLIPBOARD)\n\
  661 + Shift<Key>F18: insert-selection(PRIMARY)\n\
  662 + :<Key>F18: insert-selection(CLIPBOARD,PRIMARY)\n\
  663 + :<Key>F20: set-select(CLIPBOARD) Cut()\n
  664 +! APL keymap modifier.
  665 +x3270.keymap.apl: #override \
  666 + !:Alt<Key>bracketleft: Key(apl_leftarrow)\n\
  667 + !:Alt<Key>bracketright: Key(apl_rightarrow)\n\
  668 + :<Key>bracketleft: Key(apl_bracketleft)\n\
  669 + :<Key>bracketright: Key(apl_bracketright)\n\
  670 + !:Alt<Key>1: Key(apl_diaeresis)\n\
  671 + !:Alt<Key>2: Key(apl_overbar)\n\
  672 + !:Alt<Key>3: Key(less)\n\
  673 + !:Alt<Key>4: Key(apl_notgreater)\n\
  674 + !:Alt<Key>5: Key(equal)\n\
  675 + !:Alt<Key>6: Key(apl_notless)\n\
  676 + !:Alt<Key>7: Key(greater)\n\
  677 + !:Alt<Key>8: Key(apl_notequal)\n\
  678 + !:Alt<Key>9: Key(apl_downcaret)\n\
  679 + !:Alt<Key>0: Key(apl_upcaret)\n\
  680 + !:Alt<Key>minus: Key(apl_overbar)\n\
  681 + !:Alt<Key>underscore: Key(underscore)\n\
  682 + !:Alt<Key>=: Key(apl_multiply)\n\
  683 + !:Alt<Key>+: Key(apl_divide)\n\
  684 + !:Alt<Key>asciitilde: Key(apl_tilde)\n\
  685 + !:Alt<Key>backslash: Key(apl_slope)\n\
  686 + !:Alt<Key>bar: Key(apl_stile)\n\
  687 + :Alt<Key>a: Key(apl_alpha)\n\
  688 + :Alt<Key>b: Key(apl_downtack)\n\
  689 + :Alt<Key>c: Key(apl_upshoe)\n\
  690 + :Alt<Key>d: Key(apl_downstile)\n\
  691 + :Alt<Key>e: Key(apl_epsilon)\n\
  692 + :Alt<Key>f: Key(underscore)\n\
  693 + :Alt<Key>g: Key(apl_del)\n\
  694 + :Alt<Key>h: Key(apl_delta)\n\
  695 + :Alt<Key>i: Key(apl_iota)\n\
  696 + :Alt<Key>j: Key(apl_jot)\n\
  697 + :Alt<Key>k: Key(apostrophe)\n\
  698 + :Alt<Key>l: Key(apl_quad)\n\
  699 + :Alt<Key>m: Key(apl_stile)\n\
  700 + :Alt<Key>n: Key(apl_uptack)\n\
  701 + :Alt<Key>o: Key(apl_circle)\n\
  702 + :Alt<Key>p: Key(asterisk)\n\
  703 + :Alt<Key>q: Key(question)\n\
  704 + :Alt<Key>r: Key(apl_rho)\n\
  705 + :Alt<Key>s: Key(apl_upstile)\n\
  706 + :Alt<Key>t: Key(apl_tilde)\n\
  707 + :Alt<Key>u: Key(apl_downarrow)\n\
  708 + :Alt<Key>v: Key(apl_downshoe)\n\
  709 + :Alt<Key>w: Key(apl_omega)\n\
  710 + :Alt<Key>x: Key(apl_rightshoe)\n\
  711 + :Alt<Key>y: Key(apl_uparrow)\n\
  712 + :Alt<Key>z: Key(apl_leftshoe)\n\
  713 + :Alt<Key>A: Key(apl_Aunderbar)\n\
  714 + :Alt<Key>B: Key(apl_Bunderbar)\n\
  715 + :Alt<Key>C: Key(apl_Cunderbar)\n\
  716 + :Alt<Key>D: Key(apl_Dunderbar)\n\
  717 + :Alt<Key>E: Key(apl_Eunderbar)\n\
  718 + :Alt<Key>F: Key(apl_Funderbar)\n\
  719 + :Alt<Key>G: Key(apl_Gunderbar)\n\
  720 + :Alt<Key>H: Key(apl_Hunderbar)\n\
  721 + :Alt<Key>I: Key(apl_Iunderbar)\n\
  722 + :Alt<Key>J: Key(apl_Junderbar)\n\
  723 + :Alt<Key>K: Key(apl_Kunderbar)\n\
  724 + :Alt<Key>L: Key(apl_Lunderbar)\n\
  725 + :Alt<Key>M: Key(apl_Munderbar)\n\
  726 + :Alt<Key>N: Key(apl_Nunderbar)\n\
  727 + :Alt<Key>O: Key(apl_Ounderbar)\n\
  728 + :Alt<Key>P: Key(apl_Punderbar)\n\
  729 + :Alt<Key>Q: Key(apl_Qunderbar)\n\
  730 + :Alt<Key>R: Key(apl_Runderbar)\n\
  731 + :Alt<Key>S: Key(apl_Sunderbar)\n\
  732 + :Alt<Key>T: Key(apl_Tunderbar)\n\
  733 + :Alt<Key>U: Key(apl_Uunderbar)\n\
  734 + :Alt<Key>V: Key(apl_Vunderbar)\n\
  735 + :Alt<Key>W: Key(apl_Wunderbar)\n\
  736 + :Alt<Key>X: Key(apl_Xunderbar)\n\
  737 + :Alt<Key>Y: Key(apl_Yunderbar)\n\
  738 + :Alt<Key>Z: Key(apl_Zunderbar)\n
  739 +! Temporary keymap for entering Hebrew characters
  740 +x3270.keymap.hebrew: \
  741 + ~Ctrl ~Alt ~Meta <Key>t: Key(hebrew_aleph)\n\
  742 + ~Ctrl ~Alt ~Meta <Key>c: Key(hebrew_bet)\n\
  743 + ~Ctrl ~Alt ~Meta <Key>d: Key(hebrew_gimel)\n\
  744 + ~Ctrl ~Alt ~Meta <Key>s: Key(hebrew_dalet)\n\
  745 + ~Ctrl ~Alt ~Meta <Key>v: Key(hebrew_he)\n\
  746 + ~Ctrl ~Alt ~Meta <Key>u: Key(hebrew_waw)\n\
  747 + ~Ctrl ~Alt ~Meta <Key>z: Key(hebrew_zain)\n\
  748 + ~Ctrl ~Alt ~Meta <Key>j: Key(hebrew_chet)\n\
  749 + ~Ctrl ~Alt ~Meta <Key>y: Key(hebrew_tet)\n\
  750 + ~Ctrl ~Alt ~Meta <Key>h: Key(hebrew_yod)\n\
  751 + ~Ctrl ~Alt ~Meta <Key>l: Key(hebrew_finalkaph)\n\
  752 + ~Ctrl ~Alt ~Meta <Key>f: Key(hebrew_kaph)\n\
  753 + ~Ctrl ~Alt ~Meta <Key>k: Key(hebrew_lamed)\n\
  754 + ~Ctrl ~Alt ~Meta <Key>o: Key(hebrew_finalmem)\n\
  755 + ~Ctrl ~Alt ~Meta <Key>n: Key(hebrew_mem)\n\
  756 + ~Ctrl ~Alt ~Meta <Key>i: Key(hebrew_finalnun)\n\
  757 + ~Ctrl ~Alt ~Meta <Key>b: Key(hebrew_nun)\n\
  758 + ~Ctrl ~Alt ~Meta <Key>x: Key(hebrew_samech)\n\
  759 + ~Ctrl ~Alt ~Meta <Key>g: Key(hebrew_ayin)\n\
  760 + : ~Ctrl ~Alt ~Meta <Key>semicolon: Key(hebrew_finalpe)\n\
  761 + ~Ctrl ~Alt ~Meta <Key>p: Key(hebrew_pe)\n\
  762 + : ~Ctrl ~Alt ~Meta <Key>comma: Key(hebrew_finalzade)\n\
  763 + ~Ctrl ~Alt ~Meta <Key>m: Key(hebrew_zade)\n\
  764 + ~Ctrl ~Alt ~Meta <Key>e: Key(hebrew_qoph)\n\
  765 + ~Ctrl ~Alt ~Meta <Key>r: Key(hebrew_resh)\n\
  766 + ~Ctrl ~Alt ~Meta <Key>a: Key(hebrew_shin)\n\
  767 + : ~Ctrl ~Alt ~Meta <Key>period: Key(hebrew_taw)\n
  768 +!
  769 +! Keymap for the "not" key, assumed to be above the "6" key on U.S.
  770 +! keyboards. This used to be part of the 3270 base keymap, but does not
  771 +! work properly on non-U.S. keyboards.
  772 +x3270.keymap.not.3270: \
  773 + :<Key>asciicircum: Key(notsign)
  774 +! Keymap modifier for keyboards which lack a Meta key, such as the RS/6000.
  775 +x3270.keymap.alt: \
  776 + :Alt<Key>F1: PF(13)\n\
  777 + :Alt<Key>F2: PF(14)\n\
  778 + :Alt<Key>F3: PF(15)\n\
  779 + :Alt<Key>F4: PF(16)\n\
  780 + :Alt<Key>F5: PF(17)\n\
  781 + :Alt<Key>F6: PF(18)\n\
  782 + :Alt<Key>F7: PF(19)\n\
  783 + :Alt<Key>F8: PF(20)\n\
  784 + :Alt<Key>F9: PF(21)\n\
  785 + :Alt<Key>F10: PF(22)\n\
  786 + :Alt<Key>F11: PF(23)\n\
  787 + :Alt<Key>F12: PF(24)\n
  788 +x3270.keymap.alt.3270: \
  789 + :Alt<Key>Left: Left2()\n\
  790 + :Alt<Key>Right: Right2()\n\
  791 + :Alt<Key>1: PA(1)\n\
  792 + :Alt<Key>2: PA(2)\n\
  793 + :Alt<Key>3: PA(3)\n\
  794 + Alt<Key>a: Attn()\n\
  795 + Alt<Key>b: PrintWindow()\n\
  796 + Alt<Key>c: Clear()\n\
  797 + Alt<Key>d: Delete()\n\
  798 + Alt<Key>e: EraseEOF()\n\
  799 + Alt<Key>h: Home()\n\
  800 + Alt<Key>i: Insert()\n\
  801 + Alt<Key>l: Redraw()\n\
  802 + Alt<Key>p: PrintText()\n\
  803 + Alt<Key>q: Quit()\n\
  804 + Alt<Key>r: Reset()\n\
  805 + Alt<Key>u: Unselect()\n
  806 +! Helpful modifier to disply the translation table.
  807 +x3270.keymap.t: \
  808 + Meta<Key>t: XtDisplayTranslations()\n
  809 +! International keymap modifiers.
  810 +x3270.keymap.finnish7: \
  811 + :<Key>bracketleft: Key("adiaeresis")\n\
  812 + :<Key>bracketright: Key("aring")\n\
  813 + :<Key>backslash: Key("odiaeresis")\n\
  814 + :<Key>braceleft: Key("Adiaeresis")\n\
  815 + :<Key>braceright: Key("Aring")\n\
  816 + :<Key>bar: Key("Odiaeresis")\n
  817 +x3270.keymap.norwegian7: \
  818 + :<Key>bracketleft: Key("ae")\n\
  819 + :<Key>backslash: Key("oslash")\n\
  820 + :<Key>bracketright: Key("aring")\n\
  821 + :<Key>braceleft: Key("AE")\n\
  822 + :<Key>bar: Key("Ooblique")\n\
  823 + :<Key>braceright: Key("Aring")\n\
  824 + :!Meta<Key>u: Key("udiaeresis")\n\
  825 + :<Key>dollar: Key("currency")\n\
  826 + :<Key>at: Key("backslash")\n
  827 +! "Old" Norwegian keymap, compatible with older versions of x3270.
  828 +x3270.keymap.oldnorwegian7: \
  829 + :<Key>bracketleft: Key("AE")\n\
  830 + :<Key>bracketright: Key("Aring")\n\
  831 + :<Key>backslash: Key("Ooblique")\n\
  832 + :<Key>braceleft: Key("ae")\n\
  833 + :<Key>braceright: Key("aring")\n\
  834 + :<Key>bar: Key("oslash")\n
  835 +! German keymap courtesy of Karlheinz Kandler
  836 +x3270.keymap.german7: \
  837 + :<Key>bracketleft: Key("adiaeresis")\n\
  838 + :<Key>bracketright: Key("udiaeresis")\n\
  839 + :<Key>backslash: Key("odiaeresis")\n\
  840 + :<Key>braceleft: Key("Adiaeresis")\n\
  841 + :<Key>braceright: Key("Udiaeresis")\n\
  842 + :<Key>bar: Key("Odiaeresis")\n\
  843 + :<Key>asciicircum: Key("^")\n\
  844 + :<Key>asciitilde: Key("ssharp")\n\
  845 + :<Key>at: Key("section")\n
  846 +! Keymap modifier for RS/6000s with French AZERTY keyboards, which allows
  847 +! the diaeresis and circumflex keys to work intuitively (press diaereses,
  848 +! press "a", get "adiaeresis, etc.)
  849 +x3270.keymap.fr6k: \
  850 + Shift<Key>dead_diaeresis: Compose() Key(quotedbl)\n\
  851 + :<Key>dead_circumflex: Compose() Key(asciicircum)\n
  852 +! Icelandic keymap, courtesy of Rikhardur Egilsson
  853 +x3270.keymap.icelandic: \
  854 + :<Key>dead_acute: Compose() Key(apostrophe)\n
  855 +!
  856 +!=============================================================================
  857 +! Section 2: Labels and Messages
  858 +!
  859 +! These are resources that are likely to be modified for translation
  860 +! into another language.
  861 +!=============================================================================
  862 +!
  863 +x3270.errorPopup.title: x3270 Error
  864 +x3270.errorPopup*cancelButton.label: Exit
  865 +x3270.printerErrorPopup.title: x3270 Printer Error
  866 +x3270.childErrorPopup.title: x3270 Child Process Error
  867 +#ifdef X3270_MENUS
  868 +x3270.infoPopup.title: x3270 Information
  869 +x3270.printerInfoPopup.title: x3270 Printer Information
  870 +x3270.childInfoPopup.title: x3270 Child Process Information
  871 +x3270.connectPopup.title: x3270 Connect
  872 +x3270.connectPopup.dialog.label: Enter Hostname
  873 +x3270.fontPopup.title: x3270 Font
  874 +x3270.fontPopup.dialog.label: Enter Font Name
  875 +x3270.keymapPopup.title: x3270 Keymap
  876 +x3270.keymapPopup.dialog.label: Enter Keymap Name
  877 +x3270.oversizePopup.title: x3270 Oversize
  878 +x3270.oversizePopup.dialog.label: Enter Dimensions (cols x rows)
  879 +x3270.oversizePopup*confirmButton.label: Resize
  880 +#endif
  881 +#ifdef X3270_KEYPAD
  882 +x3270.keypadPopup.title: x3270 Keypad
  883 +#endif
  884 +#ifdef X3270_MENUS
  885 +x3270.printTextPopup.title: x3270 Screen Print
  886 +x3270.printTextPopup.dialog.label: Enter Print Command
  887 +x3270.printTextPopup*confirmButton.label: Print
  888 +x3270.saveTextPopup.title: x3270 Screen Save
  889 +x3270.saveTextPopup.dialog.label: Enter File Name
  890 +x3270.saveTextPopup*confirmButton.label: Save as Text
  891 +x3270.saveTextPopup*confirm2Button.label: Save as HTML
  892 +x3270.printWindowPopup.title: x3270 Window Print
  893 +x3270.printWindowPopup.dialog.label: Enter Print Command
  894 +x3270.printWindowPopup*confirmButton.label: Print
  895 +#endif
  896 +#ifdef X3270_TRACE
  897 +x3270.tracePopup.title: x3270 Tracing
  898 +x3270.tracePopup.dialog.label: Enter Trace File Name
  899 +x3270.tracePopup*confirmButton.label: Trace
  900 +x3270.tracePopup*confirm2Button.label: No File
  901 +x3270.screentracePopup.title: x3270 Screen Image Tracing
  902 +x3270.screentracePopup.dialog.label: Enter File Name
  903 +x3270.screentracePopup*confirmButton.label: Continuously
  904 +x3270.screentracePopup*confirm2Button.label: Once
  905 +#endif
  906 +#ifdef X3270_MENUS
  907 +x3270.executeActionPopup.title: x3270 Execute Action
  908 +x3270.executeActionPopup.dialog.label: Enter Action and Parameters
  909 +x3270.executeActionPopup*confirmButton.label: Execute
  910 +x3270.saveOptionsPopup.title: x3270 Save Changed Options
  911 +x3270.saveOptionsPopup.dialog.label: Enter Profile File Name
  912 +x3270.saveOptionsPopup*confirmButton.label: Save
  913 +x3270.aboutCopyrightPopup.title: x3270 Copyright
  914 +x3270.aboutConfigPopup.title: x3270 Configuration
  915 +x3270.aboutStatusPopup.title: x3270 Connection Status
  916 +x3270.connectPopup*confirmButton.label: Connect
  917 +x3270.fontPopup*confirmButton.label: Select Font
  918 +x3270.keymapPopup*confirmButton.label: Select Keymap
  919 +#endif
  920 +#ifdef X3270_FT
  921 +x3270.ftPopup.title: x3270 File Transfer
  922 +x3270.ftProgressPopup.title: x3270 File Transfer
  923 +x3270.ftOverwritePopup.title: x3270 File Transfer
  924 +#endif
  925 +#ifdef X3270_SCRIPT
  926 +x3270.idlePopup.title: x3270 Idle Command
  927 +#endif
  928 +x3270.kmPopup.title: x3270 Keymap
  929 +x3270*confirmButton.label: OK
  930 +x3270.printerErrorPopup*cancelButton.label: Abort Printer
  931 +x3270.printerInfoPopup*cancelButton.label: Abort Printer
  932 +x3270.childErrorPopup*cancelButton.label: Discard Output
  933 +x3270.childInfoPopup*cancelButton.label: Discard Output
  934 +x3270*cancelButton.label: Cancel
  935 +#ifdef X3270_MENUS
  936 +x3270*aboutOption.label: About x3270...
  937 +x3270*aboutCopyright.label: Copyright
  938 +x3270*aboutConfig.label: Configuration
  939 +x3270*aboutStatus.label: Connection Status
  940 +#ifdef X3270_FT
  941 +x3270*ftOption.label: File Transfer...
  942 +#endif
  943 +#ifdef X3270_PRINTER
  944 +x3270*printerOption.label: Printer Session
  945 +x3270*assocButton.label: Start, associate with current LU
  946 +x3270*luButton.label: Start, specific LU...
  947 +x3270*printerOffButton.label: Stop Printer
  948 +#endif
  949 +x3270*abortScriptOption.label: Abort Scripts/Macros/Strings
  950 +x3270*disconnectOption.label: Disconnect
  951 +x3270*exitOption.label: Exit x3270
  952 +x3270*exitReallyOption.label: Disconnect and Exit
  953 +x3270*printTextOption.label: Print Screen Text
  954 +x3270*saveTextOption.label: Save Screen Text in File
  955 +x3270*printWindowOption.label: Print Window Bitmap
  956 +x3270*executeActionOption.label: Execute an Action
  957 +x3270*fileMenuButton.label: File
  958 +x3270*fileMenu.label: File
  959 +#endif
  960 +#ifdef X3270_FT
  961 +x3270.ftPopup*justify: left
  962 +x3270.ftPopup*send.label: Send to host
  963 +x3270.ftPopup*receive.label: Receive from host
  964 +x3270.ftPopup*ascii.label: Transfer ASCII file
  965 +x3270.ftPopup*cr.label: Add/remove CR at end of line
  966 +x3270.ftPopup*binary.label: Transfer binary file
  967 +x3270.ftPopup*local.label: Local File Name
  968 +x3270.ftPopup*host.label: Host File Name
  969 +x3270.ftPopup*append.label: Append to file
  970 +x3270.ftPopup*remap.label: Remap ASCII Characters
  971 +x3270.ftPopup*vm.label: Host is VM/CMS
  972 +x3270.ftPopup*tso.label: Host is TSO
  973 +x3270.ftPopup*confirmButton.label: Transfer File
  974 +x3270.ftPopup*file.label: Record Format
  975 +x3270.ftPopup*recfmDefault.label: Default
  976 +x3270.ftPopup*fixed.label: Fixed
  977 +x3270.ftPopup*variable.label: Variable
  978 +x3270.ftPopup*undefined.label: Undefined
  979 +x3270.ftPopup*units.label: Space Allocation Units
  980 +x3270.ftPopup*spaceDefault.label: Default
  981 +x3270.ftPopup*tracks.label: Tracks
  982 +x3270.ftPopup*cylinders.label: Cylinders
  983 +x3270.ftPopup*avblock.label: Avblock
  984 +x3270.ftPopup*lrecl.label: LRECL
  985 +x3270.ftPopup*blksize.label: BLKSIZE
  986 +x3270.ftPopup*primspace.label: Primary Space
  987 +x3270.ftPopup*secspace.label: Secondary Space
  988 +x3270.ftPopup*buffersize.label: DFT Buffer Size
  989 +x3270.ftProgressPopup*fromLabel.label: Source:
  990 +x3270.ftProgressPopup*fromLabel.justify: right
  991 +x3270.ftProgressPopup*toLabel.label: Destination:
  992 +x3270.ftProgressPopup*toLabel.justify: right
  993 +x3270.ftProgressPopup*filename.justify: left
  994 +x3270.ftOverwritePopup*overwriteName.label: Overwrite existing file %s?
  995 +x3270.ftProgressPopup*waiting.label: Waiting for host acknowledgment...
  996 +x3270.ftProgressPopup*status.label: %lu bytes transferred
  997 +x3270.ftProgressPopup*aborting.label: Aborting transfer...
  998 +#endif
  999 +#ifdef X3270_SCRIPT
  1000 +x3270.idlePopup*justify: left
  1001 +x3270.idlePopup*command.label: Command(s)
  1002 +x3270.idlePopup*timeout.label: Timeout Value
  1003 +x3270.idlePopup*enable.label: Enable for this session
  1004 +x3270.idlePopup*enablePerm.label: Enable whenever connected
  1005 +x3270.idlePopup*disable.label: Disable
  1006 +x3270.idlePopup*hours.label: Hours
  1007 +x3270.idlePopup*minutes.label: Minutes
  1008 +x3270.idlePopup*seconds.label: Seconds
  1009 +x3270.idlePopup*fuzz.label: Vary time 0..10%
  1010 +#endif
  1011 +#ifdef X3270_PRINTER
  1012 +x3270.printerLuPopup.title: x3270 Printer Session
  1013 +x3270.printerLuPopup.dialog.label: Enter LU Name
  1014 +x3270.printerLuPopup*confirmButton.label: Start Session
  1015 +#endif
  1016 +#ifdef X3270_MENUS
  1017 +x3270*optionsMenuButton.label: Options
  1018 +x3270*optionsMenu.label: Options
  1019 +x3270*connectMenuButton.label: Connect
  1020 +x3270*macrosMenuButton.label: Macros
  1021 +x3270*macrosMenu.label: Macros
  1022 +x3270*hostMenu.label: Connect
  1023 +x3270*helpButton.label: Help
  1024 +x3270*otherHostOption.label: Other...
  1025 +x3270*togglesOption.label: Toggles
  1026 +x3270*fontsOption.label: Font
  1027 +x3270*modelsOption.label: Screen Size
  1028 +x3270*colorsOption.label: Color Scheme
  1029 +x3270*charsetOption.label: Character Set
  1030 +x3270*keymapOption.label: Change Keymap...
  1031 +x3270*idleCommandOption.label: Configure Idle Command
  1032 +x3270*keypadOption.label: Keypad
  1033 +x3270*monocaseOption.label: Monocase
  1034 +x3270*cursorBlinkOption.label: Blinking Cursor
  1035 +x3270*showTimingOption.label: Show Timing
  1036 +x3270*cursorPosOption.label: Track Cursor
  1037 +x3270*dsTraceOption.label: Trace Data Stream
  1038 +x3270*eventTraceOption.label: Trace Keyboard/Mouse Events
  1039 +x3270*screenTraceOption.label: Save Screen(s) in File
  1040 +x3270*scrollBarOption.label: Scrollbar
  1041 +x3270*lineWrapOption.label: Wraparound
  1042 +x3270*marginedPasteOption.label: Paste with Left Margin
  1043 +x3270*rectangleSelectOption.label: Select by Rectangles
  1044 +x3270*blankFillOption.label: Blank Fill
  1045 +x3270*crosshairOption.label: Crosshair Cursor
  1046 +x3270*visibleControlOption.label: Visible Control Chars
  1047 +x3270*underlineCursorOption.label: Underline Cursor
  1048 +x3270*blockCursorOption.label: Block Cursor
  1049 +x3270*otherFontOption.label: Other...
  1050 +x3270*lineModeOption.label: Line Mode
  1051 +x3270*characterModeOption.label: Character Mode
  1052 +x3270*extendedDsOption.label: Extended 3270 Data Stream
  1053 +x3270*m3278Option.label: Monochrome (3278) Emulation
  1054 +x3270*m3279Option.label: Color (3279) Emulation
  1055 +x3270*model2Option.label: Model 2 (80x24)
  1056 +x3270*model3Option.label: Model 3 (80x32)
  1057 +x3270*model4Option.label: Model 4 (80x43)
  1058 +x3270*model5Option.label: Model 5 (132x27)
  1059 +x3270*oversizeOption.label: Oversize...
  1060 +x3270*saveOption.label: Save Changed Options in File
  1061 +#endif
  1062 +!
  1063 +! Messages
  1064 +#ifdef X3270_MENUS
  1065 +x3270.message.processId: Process ID:
  1066 +x3270.message.windowId: Main window ID:
  1067 +x3270.message.model: Model
  1068 +x3270.message.rows: rows
  1069 +x3270.message.columns: columns
  1070 +x3270.message.mono: monochrome
  1071 +x3270.message.fullColor: color
  1072 +x3270.message.pseudoColor: pseudo-color
  1073 +x3270.message.extendedDs: extended data stream
  1074 +x3270.message.standardDs: standard data stream
  1075 +x3270.message.terminalName: Terminal name:
  1076 +x3270.message.luName: LU name:
  1077 +x3270.message.emulatorFont: Emulator font:
  1078 +x3270.message.emulatorFontDbcs: DBCS emulator font:
  1079 +x3270.message.xFont: standard X11 font
  1080 +x3270.message.cgFont: special 3270 CG font
  1081 +x3270.message.characterSet: Host EBCDIC character set:
  1082 +x3270.message.characterSetDbcs: Host EBCDIC DBCS character set:
  1083 +x3270.message.defaultCharacterSet: Default (us) EBCDIC character set
  1084 +x3270.message.displayCharacterSet: Display character set:
  1085 +x3270.message.displayCharacterSetDbcs: DBCS display character set:
  1086 +x3270.message.localeCodeset: Locale codeset:
  1087 +x3270.message.require: require
  1088 +x3270.message.have: have
  1089 +x3270.message.keyboardMap: Keyboard map:
  1090 +x3270.message.defaultKeyboardMap: Default keyboard map
  1091 +x3270.message.composeMap: Compose-key map:
  1092 +x3270.message.noComposeMap: No compose-key map
  1093 +x3270.message.activeIcon: Active icon
  1094 +x3270.message.iconFont: Icon font:
  1095 +x3270.message.iconLabelFont: Icon label font:
  1096 +x3270.message.staticIcon: Static bitmap icon
  1097 +x3270.message.connectedTo: Connected to:
  1098 +x3270.message.port: Port:
  1099 +x3270.message.secure: via TLS/SSL
  1100 +x3270.message.proxyType: Proxy type:
  1101 +x3270.message.server: Server:
  1102 +x3270.message.charMode: NVT character mode
  1103 +x3270.message.lineMode: NVT line mode
  1104 +x3270.message.dsMode: 3270 mode
  1105 +x3270.message.sscpMode: SSCP-LU mode
  1106 +x3270.message.tn3270eOpts: TN3270E options:
  1107 +x3270.message.tn3270eNoOpts: No TN3270E options
  1108 +x3270.message.connectionPending: Connection pending to:
  1109 +x3270.message.notConnected: Not connected
  1110 +x3270.message.specialCharacters: Special characters:
  1111 +x3270.message.hour: hour
  1112 +x3270.message.hours: hours
  1113 +x3270.message.minute: minute
  1114 +x3270.message.minutes: minutes
  1115 +x3270.message.second: second
  1116 +x3270.message.seconds: seconds
  1117 +x3270.message.sent: Sent
  1118 +x3270.message.Received: Received
  1119 +x3270.message.received: received
  1120 +x3270.message.byte: byte
  1121 +x3270.message.bytes: bytes
  1122 +x3270.message.record: record
  1123 +x3270.message.records: records
  1124 +x3270.message.statusDbcs: DBCS
  1125 +x3270.message.statusNotConnected: Not Connected
  1126 +x3270.message.statusTwait: Wait
  1127 +x3270.message.statusSyswait: System
  1128 +x3270.message.statusProtected: Protected
  1129 +x3270.message.statusNumeric: Numeric
  1130 +x3270.message.statusOverflow: Overflow
  1131 +x3270.message.statusInhibit: Inhibit
  1132 +x3270.message.statusScrolled: Scrolled
  1133 +x3270.message.statusMinus: No Function
  1134 +#endif
  1135 +x3270.message.statusConnecting: Connecting
  1136 +#endif
  1137 +#ifdef X3270_FT
  1138 +x3270.message.ftComplete: Transfer complete, %i bytes transferred\n\
  1139 +%.2lg Kbytes/sec in %s mode
  1140 +x3270.message.ftUnable: Cannot begin transfer
  1141 +x3270.message.ftUserCancel: Transfer cancelled by user
  1142 +x3270.message.ftHostCancel: Transfer cancelled by host
  1143 +x3270.message.ftCutUnknownFrame: Unknown frame type from host
  1144 +x3270.message.ftCutUnknownControl: Unknown FT control code from host
  1145 +x3270.message.ftCutRetransmit: Transmission error
  1146 +x3270.message.ftCutConversionError: Data conversion error
  1147 +x3270.message.ftCutOversize: Illegal frame length
  1148 +x3270.message.ftDisconnected: Host disconnected, transfer cancelled
  1149 +x3270.message.ftNot3270: Not in 3270 mode, transfer cancelled
  1150 +x3270.message.ftDftUnknownOpen: Uknown DFT Open type from host
  1151 +#endif
  1152 +x3270.message.inputMethod: X11 Input Method (XIM):
  1153 +x3270.message.ximState: state:
  1154 +x3270.message.ximDisabled: failed
  1155 +x3270.message.ximNotFound: not found
  1156 +x3270.message.ximActive: active
  1157 +x3270.message.ximLocale: locale:
  1158 +x3270.message.ximEncoding: encoding:
  1159 +#ifndef STANDALONE
  1160 +x3270.message.kmEvent: Event
  1161 +x3270.message.kmKeymapLine: Keymap:Line
  1162 +x3270.message.kmActions: Actions
  1163 +x3270.message.kmOverridden: \ -- overridden --
  1164 +x3270.message.kmKeymap: Keymap
  1165 +x3270.message.kmTemporaryKeymap: Temporary keymap
  1166 +
  1167 +x3270.message.kmFile: from file
  1168 +x3270.message.kmResource: from resource
  1169 +x3270.message.kmFromServer: \ (expanded from '@server')
  1170 +!
  1171 +!=============================================================================
  1172 +! Section 3: Base-Level Resources
  1173 +!
  1174 +! Resources required for the basic operation of x3270, not for the
  1175 +! faint-hearted to modify.
  1176 +!=============================================================================
  1177 +!
  1178 +! App-defaults file version
  1179 +x3270.adVersion: 3.3.4
  1180 +!
  1181 +! Fonts
  1182 +#ifdef X3270_APL
  1183 +x3270.aplFont: 3270
  1184 +#endif
  1185 +x3270.debugFont: 3270d
  1186 +x3270.iconFont: nil2
  1187 +x3270.iconLabelFont: 8x13
  1188 +#ifdef X3270_KEYPAD
  1189 +x3270*keyPad*large*font: fixed
  1190 +x3270*keyPad*small*font: -*-fixed-medium-r-semicondensed-*-12-*-*
  1191 +#endif
  1192 +x3270*value*font: fixed
  1193 +x3270*dataLabel.font: -*-terminal-medium-r-normal--14-*-iso8859-1
  1194 +!x3270*smallLabel.font: 5x7
  1195 +x3270*smallLabel.font: 6x13
  1196 +x3270*filename*font: fixed
  1197 +x3270*kmPopup*text*font: fixed
  1198 +x3270*font: -*-helvetica-bold-r-normal--12-*-iso8859-1
  1199 +!
  1200 +! Menu configuration
  1201 +#ifdef X3270_MENUS
  1202 +x3270*menuBarContainer.borderWidth: 2
  1203 +#endif
  1204 +#ifdef COLOR
  1205 +#ifdef X3270_KEYPAD
  1206 +x3270.keypadBackground: grey
  1207 +#endif
  1208 +#ifdef X3270_MENUS
  1209 +x3270*menuBarContainer.background: grey
  1210 +x3270*menuBarContainer.borderColor: grey40
  1211 +x3270*fileMenuButton*background: grey
  1212 +x3270*optionsMenuButton*background: grey
  1213 +x3270*connectMenuButton*background: grey
  1214 +x3270*macrosMenuButton*background: grey
  1215 +x3270*helpButton*background: grey
  1216 +x3270*keypadButton*background: grey
  1217 +x3270*lockedIcon*background: grey
  1218 +x3270*lockedIcon*foreground: yellow4
  1219 +x3270*lockedIcon*borderColor: grey
  1220 +x3270*unlockedIcon*background: grey
  1221 +x3270*unlockedIcon*borderColor: grey
  1222 +x3270*fileMenuButton*borderColor: grey
  1223 +x3270*optionsMenuButton*borderColor: grey
  1224 +x3270*connectMenuButton*borderColor: grey
  1225 +x3270*macrosMenuButton*borderColor: grey
  1226 +x3270*helpButton*borderColor: grey
  1227 +#endif
  1228 +#else
  1229 +#ifdef X3270_MENUS
  1230 +x3270*fileMenuButton*borderColor: XtDefaultBackground
  1231 +x3270*optionsMenuButton*borderColor: XtDefaultBackground
  1232 +x3270*connectMenuButton*borderColor: XtDefaultBackground
  1233 +x3270*macrosMenuButton*borderColor: XtDefaultBackground
  1234 +x3270*helpButton*borderColor: XtDefaultBackground
  1235 +#endif
  1236 +#endif
  1237 +#ifdef X3270_MENUS
  1238 +x3270*fileMenuButton*highlightThickness: 1
  1239 +x3270*optionsMenuButton*highlightThickness: 1
  1240 +x3270*connectMenuButton*highlightThickness: 1
  1241 +x3270*macrosMenuButton*highlightThickness: 1
  1242 +x3270*helpButton*highlightThickness: 1
  1243 +x3270*keypadButton*highlightThickness: 1
  1244 +#ifdef COLOR
  1245 +x3270*fileMenu*background: grey
  1246 +x3270*exitMenu*background: grey
  1247 +x3270*optionsMenu*background: grey
  1248 +x3270*hostMenu*background: grey
  1249 +x3270*macrosMenu*background: grey
  1250 +x3270*togglesMenu*background: grey
  1251 +x3270*fontsMenu*background: grey
  1252 +x3270*modelsMenu*background: grey
  1253 +x3270*colorsMenu*background: grey
  1254 +x3270*charsetMenu*background: grey
  1255 +x3270*printerMenu*background: grey
  1256 +#endif
  1257 +x3270*fileMenu.borderWidth: 2
  1258 +x3270*exitMenu.borderWidth: 2
  1259 +x3270*optionsMenu.borderWidth: 2
  1260 +x3270*hostMenu.borderWidth: 2
  1261 +x3270*macrosMenu.borderWidth: 2
  1262 +x3270*togglesMenu.borderWidth: 2
  1263 +x3270*fontsMenu.borderWidth: 2
  1264 +x3270*modelsMenu.borderWidth: 2
  1265 +x3270*colorsMenu.borderWidth: 2
  1266 +x3270*charsetMenu.borderWidth: 2
  1267 +#ifdef COLOR
  1268 +x3270*fileMenu.borderColor: grey40
  1269 +x3270*exitMenu.borderColor: grey40
  1270 +x3270*optionsMenu.borderColor: grey40
  1271 +x3270*hostMenu.borderColor: grey40
  1272 +x3270*macrosMenu.borderColor: grey40
  1273 +x3270*togglesMenu.borderColor: grey40
  1274 +x3270*fontsMenu.borderColor: grey40
  1275 +x3270*modelsMenu.borderColor: grey40
  1276 +x3270*colorsMenu.borderColor: grey40
  1277 +x3270*charsetMenu.borderColor: grey40
  1278 +#endif
  1279 +x3270*fileMenu*leftMargin: 20
  1280 +x3270*fileMenu*rightMargin: 20
  1281 +x3270*optionsMenu*rightMargin: 20
  1282 +x3270*togglesMenu*leftMargin: 20
  1283 +x3270*fontsMenu*leftMargin: 20
  1284 +x3270*fontsMenu*rightMargin: 20
  1285 +x3270*modelsMenu*leftMargin: 20
  1286 +x3270*colorsMenu*leftMargin: 20
  1287 +x3270*colorsMenu*rightMargin: 20
  1288 +x3270*charsetMenu*leftMargin: 20
  1289 +x3270*charsetMenu*rightMargin: 20
  1290 +x3270*hostMenu*rightMargin: 20
  1291 +x3270*macrosMenu*rightMargin: 20
  1292 +#endif
  1293 +!
  1294 +! Confirm and cancel buttons
  1295 +! borderWidth and borderColor are never specified anywhere else, so these
  1296 +! always apply
  1297 +x3270*confirmButton.borderWidth: 2
  1298 +x3270*confirm2Button*borderWidth: 2
  1299 +x3270*cancelButton*borderWidth: 2
  1300 +#ifdef COLOR
  1301 +x3270**confirmButton.borderColor: grey40
  1302 +x3270**confirmButton.borderColor: grey40
  1303 +x3270**confirm2Button.borderColor: grey40
  1304 +x3270**cancelButton.borderColor: grey40
  1305 +#endif
  1306 +! foreground and background are often overridden by other resources, so they
  1307 +! must be specified explicitly for each instance
  1308 +#ifdef COLOR
  1309 +x3270*dialog*confirmButton.foreground: black
  1310 +x3270*dialog*confirmButton.background: grey80
  1311 +x3270*dialog*confirm2Button.background: grey80
  1312 +x3270*dialog*cancelButton.foreground: firebrick
  1313 +x3270*dialog*cancelButton.background: grey80
  1314 +#endif
  1315 +!
  1316 +! Values
  1317 +! borderWidth and borderColor are never specified anywhere else, so these
  1318 +! always apply
  1319 +#ifdef COLOR
  1320 +x3270*value.borderWidth: 2
  1321 +x3270*value.borderColor: grey40
  1322 +#endif
  1323 +! background is overridden by dialog*background, so it must be specified
  1324 +! explicitly
  1325 +#ifdef COLOR
  1326 +x3270*dialog*value*background: lavender
  1327 +#endif
  1328 +!
  1329 +! Overall defaults for dialog boxes
  1330 +#ifdef COLOR
  1331 +x3270*dialog*background: grey
  1332 +x3270*dialog*foreground: black
  1333 +#endif
  1334 +!
  1335 +! Fixed popup sizes
  1336 +x3270.errorPopup.width: 500
  1337 +x3270.printerErrorPopup.width: 500
  1338 +x3270.childErrorPopup.width: 500
  1339 +x3270.infoPopup.width: 500
  1340 +x3270.printerInfoPopup.width: 500
  1341 +x3270.childInfoPopup.width: 500
  1342 +x3270.printerLuPopup.width: 300
  1343 +x3270.connectPopup.width: 300
  1344 +x3270.fontPopup.width: 300
  1345 +x3270.keymapPopup.width: 300
  1346 +x3270.oversizePopup.width: 300
  1347 +x3270.printTextPopup.width: 300
  1348 +x3270.saveTextPopup.width: 300
  1349 +x3270.printWindowPopup.width: 300
  1350 +x3270.tracePopup.width: 300
  1351 +x3270.screentracePopup.width: 300
  1352 +x3270.executeActionPopup.width: 300
  1353 +x3270.saveOptionsPopup.width: 300
  1354 +!
  1355 +! Nondefault definitions for complex pop-ups
  1356 +#ifdef COLOR
  1357 +x3270.aboutCopyrightPopup*icon.foreground: darkslateblue
  1358 +x3270.aboutConfigPopup*icon.foreground: darkslateblue
  1359 +x3270.aboutStatusPopup*icon.foreground: darkslateblue
  1360 +x3270.errorPopup*label.foreground: firebrick
  1361 +x3270.printerErrorPopup*label.foreground: firebrick
  1362 +x3270.childErrorPopup*label.foreground: firebrick
  1363 +#ifdef X3270_FT
  1364 +x3270.ftProgressPopup*filename.borderWidth: 2
  1365 +x3270.ftProgressPopup*filename.borderColor: grey40
  1366 +x3270.ftProgressPopup*filename.background: lavender
  1367 +#endif
  1368 +#endif
  1369 +!
  1370 +#ifdef X3270_KEYPAD
  1371 +! Keypad key dimensions, in pixels
  1372 +x3270.keypad.keyHeight: 24
  1373 +x3270.keypad.keyWidth: 48
  1374 +x3270.keypad.pfWidth: 32
  1375 +x3270.keypad.paWidth: 36
  1376 +x3270.keypad.largeKeyWidth: 56
  1377 +#endif
  1378 +!
  1379 +! Keymap display pop-up
  1380 +!
  1381 +x3270*keymapDisplayOption.label: Display Current Keymap
  1382 +x3270.kmPopup*label.label: Current Keyboard Map
  1383 +x3270.kmPopup*sortActionOption.label: Sort by Action
  1384 +x3270.kmPopup*sortKeymapOption.label: Sort by Keymap
  1385 +x3270.kmPopup*sortEventOption.label: Sort by Event
  1386 +x3270.kmPopup*text*background: lavender
  1387 +x3270.kmPopup*text*foreground: black
  1388 +x3270.kmPopup*text.height: 250
  1389 +x3270.kmPopup*text.width: 500
  1390 +!
  1391 +! Basic event translations -- these should NEVER be changed without significant
  1392 +! code changes
  1393 +x3270.translations: #override \n\
  1394 + <Message>WM_PROTOCOLS: PA-WMProtocols()\n\
  1395 + <KeymapNotify>: PA-KeymapNotify()\n\
  1396 + <PropertyNotify>WM_STATE: PA-StateChanged()\n\
  1397 + <FocusIn>: PA-Focus()\n\
  1398 + <FocusOut>: PA-Focus()\n\
  1399 + <ConfigureNotify>: PA-ConfigureNotify()
  1400 +x3270.container.translations: #override \n\
  1401 + <KeyPress>Shift_L: PA-Shift()\n\
  1402 + <KeyRelease>Shift_L: PA-Shift()\n\
  1403 + <KeyPress>Shift_R: PA-Shift()\n\
  1404 + <KeyRelease>Shift_R: PA-Shift()\n\
  1405 + <KeyPress>Meta_L: PA-Shift()\n\
  1406 + <KeyRelease>Meta_L: PA-Shift()\n\
  1407 + <KeyPress>Meta_R: PA-Shift()\n\
  1408 + <KeyRelease>Meta_R: PA-Shift()\n\
  1409 + <KeyPress>Alt_L: PA-Shift()\n\
  1410 + <KeyRelease>Alt_L: PA-Shift()\n\
  1411 + <KeyPress>Alt_R: PA-Shift()\n\
  1412 + <KeyRelease>Alt_R: PA-Shift()\n\
  1413 + :<Key>: Default()\n\
  1414 + :<BtnDown>: Default()\n\
  1415 + :<BtnUp>: Default()
  1416 +x3270*screen.translations: #override \n\
  1417 + <Expose>: PA-Expose()\n\
  1418 + <VisibilityNotify>: PA-VisibilityNotify()\n\
  1419 + <GraphicsExpose>: PA-GraphicsExpose()\n\
  1420 + <KeyPress>Shift_L: PA-Shift()\n\
  1421 + <KeyRelease>Shift_L: PA-Shift()\n\
  1422 + <KeyPress>Shift_R: PA-Shift()\n\
  1423 + <KeyRelease>Shift_R: PA-Shift()\n\
  1424 + <KeyPress>Meta_L: PA-Shift()\n\
  1425 + <KeyRelease>Meta_L: PA-Shift()\n\
  1426 + <KeyPress>Meta_R: PA-Shift()\n\
  1427 + <KeyRelease>Meta_R: PA-Shift()\n\
  1428 + <KeyPress>Alt_L: PA-Shift()\n\
  1429 + <KeyRelease>Alt_L: PA-Shift()\n\
  1430 + <KeyPress>Alt_R: PA-Shift()\n\
  1431 + <KeyRelease>Alt_R: PA-Shift()\n\
  1432 + :<Key>: Default()\n\
  1433 + :<BtnDown>: Default()\n\
  1434 + :<BtnUp>: Default()
  1435 +x3270icon.translations: #override \n\
  1436 + <Expose>: PA-Expose()
  1437 +#ifdef X3270_KEYPAD
  1438 +x3270.keypadPopup.translations: #override \n\
  1439 + <Message>WM_PROTOCOLS: PA-WMProtocols()\n\
  1440 + <KeymapNotify>: PA-KeymapNotify()\n\
  1441 + <Enter>: PA-EnterLeave()\n\
  1442 + <Leave>: PA-EnterLeave()
  1443 +x3270.keypadPopup.container.translations: #override \n\
  1444 + <KeyPress>Shift_L: PA-Shift()\n\
  1445 + <KeyRelease>Shift_L: PA-Shift()\n\
  1446 + <KeyPress>Shift_R: PA-Shift()\n\
  1447 + <KeyRelease>Shift_R: PA-Shift()\n\
  1448 + <KeyPress>Meta_L: PA-Shift()\n\
  1449 + <KeyRelease>Meta_L: PA-Shift()\n\
  1450 + <KeyPress>Meta_R: PA-Shift()\n\
  1451 + <KeyRelease>Meta_R: PA-Shift()\n\
  1452 + <KeyPress>Alt_L: PA-Shift()\n\
  1453 + <KeyRelease>Alt_L: PA-Shift()\n\
  1454 + <KeyPress>Alt_R: PA-Shift()\n\
  1455 + <KeyRelease>Alt_R: PA-Shift()\n\
  1456 + :<Key>: Default()
  1457 +#endif
  1458 +x3270.errorPopup.translations: \
  1459 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1460 +x3270.printerErrorPopup.translations: \
  1461 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1462 +x3270.childErrorPopup.translations: \
  1463 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1464 +x3270.errorPopup*translations: #override \n\
  1465 + <Key>Return: PA-confirm()
  1466 +x3270.printerErrorPopup*translations: #override \n\
  1467 + <Key>Return: PA-confirm()
  1468 +x3270.childErrorPopup*translations: #override \n\
  1469 + <Key>Return: PA-confirm()
  1470 +x3270.infoPopup.translations: \
  1471 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1472 +x3270.printerInfoPopup.translations: \
  1473 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1474 +x3270.childInfoPopup.translations: \
  1475 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1476 +x3270.infoPopup*translations: #override \n\
  1477 + <Key>Return: PA-confirm()
  1478 +x3270.printerInfoPopup*translations: #override \n\
  1479 + <Key>Return: PA-confirm()
  1480 +x3270.childInfoPopup*translations: #override \n\
  1481 + <Key>Return: PA-confirm()
  1482 +#ifdef X3270_MENUS
  1483 +x3270.connectPopup.translations: \
  1484 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1485 +x3270.fontPopup.translations: \
  1486 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1487 +x3270.keymapPopup.translations: \
  1488 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1489 +x3270.printTextPopup.translations: \
  1490 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1491 +x3270.saveTextPopup.translations: \
  1492 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1493 +x3270.printWindowPopup.translations: \
  1494 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1495 +x3270.tracePopup.translations: \
  1496 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1497 +x3270.screentracePopup.translations: \
  1498 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1499 +x3270.executeActionPopup.translations: \
  1500 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1501 +x3270.saveOptionsPopup.translations: \
  1502 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1503 +x3270.aboutCopyrightPopup.translations: \
  1504 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1505 +x3270.aboutCopyrightPopup*translations: #override \n\
  1506 + <Key>Return: PA-confirm()
  1507 +x3270.aboutConfigPopup.translations: \
  1508 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1509 +x3270.aboutConfigPopup*translations: #override \n\
  1510 + <Key>Return: PA-confirm()
  1511 +x3270.aboutStatusPopup.translations: \
  1512 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1513 +x3270.aboutStatusPopup*translations: #override \n\
  1514 + <Key>Return: PA-confirm()
  1515 +x3270.kmPopup.translations: \
  1516 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1517 +x3270.kmPopup*translations: #override \n\
  1518 + <Key>Return: PA-confirm()
  1519 +x3270.luPopup.translations: \
  1520 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1521 +#endif
  1522 +#ifdef X3270_FT
  1523 +x3270.ftPopup.translations: \
  1524 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1525 +! Note: WM_PROTOCOLS is explicitly not defined for ftPopup, so that the user
  1526 +! can clear error conditions while a transfer is in progress.
  1527 +x3270.ftOverwritePopup.translations: \
  1528 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1529 +x3270.ftPopup*value.translations: #override \n\
  1530 + <Key>Return: PA-dialog-next()\n\
  1531 + <Key>Tab: PA-dialog-next()\n\
  1532 + <Btn1Down>: PA-dialog-focus() select-start()\n\
  1533 + Ctrl<Key>U: select-all(DUMMY) delete-selection()
  1534 +#endif
  1535 +#ifdef X3270_SCRIPT
  1536 +x3270.idlePopup.translations: \
  1537 + <Message>WM_PROTOCOLS: PA-WMProtocols()
  1538 +x3270.idlePopup*value.translations: #override \n\
  1539 + <Key>Return: PA-dialog-next()\n\
  1540 + <Key>Tab: PA-dialog-next()\n\
  1541 + <Btn1Down>: PA-dialog-focus() select-start()\n\
  1542 + Ctrl<Key>U: select-all(DUMMY) delete-selection()
  1543 +#endif
  1544 +x3270*value.translations: #override \n\
  1545 + <Key>Return: PA-confirm()\n\
  1546 + Ctrl<Key>U: select-all(DUMMY) delete-selection()
  1547 +x3270*value.width: 200
  1548 +! Workaround for Xaw MenuButton bug that keeps menu items from highlighting
  1549 +! when CapsLock or NumLock are down. Technically, this would require
  1550 +! translations for all permutations of all 8 modifiers: shift, lock, control,
  1551 +! mod1, mod2, mod3, mod4 and mod5. However, we will leave out shift and
  1552 +! control, since they are "voluntary" key presses and would quadruple the
  1553 +! size of this resource.
  1554 +x3270*MenuButton.translations: #override \n\
  1555 + Lock<BtnDown>: reset() PopupMenu()\n\
  1556 + Mod1<BtnDown>: reset() PopupMenu()\n\
  1557 + Lock Mod1<BtnDown>: reset() PopupMenu()\n\
  1558 + Mod2<BtnDown>: reset() PopupMenu()\n\
  1559 + Lock Mod2<BtnDown>: reset() PopupMenu()\n\
  1560 + Mod1 Mod2<BtnDown>: reset() PopupMenu()\n\
  1561 + Lock Mod1 Mod2<BtnDown>: reset() PopupMenu()\n\
  1562 + Mod3<BtnDown>: reset() PopupMenu()\n\
  1563 + Lock Mod3<BtnDown>: reset() PopupMenu()\n\
  1564 + Mod1 Mod3<BtnDown>: reset() PopupMenu()\n\
  1565 + Lock Mod1 Mod3<BtnDown>: reset() PopupMenu()\n\
  1566 + Mod2 Mod3<BtnDown>: reset() PopupMenu()\n\
  1567 + Lock Mod2 Mod3<BtnDown>: reset() PopupMenu()\n\
  1568 + Mod1 Mod2 Mod3<BtnDown>: reset() PopupMenu()\n\
  1569 + Lock Mod1 Mod2 Mod3<BtnDown>: reset() PopupMenu()\n\
  1570 + Mod4<BtnDown>: reset() PopupMenu()\n\
  1571 + Lock Mod4<BtnDown>: reset() PopupMenu()\n\
  1572 + Mod1 Mod4<BtnDown>: reset() PopupMenu()\n\
  1573 + Lock Mod1 Mod4<BtnDown>: reset() PopupMenu()\n\
  1574 + Mod2 Mod4<BtnDown>: reset() PopupMenu()\n\
  1575 + Lock Mod2 Mod4<BtnDown>: reset() PopupMenu()\n\
  1576 + Mod1 Mod2 Mod4<BtnDown>: reset() PopupMenu()\n\
  1577 + Lock Mod1 Mod2 Mod4<BtnDown>: reset() PopupMenu()\n\
  1578 + Mod3 Mod4<BtnDown>: reset() PopupMenu()\n\
  1579 + Lock Mod3 Mod4<BtnDown>: reset() PopupMenu()\n\
  1580 + Mod1 Mod3 Mod4<BtnDown>: reset() PopupMenu()\n\
  1581 + Lock Mod1 Mod3 Mod4<BtnDown>: reset() PopupMenu()\n\
  1582 + Mod2 Mod3 Mod4<BtnDown>: reset() PopupMenu()\n\
  1583 + Lock Mod2 Mod3 Mod4<BtnDown>: reset() PopupMenu()\n\
  1584 + Mod1 Mod2 Mod3 Mod4<BtnDown>: reset() PopupMenu()\n\
  1585 + Lock Mod1 Mod2 Mod3 Mod4<BtnDown>: reset() PopupMenu()\n\
  1586 + Mod5<BtnDown>: reset() PopupMenu()\n\
  1587 + Lock Mod5<BtnDown>: reset() PopupMenu()\n\
  1588 + Mod1 Mod5<BtnDown>: reset() PopupMenu()\n\
  1589 + Lock Mod1 Mod5<BtnDown>: reset() PopupMenu()\n\
  1590 + Mod2 Mod5<BtnDown>: reset() PopupMenu()\n\
  1591 + Lock Mod2 Mod5<BtnDown>: reset() PopupMenu()\n\
  1592 + Mod1 Mod2 Mod5<BtnDown>: reset() PopupMenu()\n\
  1593 + Lock Mod1 Mod2 Mod5<BtnDown>: reset() PopupMenu()\n\
  1594 + Mod3 Mod5<BtnDown>: reset() PopupMenu()\n\
  1595 + Lock Mod3 Mod5<BtnDown>: reset() PopupMenu()\n\
  1596 + Mod1 Mod3 Mod5<BtnDown>: reset() PopupMenu()\n\
  1597 + Lock Mod1 Mod3 Mod5<BtnDown>: reset() PopupMenu()\n\
  1598 + Mod2 Mod3 Mod5<BtnDown>: reset() PopupMenu()\n\
  1599 + Lock Mod2 Mod3 Mod5<BtnDown>: reset() PopupMenu()\n\
  1600 + Mod1 Mod2 Mod3 Mod5<BtnDown>: reset() PopupMenu()\n\
  1601 + Lock Mod1 Mod2 Mod3 Mod5<BtnDown>: reset() PopupMenu()\n\
  1602 + Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1603 + Lock Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1604 + Mod1 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1605 + Lock Mod1 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1606 + Mod2 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1607 + Lock Mod2 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1608 + Mod1 Mod2 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1609 + Lock Mod1 Mod2 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1610 + Mod3 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1611 + Lock Mod3 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1612 + Mod1 Mod3 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1613 + Lock Mod1 Mod3 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1614 + Mod2 Mod3 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1615 + Lock Mod2 Mod3 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1616 + Mod1 Mod2 Mod3 Mod4 Mod5<BtnDown>: reset() PopupMenu()\n\
  1617 + Lock Mod1 Mod2 Mod3 Mod4 Mod5<BtnDown>: reset() PopupMenu()
  1618 +#endif
  1619 +! Default compose-key map.
  1620 +! Each line is of the form "keysym1 + keysym2 = keysym3", meaning "when the
  1621 +! Compose key is pressed, followed by keysym1 and keysym2 (in either order),
  1622 +! interpret it as keysym3." The definitions are case-sensitive.
  1623 +x3270.composeMap.latin1: \
  1624 + c + bar = cent \n\
  1625 + c + slash = cent \n\
  1626 + L + minus = sterling \n\
  1627 + Y + equal = yen \n\
  1628 + S + S = section \n\
  1629 + C + O = copyright \n\
  1630 + a + underscore = ordfeminine \n\
  1631 + less + less = guillemotleft \n\
  1632 + R + O = registered \n\
  1633 + plus + minus = plusminus \n\
  1634 + o + underscore = masculine \n\
  1635 + greater + greater = guillemotright \n\
  1636 + 1 + 4 = onequarter \n\
  1637 + 1 + 2 = onehalf \n\
  1638 + 3 + 4 = threequarters \n\
  1639 + bar + bar = brokenbar \n\
  1640 + A + grave = Agrave \n\
  1641 + A + apostrophe = Aacute \n\
  1642 + A + asciicircum = Acircumflex \n\
  1643 + A + asciitilde = Atilde \n\
  1644 + A + quotedbl = Adiaeresis \n\
  1645 + A + asterisk = Aring \n\
  1646 + A + E = AE \n\
  1647 + C + comma = Ccedilla \n\
  1648 + C + apostrophe = Ccedilla \n\
  1649 + E + grave = Egrave \n\
  1650 + E + apostrophe = Eacute \n\
  1651 + E + asciicircum = Ecircumflex \n\
  1652 + E + quotedbl = Ediaeresis \n\
  1653 + I + grave = Igrave \n\
  1654 + I + apostrophe = Iacute \n\
  1655 + I + asciicircum = Icircumflex \n\
  1656 + I + quotedbl = Idiaeresis \n\
  1657 + N + asciitilde = Ntilde \n\
  1658 + O + grave = Ograve \n\
  1659 + O + apostrophe = Oacute \n\
  1660 + O + asciicircum = Ocircumflex \n\
  1661 + O + asciitilde = Otilde \n\
  1662 + O + quotedbl = Odiaeresis \n\
  1663 + O + slash = Ooblique \n\
  1664 + U + grave = Ugrave \n\
  1665 + U + apostrophe = Uacute \n\
  1666 + U + asciicircum = Ucircumflex \n\
  1667 + U + quotedbl = Udiaeresis \n\
  1668 + Y + apostrophe = Yacute \n\
  1669 + s + s = ssharp \n\
  1670 + a + grave = agrave \n\
  1671 + a + apostrophe = aacute \n\
  1672 + a + asciicircum = acircumflex \n\
  1673 + a + asciitilde = atilde \n\
  1674 + a + quotedbl = adiaeresis \n\
  1675 + a + asterisk = aring \n\
  1676 + a + e = ae \n\
  1677 + c + comma = ccedilla \n\
  1678 + c + apostrophe = ccedilla \n\
  1679 + e + grave = egrave \n\
  1680 + e + apostrophe = eacute \n\
  1681 + e + asciicircum = ecircumflex \n\
  1682 + e + quotedbl = ediaeresis \n\
  1683 + i + grave = igrave \n\
  1684 + i + apostrophe = iacute \n\
  1685 + i + asciicircum = icircumflex \n\
  1686 + i + quotedbl = idiaeresis \n\
  1687 + n + asciitilde = ntilde \n\
  1688 + o + grave = ograve \n\
  1689 + o + apostrophe = oacute \n\
  1690 + o + asciicircum = ocircumflex \n\
  1691 + o + asciitilde = otilde \n\
  1692 + o + quotedbl = odiaeresis \n\
  1693 + o + slash = oslash \n\
  1694 + u + grave = ugrave \n\
  1695 + u + apostrophe = uacute \n\
  1696 + u + asciicircum = ucircumflex \n\
  1697 + u + quotedbl = udiaeresis \n\
  1698 + y + apostrophe = yacute \n\
  1699 + y + quotedbl = ydiaeresis \n\
  1700 + apostrophe + apostrophe = apostrophe \n\
  1701 + apostrophe + space = apostrophe \n\
  1702 + asciicircum + asciicircum = asciicircum \n\
  1703 + asciicircum + space = asciicircum \n\
  1704 + asciitilde + asciitilde = asciitilde \n\
  1705 + asciitilde + space = asciitilde \n\
  1706 + grave + grave = grave \n\
  1707 + grave + space = grave \n\
  1708 + quotedbl + quotedbl = quotedbl \n\
  1709 + quotedbl + space = quotedbl \n
  1710 +#ifndef STANDALONE
  1711 +#ifdef X3270_APL
  1712 +!
  1713 +! Compose-key map for APL.
  1714 +x3270.composeMap.apl: \
  1715 + A + underscore = apl_Aunderbar \n\
  1716 + B + underscore = apl_Bunderbar \n\
  1717 + C + underscore = apl_Cunderbar \n\
  1718 + D + underscore = apl_Dunderbar \n\
  1719 + E + underscore = apl_Eunderbar \n\
  1720 + F + underscore = apl_Funderbar \n\
  1721 + G + underscore = apl_Gunderbar \n\
  1722 + H + underscore = apl_Hunderbar \n\
  1723 + I + underscore = apl_Iunderbar \n\
  1724 + J + underscore = apl_Junderbar \n\
  1725 + K + underscore = apl_Kunderbar \n\
  1726 + L + underscore = apl_Lunderbar \n\
  1727 + M + underscore = apl_Munderbar \n\
  1728 + N + underscore = apl_Nunderbar \n\
  1729 + O + underscore = apl_Ounderbar \n\
  1730 + P + underscore = apl_Punderbar \n\
  1731 + Q + underscore = apl_Qunderbar \n\
  1732 + R + underscore = apl_Runderbar \n\
  1733 + S + underscore = apl_Sunderbar \n\
  1734 + T + underscore = apl_Tunderbar \n\
  1735 + U + underscore = apl_Uunderbar \n\
  1736 + V + underscore = apl_Vunderbar \n\
  1737 + W + underscore = apl_Wunderbar \n\
  1738 + X + underscore = apl_Xunderbar \n\
  1739 + Y + underscore = apl_Yunderbar \n\
  1740 + Z + underscore = apl_Zunderbar \n\
  1741 + apl_upcaret + apl_downcaret = apl_diamond \n\
  1742 + apl_quad + apl_jot = apl_quadjot \n\
  1743 + apl_iota + underscore = apl_iotaunderbar \n\
  1744 + apl_epsilon + underscore = apl_epsilonunderbar \n\
  1745 + less + equal = apl_notgreater \n\
  1746 + plus + minus = apl_plusminus \n\
  1747 + greater + equal = apl_notless \n\
  1748 + equal + slash = apl_notequal \n\
  1749 + apl_upcaret + apl_tilde = apl_upcarettilde \n\
  1750 + apl_upcaret + asciitilde = apl_upcarettilde \n\
  1751 + apl_downcaret + apl_tilde = apl_downcarettilde \n\
  1752 + apl_downcaret + asciitilde = apl_downcarettilde \n\
  1753 + apl_circle + apl_stile = apl_circlestile \n\
  1754 + apl_circle + bar = apl_circlestile \n\
  1755 + apl_quad + apl_slope = apl_slopequad \n\
  1756 + apl_quad + backslash = apl_slopequad \n\
  1757 + apl_circle + apl_slope = apl_circleslope \n\
  1758 + apl_circle + backslash = apl_circleslope \n\
  1759 + apl_downtack + apl_uptack = apl_downtackup \n\
  1760 + apostrophe + period = apl_quotedot \n\
  1761 + apl_del + apl_stile = apl_delstile \n\
  1762 + apl_del + bar = apl_delstile \n\
  1763 + apl_delta + apl_stile = apl_deltastile \n\
  1764 + apl_delta + bar = apl_deltastile \n\
  1765 + apl_quad + apostrophe = apl_quadquote \n\
  1766 + apl_upshoe + apl_jot = apl_upshoejot \n\
  1767 + slash + minus = apl_slashbar \n\
  1768 + apl_slope + minus = apl_slopebar \n\
  1769 + backslash + minus = apl_slopebar \n\
  1770 + apl_diaeresis + period = apl_diaeresisdot \n\
  1771 + apl_circle + minus = apl_circlebar \n\
  1772 + apl_quad + apl_divide = apl_quaddivide \n\
  1773 + apl_uptack + apl_jot = apl_uptackjot \n\
  1774 + apl_del + apl_tilde = apl_deltilde \n\
  1775 + apl_del + asciitilde = apl_deltilde \n\
  1776 + apl_delta + underscore = apl_deltaunderbar \n\
  1777 + apl_circle + asterisk = apl_circlestar \n\
  1778 + apl_downtack + apl_jot = apl_downtackjot \n\
  1779 + equal + underscore = apl_equalunderbar \n\
  1780 + apl_quad + apl_quad = apl_squad \n\
  1781 + apl_diaeresis + apl_jot = apl_diaeresisjot \n\
  1782 + apl_diaeresis + apl_circle = apl_diaeresiscircle \n\
  1783 + comma + minus = apl_commabar \n\
  1784 + c + equal = apl_euro \n\
  1785 + C + equal = apl_euro \n\
  1786 + minus + parenleft = apl_lefttack \n\
  1787 + minus + parenright = apl_righttack \n
  1788 +#endif
  1789 +#endif
  1790 +#ifdef STANDALONE
  1791 +#ifdef _WIN32
  1792 +! wc3270 keymap for more 3270-ish behavior: The Enter key is Newline and the
  1793 +! Right-Ctrl key is Enter.
  1794 +x3270.keymap.rctrl.3270: \
  1795 + RightCtrl<Key>CTRL: Enter()\n\
  1796 + <Key>Return: Newline()
  1797 +#endif
  1798 +#endif
  1799 +!
  1800 +! EBCDIC character sets.
  1801 +! A charset is a series of newline-separated strings that define how an EBCDIC
  1802 +! national character set differs from IBM's standard U.S.-International set
  1803 +! (table 01). Each string is a number, a colon, and a symbol. The number is
  1804 +! the EBCDIC code, and the symbol is an ASCII character or ISO Latin-1 name of
  1805 +! the graphic it represents.
  1806 +!
  1807 +! U.S.-International (table 01)
  1808 +x3270.charset.us-intl: \n
  1809 +x3270.codepage.us-intl: 37
  1810 +! alias for 'us-intl' (backwards compatibility)
  1811 +x3270.charset.us: \n
  1812 +x3270.codepage.us: 37
  1813 +! U.S. English w/Euro (code page 1140)
  1814 +x3270.codepage.us-euro: 0x02b70474
  1815 +x3270.displayCharset.us-euro: 3270cg-15a,3270cg-15,iso8859-15
  1816 +!
  1817 +! APL character set (same as us-intl, no remapping required)
  1818 +x3270.charset.apl: \n
  1819 +x3270.codepage.apl: 37
  1820 +x3270.displayCharset.apl: 3270cg-1a
  1821 +x3270.emulatorFontList.3270cg-1a: 3270
  1822 +!
  1823 +! EBCDIC map for hosts that put '[' and ']' in non-standard positions (X'AD'
  1824 +! and X'BD'). This is the default x3270 character set, because these hosts
  1825 +! are so common in the U.S.
  1826 +! Note that those hosts tend to display '[' and ']' as GE X'AD' and GE X'BD',
  1827 +! which are the APL bracket characters.
  1828 +x3270.charset.bracket: \
  1829 + 0xad: [ \n 0xba: Yacute \n\
  1830 + 0xbd: ] \n 0xbb: diaeresis \n
  1831 +! The codepage for 'bracket' is a lie, but there is no real codepage that
  1832 +! corresponds to it.
  1833 +x3270.codepage.bracket: 37
  1834 +! alias for 'bracket' (backwards compatibility)
  1835 +x3270.charset.oldibm: \
  1836 + 0xad: [ \n 0xba: Yacute \n\
  1837 + 0xbd: ] \n 0xbb: diaeresis \n
  1838 +x3270.codepage.oldibm: 37
  1839 +!
  1840 +! Each entry below is derived from IBM GA27-3831-03, Fourth Edition.
  1841 +! Austrian/German (table 03)
  1842 +x3270.charset.german: \
  1843 + 0x43: { \n 0x4a: Adiaeresis \n\
  1844 + 0x4f: ! \n 0x59: ~ \n\
  1845 + 0x5a: Udiaeresis \n 0x5f: ^ \n\
  1846 + 0x63: [ \n 0x6a: odiaeresis \n\
  1847 + 0x7c: section \n 0xa1: ssharp \n\
  1848 + 0xb0: cent \n 0xb5: @ \n\
  1849 + 0xba: notsign \n 0xbb: bar \n\
  1850 + 0xc0: adiaeresis \n 0xcc: brokenbar \n\
  1851 + 0xd0: udiaeresis \n 0xdc: } \n\
  1852 + 0xe0: Odiaeresis \n 0xec: backslash \n\
  1853 + 0xfc: ] \n
  1854 +x3270.codepage.german: 273
  1855 +! German w/Euro (code page 1141)
  1856 +x3270.codepage.german-euro: 0x02b70475
  1857 +x3270.displayCharset.german-euro: 3270cg-15a,3270cg-15,iso8859-15
  1858 +! Finnish (table 09)
  1859 +x3270.charset.finnish: \
  1860 + 0x43: { \n 0x47: } \n\
  1861 + 0x4a: section \n 0x4f: ! \n\
  1862 + 0x51: ` \n 0x5a: currency \n\
  1863 + 0x5b: Aring \n 0x5f: ^ \n\
  1864 + 0x63: # \n 0x67: $ \n\
  1865 + 0x6a: odiaeresis \n 0x71: backslash \n\
  1866 + 0x79: eacute \n 0x7b: Adiaeresis \n\
  1867 + 0x7c: Odiaeresis \n 0x9f: ] \n\
  1868 + 0xa1: udiaeresis \n 0xb1: cent \n\
  1869 + 0xb5: [ \n 0xba: notsign \n\
  1870 + 0xbb: | \n 0xc0: adiaeresis \n\
  1871 + 0xcc: brokenbar \n 0xd0: aring \n\
  1872 + 0xdc: ~ \n 0xe0: Eacute \n\
  1873 + 0xec: @ \n
  1874 +x3270.codepage.finnish: 278
  1875 +! Finnish w/Euro (code page 1143)
  1876 +x3270.codepage.finnish-euro: 0x02b70477
  1877 +x3270.displayCharset.finnish-euro: 3270cg-15a,3270cg-15,iso8859-15
  1878 +! U.K. (table 22)
  1879 +x3270.charset.uk: \
  1880 + 0x4a: $ \n 0x5b: sterling \n\
  1881 + 0xa1: macron \n 0xb0: cent \n\
  1882 + 0xb1: [ \n 0xba: ^ \n\
  1883 + 0xbc: ~ \n
  1884 +x3270.codepage.uk: 285
  1885 +! U.K w/Euro (code page 1146)
  1886 +x3270.codepage.uk-euro: 0x02b7047a
  1887 +x3270.displayCharset.uk-euro: 3270cg-15a,3270cg-15,iso8859-15
  1888 +! Norwegian (table 23)
  1889 +x3270.charset.norwegian: \
  1890 + 0x47: } \n 0x4a: # \n\
  1891 + 0x4f: ! \n 0x5a: currency \n\
  1892 + 0x5b: Aring \n 0x5f: ^ \n\
  1893 + 0x67: $ \n 0x6a: oslash \n\
  1894 + 0x70: brokenbar \n 0x7b: AE \n\
  1895 + 0x7c: Ooblique \n 0x80: @ \n\
  1896 + 0x9c: { \n 0x9e: [ \n\
  1897 + 0x9f: ] \n 0xa1: udiaeresis \n\
  1898 + 0xb0: cent \n 0xba: notsign \n\
  1899 + 0xbb: bar \n 0xc0: ae \n\
  1900 + 0xd0: aring \n 0xdc: ~ \n
  1901 +x3270.codepage.norwegian: 277
  1902 +! Norwegian w/Euro (code page 1142)
  1903 +x3270.codepage.norwegian-euro: 0x02b70476
  1904 +x3270.displayCharset.norwegian-euro: 3270cg-15a,3270cg-15,iso8859-15
  1905 +! French (table 30)
  1906 +x3270.charset.french: \
  1907 + 0x44: @ \n 0x48: backslash \n\
  1908 + 0x4a: degree \n 0x4f: ! \n\
  1909 + 0x51: { \n 0x54: } \n\
  1910 + 0x5a: section \n 0x5f: ^ \n\
  1911 + 0x6a: ugrave \n 0x79: mu \n\
  1912 + 0x7b: sterling \n 0x7c: agrave \n\
  1913 + 0x90: [ \n 0xa0: grave \n\
  1914 + 0xa1: diaeresis \n 0xb0: cent \n\
  1915 + 0xb1: numbersign \n 0xb5: ] \n\
  1916 + 0xba: notsign \n 0xbb: bar \n\
  1917 + 0xbd: ~ \n 0xc0: eacute \n\
  1918 + 0xd0: egrave \n 0xe0: ccedilla \n
  1919 +x3270.codepage.french: 297
  1920 +! French w/Euro (code page 1147)
  1921 +x3270.codepage.french-euro: 0x02b7047b
  1922 +x3270.displayCharset.french-euro: 3270cg-15a,3270cg-15,iso8859-15
  1923 +! Icelandic, courtesy of Rikhardur Egilsson
  1924 +x3270.charset.icelandic: \
  1925 + 0xa1: odiaeresis \n 0x5f: Odiaeresis \n\
  1926 + 0x79: eth \n 0x7c: Eth \n\
  1927 + 0xc0: thorn \n 0x4a: Thorn \n\
  1928 + 0xd0: ae \n 0x5a: AE \n\
  1929 + 0xcc: ~ \n 0x4f: ! \n\
  1930 + 0x8e: { \n 0x9c: } \n\
  1931 + 0xae: [ \n 0x9e: ] \n\
  1932 + 0xac: @ \n 0xbe: \\ \n\
  1933 + 0x7d: apostrophe \n 0x8c: ` \n\
  1934 + 0x6a: | \n
  1935 +x3270.codepage.icelandic: 871
  1936 +! Icelandic w/Euro (code page 1149)
  1937 +x3270.codepage.icelandic-euro: 0x02b7047d
  1938 +x3270.displayCharset.icelandic-euro: 3270cg-15a,3270cg-15,iso8859-15
  1939 +! Belgian, with the help of Peter Govaerts
  1940 +x3270.charset.belgian: \
  1941 + 0x4a: [ \n 0x4f: ! \n\
  1942 + 0x5a: ] \n 0x5f: ^ \n\
  1943 + 0xb0: cent \n 0xba: notsign \n\
  1944 + 0xbb: bar \n
  1945 +x3270.codepage.belgian: 500
  1946 +! Belgian w/Euro (code page 1148)
  1947 +x3270.codepage.belgian-euro: 0x02b7047c
  1948 +x3270.displayCharset.belgian-euro: 3270cg-15a,3270cg-15,iso8859-15
  1949 +! Italian, courtesy of Claudio Maniscalco and Daniele Patoner
  1950 +x3270.charset.italian: \
  1951 + 0x44: braceleft \n 0x48: backslash \n\
  1952 + 0x4a: degree \n 0x4f: exclam \n\
  1953 + 0x51: bracketright \n 0x54: braceright \n\
  1954 + 0x58: asciitilde \n 0x5a: eacute \n\
  1955 + 0x5f: asciicircum \n 0x6a: ograve \n\
  1956 + 0x7b: sterling \n 0x7c: section \n\
  1957 + 0x79: ugrave \n 0x90: bracketleft \n\
  1958 + 0xa1: igrave \n 0xb0: cent \n\
  1959 + 0xb1: numbersign \n 0xb5: at \n\
  1960 + 0xba: notsign \n 0xbb: bar \n\
  1961 + 0xc0: agrave \n 0xcd: brokenbar \n\
  1962 + 0xd0: egrave \n 0xdd: grave \n\
  1963 + 0xe0: ccedilla \n
  1964 +x3270.codepage.italian: 280
  1965 +! Italian w/Euro (code page 1144)
  1966 +x3270.codepage.italian-euro: 0x02b70478
  1967 +x3270.displayCharset.italian-euro: 3270cg-15a,3270cg-15,iso8859-15
  1968 +! Turkish, uses standard ISO 8859-9 fonts
  1969 +x3270.charset.turkish: \
  1970 + 0x48: { \n 0x4a: 0xc7 \n 0x4f: ! \n 0x5a: 0xd0 \n\
  1971 + 0x5b: 0xdd \n 0x5f: ^ \n 0x68: [ \n 0x6a: 0xfe \n\
  1972 + 0x79: 0xfd \n 0x7b: 0xd6 \n 0x7c: 0xde \n 0x7f: 0xdc \n\
  1973 + 0x8c: } \n 0x8d: 0x91 \n 0x8e: 0xa6 \n 0xa1: 0xf6 \n\
  1974 + 0xac: ] \n 0xad: $ \n 0xae: @ \n 0xb0: 0xa2 \n\
  1975 + 0xba: 0xac \n 0xbb: | \n 0xbe: 0x92 \n 0xc0: 0xe7 \n\
  1976 + 0xcc: ~ \n 0xd0: 0xf0 \n 0xdc: 0x5c \n 0xe0: 0xfc \n\
  1977 + 0xec: # \n 0xfc: "
  1978 +x3270.codepage.turkish: 0x04800402
  1979 +x3270.displayCharset.turkish: iso8859-9
  1980 +! Hebrew, uses standard ISO 8859-8 fonts
  1981 +x3270.charset.hebrew: #table\n\
  1982 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  1983 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  1984 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  1985 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  1986 + 32 224 225 226 227 228 229 230 231 232 162 46 60 40 43 124 \
  1987 + 38 233 234 235 236 237 238 239 240 241 33 36 42 41 59 172 \
  1988 + 45 47 242 243 244 245 246 247 248 249 166 44 37 95 62 63 \
  1989 + 0 250 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \
  1990 + 0 97 98 99 100 101 102 103 104 105 171 187 0 0 0 177 \
  1991 +176 106 107 108 109 110 111 112 113 114 0 0 0 184 0 164 \
  1992 +181 126 115 116 117 118 119 120 121 122 0 0 0 0 0 174 \
  1993 + 94 163 165 183 169 167 182 188 189 190 91 93 175 168 180 170 \
  1994 +123 65 66 67 68 69 70 71 72 73 173 0 0 0 0 0 \
  1995 +125 74 75 76 77 78 79 80 81 82 185 0 0 0 0 0 \
  1996 + 92 186 83 84 85 86 87 88 89 90 178 0 0 0 0 0 \
  1997 + 48 49 50 51 52 53 54 55 56 57 179 0 0 0 0 159
  1998 +x3270.codepage.hebrew: 0x03ad01a8
  1999 +x3270.displayCharset.hebrew: 3270cg-8,iso8859-8
  2000 +x3270.emulatorFontList.3270cg-8,iso8859-8: Hebrew 14-point 3270 Font: 3270h
  2001 +x3270.xkSelector.hebrew: 0x0c
  2002 +x3270.autoKeymap.hebrew: true
  2003 +! Brazilian character set for x3270.
  2004 +! With invaluable help from Ricardo Dias de Pinho - Rio de Janeiro(RJ) BRAZIL.
  2005 +x3270.codepage.brazilian: 275
  2006 +x3270.displayCharset.brazilian: 3270cg-1a,3270cg-1,iso8859-1
  2007 +x3270.charset.brazilian: #table\n\
  2008 + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \
  2009 + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \
  2010 + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \
  2011 + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \
  2012 + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \
  2013 + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \
  2014 + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \
  2015 + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \
  2016 + 0x00 0x5b 0x5d 0xa3 0xa5 0xb6 0xa4 0xdf \
  2017 + 0xa7 0xaf 0xc9 0x2e 0x3c 0x28 0x2b 0x21 \
  2018 + 0x26 0xb0 0x00 0xac 0xa8 0xb4 0xb8 0xe0 \
  2019 + *0xe8 *0xec 0x24 0xc7 0x2a 0x29 0x3b 0x5e \
  2020 + 0x2d 0x2f *0xf2 *0xf9 0x60 0x7b 0xff *0xe0 \
  2021 + 0xe8 0xe9 0xe7 0x2c 0x25 0x5f 0x3e 0x3f \
  2022 + 0xec 0xf2 0xf9 *0xfc *0xe7 0xe4 0xeb 0xef \
  2023 + 0xf6 0xe3 0x3a 0xd5 0xc3 0x27 0x3d 0x22 \
  2024 + 0xfc 0x61 0x62 0x63 0x64 0x65 0x66 0x67 \
  2025 + 0x68 0x69 0xe2 0xea 0xee 0xf4 0xfb 0xe1 \
  2026 + 0x7d 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f 0x70 \
  2027 + 0x71 0x72 0xed 0xf3 0xfa 0xf1 0xc0 0xc8 \
  2028 + 0xcc 0x7e 0x73 0x74 0x75 0x76 0x77 0x78 \
  2029 + 0x79 0x7a 0xd2 0xd9 0x40 0x23 *0x59 *0x41 \
  2030 + *0x45 *0x45 *0x49 *0x4f *0x55 *0x59 *0x43 0xc4 \
  2031 + 0xcb 0xcf 0xd6 0xdc 0xc2 0xca 0xce 0xd4 \
  2032 + 0xf5 0x41 0x42 0x43 0x44 0x45 0x46 0x47 \
  2033 + 0x48 0x49 0xdb 0xc1 0xa2 0xcd 0x00 0x00 \
  2034 + *0xe9 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 \
  2035 + 0x51 0x52 0xd3 0xda 0xd1 0x00 0x00 0x00 \
  2036 + 0x5c 0x00 0x53 0x54 0x55 0x56 0x57 0x58 \
  2037 + 0x59 0x5a 0xf8 0xe5 0xa6 0x00 0x00 0x00 \
  2038 + 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 \
  2039 + 0x38 0x39 0xc6 0xd8 0xc5 0x7c 0x00 0x00
  2040 +! Greek, requires the 3270gr font
  2041 +! Courtesty of Mantzios Achilleus
  2042 +x3270.charset.greek: #table \
  2043 + 0 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \n\
  2044 + 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \n\
  2045 +128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \n\
  2046 +144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \n\
  2047 + 32 193 194 195 196 197 198 199 200 201 91 46 60 40 43 33 \n\
  2048 + 38 202 203 204 205 206 207 208 209 211 93 36 42 41 59 94 \n\
  2049 + 45 47 212 213 214 215 216 217 218 219 174 44 37 95 62 63 \n\
  2050 +168 182 184 185 210 186 188 190 191 96 58 35 64 39 61 34 \n\
  2051 +181 97 98 99 100 101 102 103 104 105 225 226 227 228 229 230 \n\
  2052 +176 106 107 108 109 110 111 112 113 114 231 232 233 234 235 236 \n\
  2053 +180 126 115 116 117 118 119 120 121 122 237 238 239 240 241 243 \n\
  2054 +163 220 221 222 250 223 252 253 251 254 242 244 245 246 247 248 \n\
  2055 +123 65 66 67 68 69 70 71 72 73 173 249 192 224 164 175 \n\
  2056 +125 74 75 76 77 78 79 80 81 82 177 189 124 183 162 166 \n\
  2057 + 92 161 83 84 85 86 87 88 89 90 178 167 255 170 171 172 \n\
  2058 + 48 49 50 51 52 53 54 55 56 57 179 169 165 160 187 159
  2059 +x3270.codepage.greek: 0x0464036b
  2060 +x3270.displayCharset.greek: 3270cg-7,iso8859-7
  2061 +x3270.xkSelector.greek: 0x07
  2062 +x3270.emulatorFontList.3270cg-7,iso8859-7: 3270gr
  2063 +! Russian character set for x3270.
  2064 +x3270.codepage.russian: 880
  2065 +x3270.displayCharset.russian: koi8-r
  2066 +x3270.xkSelector.russian: 0x06
  2067 +x3270.charset.russian: #table\n\
  2068 + 0 1 2 3 158 9 170 127 182 96 147 11 12 13 14 15 \
  2069 + 16 17 18 19 171 126 8 175 24 25 150 125 28 29 30 31 \
  2070 + 124 174 129 123 160 10 23 27 172 154 184 173 146 5 6 7 \
  2071 + 180 181 22 183 155 156 157 4 178 131 169 148 20 21 149 26 \
  2072 + 32 166 167 128 163 139 140 141 142 143 91 46 60 40 43 33 \
  2073 + 38 176 177 186 187 188 189 255 191 144 93 36 42 41 59 94 \
  2074 + 45 47 130 179 132 133 134 135 136 137 145 44 37 95 62 63 \
  2075 + 151 152 153 162 138 164 192 193 194 168 58 35 64 39 61 34 \
  2076 + 195 97 98 99 100 101 102 103 104 105 196 197 198 199 200 201 \
  2077 + 202 106 107 108 109 110 111 112 113 114 203 204 205 206 207 208 \
  2078 + 209 161 115 116 117 118 119 120 121 122 210 211 212 213 214 215 \
  2079 + 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 \
  2080 + 165 65 66 67 68 69 70 71 72 73 232 233 234 235 236 237 \
  2081 + 159 74 75 76 77 78 79 80 81 82 238 239 240 241 242 243 \
  2082 + 92 185 83 84 85 86 87 88 89 90 244 245 246 247 248 249 \
  2083 + 48 49 50 51 52 53 54 55 56 57 250 251 252 253 254 190
  2084 +! Code page 870 for Slovenian, Croatian, Serbian (Latin) and Polish.
  2085 +x3270.codepage.cp870: 0x03bf0366
  2086 +x3270.displayCharset.cp870: iso8859-2
  2087 +x3270.xkSelector.cp870: 0x01
  2088 +x3270.charset.cp870: #table\n\
  2089 + 0 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \
  2090 + 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \
  2091 + 128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \
  2092 + 144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \
  2093 + 32 160 226 228 254 225 227 232 231 230 91 46 60 40 43 33 \
  2094 + 38 233 234 235 249 237 238 181 229 223 93 36 42 41 59 94 \
  2095 + 45 47 194 196 189 193 195 200 199 198 124 44 37 95 62 63 \
  2096 + 183 201 202 203 217 205 206 165 197 96 58 35 64 39 61 34 \
  2097 + 162 97 98 99 100 101 102 103 104 105 182 242 240 253 248 186 \
  2098 + 176 106 107 108 109 110 111 112 113 114 179 241 185 184 178 164 \
  2099 + 177 126 115 116 117 118 119 120 121 122 166 210 208 221 216 170 \
  2100 + 255 161 191 222 175 167 190 188 174 172 163 209 169 168 180 215 \
  2101 + 123 65 66 67 68 69 70 71 72 73 173 244 246 224 243 245 \
  2102 + 125 74 75 76 77 78 79 80 81 82 204 251 252 187 250 236 \
  2103 + 92 247 83 84 85 86 87 88 89 90 239 212 214 192 211 213 \
  2104 + 48 49 50 51 52 53 54 55 56 57 207 219 220 171 218 159
  2105 +#ifdef _WIN32
  2106 +! Host codepage 37 / Windows codepage 437 (US OEM)
  2107 +x3270.codepage.bracket437: 37
  2108 +x3270.displayCharset.bracket437: windows-437
  2109 +x3270.charset.bracket437: #table\n\
  2110 + 0 1 2 3 0 9 0 127 0 0 0 11 12 13 14 15 \
  2111 + 16 17 18 19 0 0 8 0 24 25 0 0 28 29 30 31 \
  2112 + 0 0 0 0 0 10 23 27 0 0 0 0 0 5 6 7 \
  2113 + 0 0 22 0 0 0 0 4 0 0 0 0 20 21 0 26 \
  2114 + 32 255 131 132 133 160 0 134 135 164 155 46 60 40 43 124 \
  2115 + 38 130 136 137 138 161 140 139 141 225 33 36 42 41 59 170 \
  2116 + 45 47 0 142 0 0 0 143 128 165 0 44 37 95 62 63 \
  2117 + 0 144 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \
  2118 + 0 97 98 99 100 101 102 103 104 105 174 175 0 0 0 241 \
  2119 +248 106 107 108 109 110 111 112 113 114 166 167 145 0 146 0 \
  2120 +230 126 115 116 117 118 119 120 121 122 173 168 0 91 0 0 \
  2121 + 94 156 157 250 0 0 0 172 171 0 0 0 0 93 0 0 \
  2122 +123 65 66 67 68 69 70 71 72 73 0 147 148 149 162 0 \
  2123 +125 74 75 76 77 78 79 80 81 82 0 150 129 151 163 152 \
  2124 + 92 246 83 84 85 86 87 88 89 90 253 0 153 0 0 0 \
  2125 + 48 49 50 51 52 53 54 55 56 57 0 0 154 0 0 0
  2126 +x3270.aplMap.437: \
  2127 + 0xaf: 0xf8\n 0xd4: 0xd9\n 0xd5: 0xbf\n 0xc5: 0xda\n\
  2128 + 0xc4: 0xc0\n 0xd3: 0xc5\n 0xa2: 0xc4\n 0xc6: 0xc3\n\
  2129 + 0xd6: 0xb4\n 0xc7: 0xc1\n 0xd7: 0xc2\n 0x85: 0xb3\n\
  2130 + 0x8c: 0xf3\n 0xae: 0xf2\n 0xbe: 0x00\n 0xa3: 0xf9\n\
  2131 + 0xad: 0x5b\n 0xbd: 0x5d
  2132 +! Host codepage 1153/1375 / Windows codepage 1250 (Central Europe)
  2133 +x3270.codepage.cp1153: 0x055f0481
  2134 +x3270.displayCharset.cp1153: windows-1250
  2135 +x3270.charset.cp1153: #table\n\
  2136 + 0 1 2 3 156 9 134 127 151 0 0 11 12 13 14 15 \
  2137 + 16 17 18 19 0 133 8 135 24 25 146 0 28 29 30 31 \
  2138 + 0 0 0 131 132 10 23 27 136 137 0 139 0 5 6 7 \
  2139 + 144 145 22 147 148 149 150 4 152 153 0 155 20 21 158 26 \
  2140 + 32 160 226 228 254 225 227 232 231 230 91 46 60 40 43 33 \
  2141 + 38 233 234 235 249 237 238 190 229 223 93 36 42 41 59 94 \
  2142 + 45 47 194 196 189 193 195 200 199 198 124 44 37 95 62 63 \
  2143 + 161 201 202 203 217 205 206 188 197 96 58 35 64 39 61 34 \
  2144 + 162 97 98 99 100 101 102 103 104 105 156 242 240 253 248 186 \
  2145 + 176 106 107 108 109 110 111 112 113 114 179 241 154 184 178 128 \
  2146 + 185 126 115 116 117 118 119 120 121 122 140 210 208 221 216 170 \
  2147 + 255 165 191 222 175 167 158 159 142 143 163 209 138 168 180 215 \
  2148 + 123 65 66 67 68 69 70 71 72 73 173 244 246 224 243 245 \
  2149 + 125 74 75 76 77 78 79 80 81 82 204 251 252 157 250 236 \
  2150 + 92 247 83 84 85 86 87 88 89 90 239 212 214 192 211 213 \
  2151 + 48 49 50 51 52 53 54 55 56 57 207 219 220 141 218 0
  2152 +#endif
  2153 +! Thai character set for x3270
  2154 +x3270.codepage.thai: 0x03aa0346
  2155 +x3270.displayCharset.thai: iso8859-11,tis620.2529-0
  2156 +x3270.xkSelector.thai: 0x0d
  2157 +x3270.charset.thai: #table\n\
  2158 + 32 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \
  2159 + 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \
  2160 + 128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \
  2161 + 144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \
  2162 + 32 32 161 162 163 164 165 166 167 168 213 46 60 40 43 124 \
  2163 + 38 169 168 169 170 171 172 173 174 177 33 36 42 41 59 126 \
  2164 + 45 47 175 176 177 178 179 180 181 185 203 44 37 95 62 63 \
  2165 + 223 238 182 183 184 185 186 187 188 96 58 35 64 39 61 34 \
  2166 + 239 97 98 99 100 101 102 103 104 105 189 190 191 192 193 194 \
  2167 + 250 106 107 108 109 110 111 112 113 114 195 196 197 198 199 200 \
  2168 + 251 229 115 116 117 118 119 120 121 122 201 202 203 204 205 206 \
  2169 + 240 241 242 243 244 245 246 247 248 249 207 208 209 210 211 212 \
  2170 + 123 65 66 67 68 69 70 71 72 73 232 213 214 215 216 217 \
  2171 + 125 74 75 76 77 78 79 80 81 82 218 224 225 226 227 228 \
  2172 + 92 159 83 84 85 86 87 88 89 90 229 230 231 232 233 234 \
  2173 + 48 49 50 51 52 53 54 55 56 57 235 236 237 253 254 255
  2174 +#ifdef X3270_DBCS
  2175 +! Simplified Chinese.
  2176 +! Note that the 'charset' definition applies only to the single-byte character
  2177 +! set (836), not the double-byte character set (837).
  2178 +x3270.codepage.simplified-chinese: 0x04960344+0xffff0345
  2179 +x3270.displayCharset.simplified-chinese: 3270cg-1a,3270cg-1,iso8859-1+gb2312.1980-0,iso10646-1
  2180 +x3270.charset.simplified-chinese: #table\n\
  2181 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2182 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2183 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2184 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2185 + 32 0 0 0 0 0 0 0 0 0 163 46 60 40 43 124 \
  2186 + 38 0 0 0 0 0 0 0 0 0 33 165 42 41 59 172 \
  2187 + 45 47 0 0 0 0 0 0 0 0 166 44 37 95 62 63 \
  2188 + 0 0 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \
  2189 + 0 97 98 99 100 101 102 103 104 105 0 0 0 0 0 0 \
  2190 + 0 106 107 108 109 110 111 112 113 114 0 0 0 0 0 0 \
  2191 + 126 175 115 116 117 118 119 120 121 122 0 0 0 0 0 0 \
  2192 + 94 0 92 0 0 0 0 0 0 0 91 93 0 0 0 0 \
  2193 + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \
  2194 + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \
  2195 + 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \
  2196 + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0
  2197 +! dbcsConverters are ICU converter names, of the form:
  2198 +! [host-SBCS-converter+]host-DBCS-converter,display-font-converter
  2199 +x3270.dbcsConverters.simplified-chinese: ibm-837_P100-2000,gb2312-1980
  2200 +! Simplified Chinese, using GB18030 and code page 1388 (same code page for
  2201 +! SBCS and DBCS).
  2202 +x3270.codepage.chinese-gb18030: 0xffff056c+0xffff056c
  2203 +x3270.displayCharset.chinese-gb18030: 3270cg-1a,3270cg-1,iso8859-1+gb18030.2000-1,iso10646-1
  2204 +x3270.charset.chinese-gb18030: #table\n\
  2205 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2206 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2207 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2208 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2209 + 32 0 0 0 0 0 0 0 0 0 163 46 60 40 43 124 \
  2210 + 38 0 0 0 0 0 0 0 0 0 33 165 42 41 59 172 \
  2211 + 45 47 0 0 0 0 0 0 0 0 166 44 37 95 62 63 \
  2212 + 0 0 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \
  2213 + 0 97 98 99 100 101 102 103 104 105 0 0 0 0 0 0 \
  2214 + 0 106 107 108 109 110 111 112 113 114 0 0 0 0 0 0 \
  2215 + 126 175 115 116 117 118 119 120 121 122 0 0 0 0 0 0 \
  2216 + 94 0 92 0 0 0 0 0 0 0 91 93 0 0 0 0 \
  2217 + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \
  2218 + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \
  2219 + 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \
  2220 + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0
  2221 +x3270.dbcsConverters.chinese-gb18030: ibm-1388_P103-2001+ibm-1388_P103-2001,gb18030
  2222 +! Japanese.
  2223 +! Note that the 'charset' definition applies only to the single-byte character
  2224 +! set (1027), not the double-byte character set (300).
  2225 +x3270.codepage.japanese: 0x04940403+0x0172012c
  2226 +x3270.displayCharset.japanese: jisx0201.1976-0+jisx0208.1983-0,iso10646-1
  2227 +x3270.charset.japanese: #table\n\
  2228 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2229 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2230 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2231 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2232 + 32 0 161 162 163 164 165 166 167 168 0 46 60 40 43 124 \
  2233 + 38 169 170 171 172 173 174 175 176 177 33 36 42 41 59 0 \
  2234 + 45 47 178 179 180 181 182 183 184 185 0 44 37 95 62 63 \
  2235 + 186 187 188 189 190 191 192 193 194 96 58 35 64 39 61 34 \
  2236 + 0 97 98 99 100 101 102 103 104 105 195 196 197 198 199 200 \
  2237 + 0 106 107 108 109 110 111 112 113 114 201 202 203 204 205 206 \
  2238 + 126 0 115 116 117 118 119 120 121 122 207 208 209 91 210 211 \
  2239 + 94 0 92 212 213 214 215 216 217 218 219 220 221 93 222 223 \
  2240 + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \
  2241 + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \
  2242 + 0 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \
  2243 + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0
  2244 +x3270.dbcsConverters.japanese: ibm-1027_P100-1995+ibm-300_P110-1997,EUC-JP
  2245 +! Japanese, using code page 290 for SBCS.
  2246 +x3270.codepage.japanese-290: 0x04940122+0x0172012c
  2247 +x3270.displayCharset.japanese-290: jisx0201.1976-0+jisx0208.1983-0,iso10646-1
  2248 +x3270.charset.japanese-290: #table\n\
  2249 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2250 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2251 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2252 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2253 + 32 161 162 163 164 165 166 167 168 169 0 46 60 40 43 124 \
  2254 + 38 170 171 172 173 174 175 0 176 0 33 92 42 41 59 0 \
  2255 + 45 47 97 98 99 100 101 102 103 104 0 44 37 95 62 63 \
  2256 + 91 105 106 107 108 109 110 111 112 96 58 35 64 39 61 34 \
  2257 + 93 177 178 179 180 181 182 183 184 185 186 113 187 188 189 190 \
  2258 + 191 192 193 194 195 196 197 198 199 200 201 114 0 202 203 204 \
  2259 + 0 126 205 206 207 208 209 210 211 212 213 115 214 215 216 217 \
  2260 + 94 0 0 116 117 118 119 120 121 122 218 219 220 221 222 223 \
  2261 + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \
  2262 + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \
  2263 + 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \
  2264 + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0
  2265 +x3270.dbcsConverters.japanese-290: ibm-290+ibm-300_P110-1997,EUC-JP
  2266 +! Japanese, using code page 930 for both SBCS and DBCS.
  2267 +x3270.codepage.japanese-930: 0x017203a2+0x017203a2
  2268 +x3270.displayCharset.japanese-930: jisx0201.1976-0+jisx0208.1983-0,iso10646-1
  2269 +x3270.charset.japanese-930: #table\n\
  2270 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2271 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2272 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2273 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2274 + 32 161 162 163 164 165 166 167 168 169 0 46 60 40 43 124 \
  2275 + 38 170 171 172 173 174 175 0 176 0 33 92 42 41 59 0 \
  2276 + 45 47 97 98 99 100 101 102 103 104 0 44 37 95 62 63 \
  2277 + 91 105 106 107 108 109 110 111 112 96 58 35 64 39 61 34 \
  2278 + 93 177 178 179 180 181 182 183 184 185 186 113 187 188 189 190 \
  2279 + 191 192 193 194 195 196 197 198 199 200 201 114 0 202 203 204 \
  2280 + 0 126 205 206 207 208 209 210 211 212 213 115 214 215 216 217 \
  2281 + 94 0 0 116 117 118 119 120 121 122 218 219 220 221 222 223 \
  2282 + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \
  2283 + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \
  2284 + 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \
  2285 + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0
  2286 +x3270.dbcsConverters.japanese-930: ibm-930+ibm-930,EUC-JP
  2287 +! Japanese, using code page 939 for both SBCS and DBCS.
  2288 +x3270.codepage.japanese-939: 0x017203ab+0x017203ab
  2289 +x3270.displayCharset.japanese-939: jisx0201.1976-0+jisx0208.1983-0,iso10646-1
  2290 +x3270.charset.japanese-939: #table\n\
  2291 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2292 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2293 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2294 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2295 + 32 0 161 162 163 164 165 166 167 168 0 46 60 40 43 124 \
  2296 + 38 169 170 171 172 173 174 175 176 177 33 36 42 41 59 0 \
  2297 + 45 47 178 179 180 181 182 183 184 185 0 44 37 95 62 63 \
  2298 + 186 187 188 189 190 191 192 193 194 96 58 35 64 39 61 34 \
  2299 + 0 97 98 99 100 101 102 103 104 105 195 196 197 198 199 200 \
  2300 + 0 106 107 108 109 110 111 112 113 114 201 202 203 204 205 206 \
  2301 + 126 0 115 116 117 118 119 120 121 122 207 208 209 91 210 211 \
  2302 + 94 0 92 212 213 214 215 216 217 218 219 220 221 93 222 223 \
  2303 + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \
  2304 + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \
  2305 + 0 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \
  2306 + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0
  2307 +x3270.dbcsConverters.japanese-939: ibm-939+ibm-939,EUC-JP
  2308 +! Japanese, using code page 1390 for both SBCS and DBCS.
  2309 +x3270.codepage.japanese-1390: 0x0172056e+0x0172056e
  2310 +x3270.displayCharset.japanese-1390: jisx0201.1976-0+jisx0208.1983-0,iso10646-1
  2311 +x3270.charset.japanese-1390: #table\n\
  2312 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2313 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2314 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2315 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2316 + 32 161 162 163 164 165 166 167 168 169 0 46 60 40 43 124 \
  2317 + 38 170 171 172 173 174 175 0 176 0 33 92 42 41 59 0 \
  2318 + 45 47 97 98 99 100 101 102 103 104 0 44 37 95 62 63 \
  2319 + 91 105 106 107 108 109 110 111 112 96 58 35 64 39 61 34 \
  2320 + 93 177 178 179 180 181 182 183 184 185 186 113 187 188 189 190 \
  2321 + 191 192 193 194 195 196 197 198 199 200 201 114 0 202 203 204 \
  2322 + 0 126 205 206 207 208 209 210 211 212 213 115 214 215 216 217 \
  2323 + 94 0 0 116 117 118 119 120 121 122 218 219 220 221 222 223 \
  2324 + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \
  2325 + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \
  2326 + 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \
  2327 + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0
  2328 +x3270.dbcsConverters.japanese-1390: ibm-1390+ibm-1390,EUC-JP
  2329 +! Japanese, using code page 1399 for both SBCS and DBCS.
  2330 +x3270.codepage.japanese-1399: 0x01720577+0x01720577
  2331 +x3270.displayCharset.japanese-1399: jisx0201.1976-0+jisx0208.1983-0,iso10646-1
  2332 +x3270.charset.japanese-1399: #table\n\
  2333 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2334 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2335 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2336 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \
  2337 + 32 0 161 162 163 164 165 166 167 168 0 46 60 40 43 124 \
  2338 + 38 169 170 171 172 173 174 175 176 177 33 36 42 41 59 0 \
  2339 + 45 47 178 179 180 181 182 183 184 185 0 44 37 95 62 63 \
  2340 + 186 187 188 189 190 191 192 193 194 96 58 35 64 39 61 34 \
  2341 + 0 97 98 99 100 101 102 103 104 105 195 196 197 198 199 200 \
  2342 + 0 106 107 108 109 110 111 112 113 114 201 202 203 204 205 206 \
  2343 + 126 0 115 116 117 118 119 120 121 122 207 208 209 91 210 211 \
  2344 + 94 0 92 212 213 214 215 216 217 218 219 220 221 93 222 223 \
  2345 + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \
  2346 + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \
  2347 + 0 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \
  2348 + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0
  2349 +x3270.dbcsConverters.japanese-1399: ibm-1399+ibm-1399,EUC-JP
  2350 +#endif
  2351 +! Non-standard Persian support.
  2352 +x3270.charset.persian: \
  2353 + *0x42: 0x0622 \n\
  2354 + *0x43: 0x0627 \n\
  2355 + *0x44: 0x0628 \n\
  2356 + *0x45: 0xfb56 \n\
  2357 + *0x46: 0x062a \n\
  2358 + *0x47: 0x062b \n\
  2359 + *0x48: 0x062c \n\
  2360 + *0x49: 0xfb7a \n\
  2361 + *0x51: 0x062d \n\
  2362 + *0x52: 0x062e \n\
  2363 + *0x53: 0x062f \n\
  2364 + *0x54: 0x0630 \n\
  2365 + *0x55: 0x0631 \n\
  2366 + *0x56: 0x0632 \n\
  2367 + *0x57: 0xfb8b \n\
  2368 + *0x58: 0x0633 \n\
  2369 + *0x59: 0x0634 \n\
  2370 + *0x62: 0x0635 \n\
  2371 + *0x63: 0x0636 \n\
  2372 + *0x64: 0x0638 \n\
  2373 + *0x65: 0x0639 \n\
  2374 + *0x66: 0x063a \n\
  2375 + *0x67: 0x063b \n\
  2376 + *0x68: 0x063d \n\
  2377 + *0x69: 0x063e \n\
  2378 + *0x70: 0x063f \n\
  2379 + *0x71: 0x06a9 \n\
  2380 + *0x72: 0x06af \n\
  2381 + *0x73: 0x0641 \n\
  2382 + *0x74: 0x0643 \n\
  2383 + *0x75: 0x0644 \n\
  2384 + *0x76: 0x0646 \n\
  2385 + *0x77: 0x0645 \n\
  2386 + *0x78: 0x064d \n\
  2387 + *0x80: 0x064c \n\
  2388 + *0x8c: 0x0621 \n\
  2389 + *0x8d: 0x0623 \n\
  2390 + *0x8e: 0x0625 \n\
  2391 + *0x9c: 0x0629 \n\
  2392 + *0x9d: 0x0626 \n\
  2393 + *0x9e: 0xfdfc \n\
  2394 + *0xcb: 0x061b \n\
  2395 + *0xcc: 0x060c \n\
  2396 + *0xcd: 0x061f
  2397 +x3270.codepage.persian: 37
  2398 +x3270.displayCharset.persian: iso10646-1
  2399 +! IBM codepage 1047, used by Unix System Services
  2400 +x3270.charset.cp1047: \
  2401 + 0xad: [ \n 0xba: Yacute \n\
  2402 + 0xbd: ] \n 0xbb: diaeresis \n\
  2403 + 0x5f: asciicircum \n 0xb0: notsign
  2404 +! Spanish character set for x3270.
  2405 +x3270.codepage.spanish: 284
  2406 +x3270.displayCharset.spanish: 3270cg-1a,3270cg-1,iso8859-1
  2407 +x3270.charset.spanish: #table\n\
  2408 + 0 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \
  2409 + 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \
  2410 +128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \
  2411 +144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \
  2412 + 32 160 226 228 224 225 227 229 231 166 91 46 60 40 43 124 \
  2413 + 38 233 234 235 232 237 238 239 236 223 93 36 42 41 59 172 \
  2414 + 45 47 194 196 192 193 195 197 199 35 241 44 37 95 62 63 \
  2415 +248 201 202 203 200 205 206 207 204 96 58 209 64 39 61 34 \
  2416 +216 97 98 99 100 101 102 103 104 105 171 187 240 253 254 177 \
  2417 +176 106 107 108 109 110 111 112 113 114 170 186 230 184 198 164 \
  2418 +181 168 115 116 117 118 119 120 121 122 161 191 208 221 222 174 \
  2419 +162 163 165 183 169 167 182 188 189 190 94 33 175 126 180 215 \
  2420 +123 65 66 67 68 69 70 71 72 73 173 244 246 242 243 245 \
  2421 +125 74 75 76 77 78 79 80 81 82 185 251 252 249 250 255 \
  2422 + 92 247 83 84 85 86 87 88 89 90 178 212 214 210 211 213 \
  2423 + 48 49 50 51 52 53 54 55 56 57 179 219 220 217 218 159
  2424 +! Spanish w/Euro (code page 1145)
  2425 +x3270.codepage.spanish-euro: 0x02b70479
  2426 +x3270.displayCharset.spanish-euro: 3270cg-15a,3270cg-15,iso8859-15
... ...
src/lib3270/XtGlue.c
... ... @@ -44,7 +44,7 @@
44 44 #include <stdlib.h>
45 45 #include <string.h>
46 46 #include <errno.h>
47   -// #include <X11/keysym.h>
  47 +#include "X11keysym.h"
48 48  
49 49 #include <sys/time.h>
50 50 #include <sys/types.h>
... ... @@ -587,8 +587,6 @@ Free(void *p)
587 587 free(p);
588 588 }
589 589  
590   -/*
591   -
592 590 static struct {
593 591 const char *name;
594 592 KeySym keysym;
... ... @@ -803,8 +801,7 @@ static struct {
803 801 { (char *)NULL, NoSymbol }
804 802 };
805 803  
806   -KeySym
807   -StringToKeysym(char *s)
  804 +KeySym StringToKeysym(char *s)
808 805 {
809 806 int i;
810 807  
... ... @@ -817,8 +814,7 @@ StringToKeysym(char *s)
817 814 return NoSymbol;
818 815 }
819 816  
820   -char *
821   -KeysymToString(KeySym k)
  817 +const char * KeysymToString(KeySym k)
822 818 {
823 819 int i;
824 820  
... ... @@ -828,7 +824,7 @@ KeysymToString(KeySym k)
828 824 }
829 825 return (char *)NULL;
830 826 }
831   -*/
  827 +
832 828  
833 829 /* Timeouts. */
834 830  
... ...
src/lib3270/kybd.c
... ... @@ -1292,15 +1292,15 @@ retry:
1292 1292 void key_ACharacter(unsigned char c, enum keytype keytype, enum iaction cause,Boolean *skipped)
1293 1293 {
1294 1294 // register int i;
1295   - struct akeysym ak;
  1295 +// struct akeysym ak;
1296 1296  
1297 1297 // reset_idle_timer();
1298 1298  
1299 1299 if (skipped != NULL)
1300 1300 *skipped = False;
1301 1301  
1302   - ak.keysym = c;
1303   - ak.keytype = keytype;
  1302 +// ak.keysym = c;
  1303 +// ak.keytype = keytype;
1304 1304  
1305 1305 /*
1306 1306 switch (composing) {
... ... @@ -2322,7 +2322,7 @@ LIB3270_CURSOR_ACTION( newline )
2322 2322  
2323 2323 /*
2324 2324 * DUP key
2325   - */
  2325 + */ /*
2326 2326 void
2327 2327 Dup_action(Widget w unused, XEvent *event, String *params, Cardinal *num_params)
2328 2328 {
... ... @@ -2331,18 +2331,18 @@ Dup_action(Widget w unused, XEvent *event, String *params, Cardinal *num_params)
2331 2331 enq_ta(Dup_action, CN, CN);
2332 2332 return;
2333 2333 }
2334   -#if defined(X3270_ANSI) /*[*/
  2334 +#if defined(X3270_ANSI)
2335 2335 if (IN_ANSI)
2336 2336 return;
2337   -#endif /*]*/
  2337 +#endif
2338 2338 if (key_Character(EBC_dup, False, False, NULL))
2339 2339 cursor_move(next_unprotected(h3270.cursor_addr));
2340 2340 }
2341   -
  2341 +*/
2342 2342  
2343 2343 /*
2344 2344 * FM key
2345   - */
  2345 + */ /*
2346 2346 void
2347 2347 FieldMark_action(Widget w unused, XEvent *event, String *params, Cardinal *num_params)
2348 2348 {
... ... @@ -2351,12 +2351,12 @@ FieldMark_action(Widget w unused, XEvent *event, String *params, Cardinal *num_p
2351 2351 enq_ta(FieldMark_action, CN, CN);
2352 2352 return;
2353 2353 }
2354   -#if defined(X3270_ANSI) /*[*/
  2354 +#if defined(X3270_ANSI)
2355 2355 if (IN_ANSI)
2356 2356 return;
2357   -#endif /*]*/
  2357 +#endif
2358 2358 (void) key_Character(EBC_fm, False, False, NULL);
2359   -}
  2359 +} */
2360 2360  
2361 2361 /**
2362 2362 * Send an "Enter" action.
... ...
src/lib3270/lib3270.cbp
... ... @@ -7,8 +7,8 @@
7 7 <Option compiler="gcc" />
8 8 <Build>
9 9 <Target title="Debug">
10   - <Option output=".bin\Debug\lib3270" prefix_auto="1" extension_auto="1" />
11   - <Option object_output=".obj\Debug\" />
  10 + <Option output=".bin/Debug/lib3270" prefix_auto="1" extension_auto="1" />
  11 + <Option object_output=".obj/Debug/" />
12 12 <Option type="1" />
13 13 <Option compiler="gcc" />
14 14 <Compiler>
... ... @@ -17,8 +17,8 @@
17 17 </Compiler>
18 18 </Target>
19 19 <Target title="Release">
20   - <Option output=".bin\Release\lib3270" prefix_auto="1" extension_auto="1" />
21   - <Option object_output=".obj\Release\" />
  20 + <Option output=".bin/Release/lib3270" prefix_auto="1" extension_auto="1" />
  21 + <Option object_output=".obj/Release/" />
22 22 <Option type="3" />
23 23 <Option compiler="gcc" />
24 24 <Option createDefFile="1" />
... ... @@ -38,10 +38,12 @@
38 38 <Add option="-Wmissing-declarations" />
39 39 <Add option="-Wall" />
40 40 <Add option="-DLIB3270=1" />
41   - <Add directory="..\include" />
42   - <Add directory="..\include\lib3270" />
  41 + <Add directory="../include" />
  42 + <Add directory="../include/lib3270" />
43 43 </Compiler>
  44 + <Unit filename="../include/lib3270/config.h.in" />
44 45 <Unit filename="Makefile.in" />
  46 + <Unit filename="X11keysym.h" />
45 47 <Unit filename="XtGlue.c">
46 48 <Option compilerVar="CC" />
47 49 </Unit>
... ... @@ -65,14 +67,13 @@
65 67 </Unit>
66 68 <Unit filename="charsetc.h" />
67 69 <Unit filename="childc.h" />
68   - <Unit filename="control.in" />
69 70 <Unit filename="ctlr.c">
70 71 <Option compilerVar="CC" />
71 72 </Unit>
72 73 <Unit filename="ctlr.h" />
73 74 <Unit filename="ctlrc.h" />
74 75 <Unit filename="dialogc.h" />
75   - <Unit filename="falbacks.c">
  76 + <Unit filename="fallbacks.c">
76 77 <Option compilerVar="CC" />
77 78 </Unit>
78 79 <Unit filename="ft.c">
... ...
src/lib3270/macros.c
... ... @@ -33,8 +33,11 @@
33 33 #include <errno.h>
34 34 #include <string.h>
35 35 #include <stdio.h>
  36 + #include <malloc.h>
36 37 #include <lib3270.h>
37 38 #include <lib3270/macros.h>
  39 + #include <stdlib.h>
  40 + #include "api.h"
38 41  
39 42 #define LIB3270_MACRO_ENTRY( name ) { #name, lib3270_macro_ ## name }
40 43  
... ... @@ -107,12 +110,10 @@
107 110 switch(argc)
108 111 {
109 112 case 1: // Get entire screen
110   - get_3270_terminal_size(hSession,&rows,&cols);
  113 + lib3270_get_screen_size(hSession,&rows,&cols);
111 114 qtd = (rows*(cols+1)+1);
112 115 buffer = malloc(qtd+2);
113 116  
114   - Trace("Screen buffer size: %d (%dx%d)",qtd,rows,cols);
115   -
116 117 memset(buffer,0,qtd+1);
117 118 start = qtd = 0;
118 119 for(row = 0; row < rows;row++)
... ... @@ -124,7 +125,6 @@
124 125 }
125 126 buffer[qtd] = 0;
126 127  
127   - Trace("Bytes read: %d",qtd);
128 128 return buffer;
129 129  
130 130 case 2: // Just size, get current cursor position
... ... @@ -138,7 +138,7 @@
138 138 break;
139 139  
140 140 case 4: // Get start position from row/col
141   - get_3270_terminal_size(hSession,&rows,&cols);
  141 + lib3270_get_screen_size(hSession,&rows,&cols);
142 142  
143 143 row = atoi(argv[1])-1;
144 144 col = atoi(argv[2])-1;
... ... @@ -173,13 +173,16 @@
173 173 LIB3270_MACRO( set )
174 174 {
175 175 const char *str = NULL;
  176 + int rows, cols;
176 177  
177   - if(query_3270_terminal_status() != LIB3270_MESSAGE_NONE)
  178 + if(lib3270_get_program_message(hSession) != LIB3270_MESSAGE_NONE)
178 179 {
179 180 errno = EBUSY;
180 181 return NULL;
181 182 }
182 183  
  184 + lib3270_get_screen_size(hSession,&rows,&cols);
  185 +
183 186 switch(argc)
184 187 {
185 188 case 1:
... ... @@ -191,12 +194,12 @@
191 194 break;
192 195  
193 196 case 3:
194   - cursor_set_addr(atoi(argv[1]));
  197 + lib3270_set_cursor_address(hSession,atoi(argv[1]));
195 198 str = argv[2];
196 199 break;
197 200  
198 201 case 4:
199   - cursor_set_addr((atoi(argv[1])-1) * ctlr_get_cols() + (atoi(argv[2])-1));
  202 + lib3270_set_cursor_address(hSession,(atoi(argv[1])-1) * cols + (atoi(argv[2])-1));
200 203 str = argv[3];
201 204 break;
202 205  
... ... @@ -213,9 +216,9 @@
213 216  
214 217 LIB3270_MACRO( status )
215 218 {
216   - const char * luname = (const char *) get_connected_lu(hSession);
217   - const char * cstate = get_state(hSession);
218   - const char * host = (const char *) get_current_host(hSession);
  219 + const char * luname = (const char *) lib3270_get_luname(hSession);
  220 + const char * state = get_state(hSession);
  221 + const char * host = (const char *) lib3270_get_host(hSession);
219 222 char * rsp;
220 223 size_t sz;
221 224  
... ... @@ -225,9 +228,9 @@
225 228 if(!host)
226 229 host = "-";
227 230  
228   - sz = strlen(luname)+strlen(cstate)+strlen(host)+4;
  231 + sz = strlen(luname)+strlen(state)+strlen(host)+4;
229 232 rsp = malloc(sz+1);
230   - snprintf(rsp,sz,"%s %s %s",cstate,luname,host);
  233 + snprintf(rsp,sz,"%s %s %s",state,luname,host);
231 234 return rsp;
232 235 }
233 236  
... ... @@ -238,7 +241,7 @@
238 241  
239 242 LIB3270_MACRO( luname )
240 243 {
241   - const char * luname = (const char *) get_connected_lu(hSession);
  244 + const char * luname = (const char *) lib3270_get_luname(hSession);
242 245 return strdup(luname ? luname : "none" );
243 246 }
244 247  
... ... @@ -286,15 +289,15 @@
286 289 switch(argc)
287 290 {
288 291 case 1:
289   - rc = host_reconnect(0);
  292 + rc = lib3270_reconnect(hSession,0);
290 293 break;
291 294  
292 295 case 2:
293   - rc = host_connect(argv[1],0);
  296 + rc = lib3270_connect(hSession,argv[1],0);
294 297 break;
295 298  
296 299 case 3:
297   - rc = host_connect(argv[1],atoi(argv[2]));
  300 + rc = lib3270_connect(hSession,argv[1],atoi(argv[2]));
298 301 break;
299 302  
300 303 default:
... ...
src/lib3270/mkversion.sh.in 0 → 100755
... ... @@ -0,0 +1,56 @@
  1 +#! /bin/sh
  2 +#
  3 +# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  4 +# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  5 +# aplicativos mainframe. Registro no INPI sob o nome G3270.
  6 +#
  7 +# Copyright (C) <2008> <Banco do Brasil S.A.>
  8 +#
  9 +# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  10 +# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  11 +# Free Software Foundation.
  12 +#
  13 +# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  14 +# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  15 +# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  16 +# obter mais detalhes.
  17 +#
  18 +# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  19 +# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
  20 +# Place, Suite 330, Boston, MA, 02111-1307, USA
  21 +#
  22 +# Contatos:
  23 +#
  24 +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  25 +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  26 +# licinio@bb.com.br (Licínio Luis Branco)
  27 +# kraucer@bb.com.br (Kraucer Fernandes Mazuco)
  28 +#
  29 +
  30 +set -e
  31 +
  32 +cd `dirname $0`
  33 +
  34 +LANG="EN_us"
  35 +
  36 +version="@PACKAGE_VERSION@"
  37 +revision="@PACKAGE_REVISION@"
  38 +builddate=`date`
  39 +sccsdate=`date +%Y/%m/%d`
  40 +user=${LOGNAME-$USER}
  41 +
  42 +# Create an all numeric timestamp for rpqnames.
  43 +# rpq.c will return this string of numbers in bcd format
  44 +# It is OK to change the length (+ or -), but use
  45 +# decimal (0-9) digits only. Length must be even number of digits.
  46 +rpq_timestamp=`date +%Y%m%d%H%M%S`
  47 +
  48 +cat <<EOF >version.c
  49 +char *build = "@PACKAGE@ v$version $builddate $user";
  50 +char *app_defaults_version = "$adversion";
  51 +char *sccsid = "@(#)@PACKAGE@ v$version $sccsdate $user";
  52 +
  53 +const char *build_rpq_timestamp = "$rpq_timestamp";
  54 +const char *build_rpq_version = "$version";
  55 +const char *build_rpq_revision = "$revision";
  56 +EOF
... ...
src/lib3270/sf.c
... ... @@ -685,11 +685,6 @@ do_query_reply(unsigned char code)
685 685 obptr_len = obuf + obptr0;
686 686 len = (obptr - obuf) - obptr0;
687 687 SET16(obptr_len, len);
688   -#ifdef DEBUG
689   - trace_ds("\tStructuredField len=%d\n",len);
690   - trace_netdata('\t', obuf + obptr0, len);
691   -#endif
692   -
693 688 } else {
694 689 /* Back over the header. */
695 690 obptr -= 4;
... ...
src/lib3270/utilc.h
... ... @@ -41,9 +41,10 @@ LIB3270_INTERNAL unsigned long AddOutput(int, H3270 *session, void (*fn)(H3270 *
41 41 LIB3270_INTERNAL void RemoveInput(unsigned long);
42 42 LIB3270_INTERNAL unsigned long AddTimeOut(unsigned long msec, H3270 *session, void (*fn)(H3270 *session));
43 43 LIB3270_INTERNAL void RemoveTimeOut(unsigned long cookie);
44   -LIB3270_INTERNAL KeySym StringToKeysym(char *s);
45 44  
46 45 LIB3270_INTERNAL char *KeysymToString(KeySym k);
  46 +LIB3270_INTERNAL KeySym StringToKeysym(char *s);
  47 +
47 48 LIB3270_INTERNAL int read_resource_file(const char *filename, Boolean fatal);
48 49 LIB3270_INTERNAL Boolean split_hier(char *label, char **base, char ***parents);
49 50  
... ...