Commit 5ad00adeeb825e43c6213616fa080ede8935981c

Authored by Perry Werneck
1 parent 60f3a050

Updating Makefile for modularization.

@@ -24,25 +24,11 @@ @@ -24,25 +24,11 @@
24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) 24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
25 # 25 #
26 26
27 -#---[ Library configuration ]------------------------------------------------------------  
28 -  
29 -LIBNAME=@LIB3270_NAME@  
30 -  
31 -SOURCES= \  
32 - $(wildcard src/lib3270/*.c) \  
33 - $(wildcard src/lib3270/@OSNAME@/*.c) \  
34 - $(wildcard src/lib3270/@OSNAME@/*.rc) \  
35 - $(BASEDIR)/.tmp/@DLLPREFIX@$(LIBNAME)/fallbacks.c  
36 -  
37 -TEST_SOURCES= \  
38 - $(wildcard src/testprogram/*.c) 27 +MODULES= \
  28 + lib@LIB3270_NAME@@DLLEXT@
39 29
40 #---[ Tools ]---------------------------------------------------------------------------- 30 #---[ Tools ]----------------------------------------------------------------------------
41 31
42 -CC=@CC@  
43 -HOST_CC=@HOST_CC@  
44 -LD=@CC@  
45 -LN_S=@LN_S@  
46 MKDIR=@MKDIR_P@ 32 MKDIR=@MKDIR_P@
47 INSTALL=@INSTALL@ 33 INSTALL=@INSTALL@
48 INSTALL_DATA=@INSTALL_DATA@ 34 INSTALL_DATA=@INSTALL_DATA@
@@ -69,11 +55,11 @@ BASEDIR=@BASEDIR@ @@ -69,11 +55,11 @@ BASEDIR=@BASEDIR@
69 55
70 POTDIR=$(BASEDIR)/.pot 56 POTDIR=$(BASEDIR)/.pot
71 57
72 -OBJDIR=$(BASEDIR)/.obj/@DLLPREFIX@$(LIBNAME) 58 +OBJDIR=$(BASEDIR)/.obj
73 OBJDBG=$(OBJDIR)/Debug 59 OBJDBG=$(OBJDIR)/Debug
74 OBJRLS=$(OBJDIR)/Release 60 OBJRLS=$(OBJDIR)/Release
75 61
76 -BINDIR=$(BASEDIR)/.bin/@DLLPREFIX@$(LIBNAME) 62 +BINDIR=$(BASEDIR)/.bin
77 BINDBG=$(BINDIR)/Debug 63 BINDBG=$(BINDIR)/Debug
78 BINRLS=$(BINDIR)/Release 64 BINRLS=$(BINDIR)/Release
79 65
@@ -86,251 +72,58 @@ DEPENDS= \ @@ -86,251 +72,58 @@ DEPENDS= \
86 src/lib3270/*.h 72 src/lib3270/*.h
87 73
88 74
89 -CFLAGS= \  
90 - @CFLAGS@ \  
91 - -g \  
92 - -Isrc/include  
93 - -DBUILD_DATE=`date +%Y%m%d` \  
94 - @LIBSSL_CFLAGS@  
95 -  
96 -LIBS= \  
97 - @LIBS@ \  
98 - @LIBSSL_LIBS@ \  
99 - @LIBICONV@ \  
100 - @INTL_LIBS@  
101 -  
102 #---[ Debug Rules ]---------------------------------------------------------------------- 75 #---[ Debug Rules ]----------------------------------------------------------------------
103 76
104 -$(OBJDBG)/%.o: \  
105 - %.c \ 77 +$(BINDBG)/lib@LIB3270_NAME@@DLLEXT@: \
  78 + src/lib3270/* \
106 $(DEPENDS) 79 $(DEPENDS)
107 80
108 - @echo $< ...  
109 - @$(MKDIR) `dirname $@`  
110 - @$(CC) \  
111 - $(CFLAGS) \  
112 - -Wall -Wextra -fstack-check \  
113 - -DDEBUG=1 \  
114 - -o $@ -c $<  
115 -  
116 -$(OBJDBG)/%.o: \  
117 - %.rc  
118 -  
119 - @echo $< ...  
120 - @$(MKDIR) `dirname $@`  
121 - @$(WINDRES) $< -O coff -o $@ 81 + @$(MAKE) -C src/lib3270 $@
122 82
123 #---[ Release Rules ]-------------------------------------------------------------------- 83 #---[ Release Rules ]--------------------------------------------------------------------
124 84
125 -$(OBJRLS)/%.o: \  
126 - %.c \ 85 +$(BINRLS)/lib@LIB3270_NAME@@DLLEXT@: \
  86 + src/lib3270/* \
127 $(DEPENDS) 87 $(DEPENDS)
128 88
129 - @echo $< ...  
130 - @$(MKDIR) `dirname $@`  
131 - @$(CC) \  
132 - $(CFLAGS) \  
133 - -DNDEBUG=1 \  
134 - -o $@ -c $<  
135 -  
136 -$(OBJRLS)/%.o: \  
137 - %.rc 89 + @$(MAKE) -C src/lib3270 $@
138 90
139 - @echo $< ...  
140 - @$(MKDIR) `dirname $@`  
141 - @$(WINDRES) $< -O coff -o $@  
142 91
143 #---[ Misc Rules ]----------------------------------------------------------------------- 92 #---[ Misc Rules ]-----------------------------------------------------------------------
144 93
145 -$(POTDIR)/%.pot: \  
146 - %.c  
147 -  
148 - @echo $(notdir $@) ...  
149 - @$(MKDIR) `dirname $@`  
150 - @$(XGETTEXT) \  
151 - --language=C \  
152 - --keyword=_ \  
153 - --keyword=N_ \  
154 - --keyword=MSG_:2 \  
155 - --output=$@ \  
156 - $<  
157 - @touch $@ 94 +$(POTDIR)/lib@LIB3270_NAME@.pot: \
  95 + src/lib3270/* \
  96 + $(DEPENDS)
158 97
159 -$(POTDIR)/%.pot: \  
160 - %.rc 98 + @$(MAKE) -C src/lib3270 $@
161 99
162 - @echo $< ...  
163 - @$(MKDIR) `dirname $@`  
164 - @touch $@  
165 100
166 #---[ Release Targets ]------------------------------------------------------------------ 101 #---[ Release Targets ]------------------------------------------------------------------
167 102
168 all: \ 103 all: \
169 - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ \  
170 - lib$(LIBNAME).pot 104 + $(BINRLS)/lib@LIB3270_NAME@@DLLEXT@ \
  105 + lib@LIB3270_NAME@.pot
171 106
172 Release: \ 107 Release: \
173 - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ \  
174 - $(BINRLS)/@DLLPREFIX@$(LIBNAME).a  
175 -  
176 -$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@: \  
177 - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@  
178 -  
179 - @echo $< ...  
180 - @rm -f $@  
181 - @$(LN_S) \  
182 - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \  
183 - $@  
184 -  
185 -$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \  
186 - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@  
187 -  
188 - @rm -f $@  
189 - @$(LN_S) \  
190 - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \  
191 - $@  
192 -  
193 -$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \  
194 - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)  
195 -  
196 - @$(MKDIR) `dirname $@`  
197 - @echo $< ...  
198 - @$(LD) \  
199 - -shared -Wl,-soname,$(@F) \  
200 - -o $@ \  
201 - $(LDFLAGS) \  
202 - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) \  
203 - $(LIBS)  
204 -  
205 -$(BINRLS)/@DLLPREFIX@$(LIBNAME).a: \  
206 - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)  
207 -  
208 - @echo $@ ...  
209 - @$(MKDIR) `dirname $@`  
210 - @$(AR) rcs $@ $^  
211 - 108 + $(BINRLS)/lib@LIB3270_NAME@@DLLEXT@
212 109
213 #---[ Misc Targets ]--------------------------------------------------------------------- 110 #---[ Misc Targets ]---------------------------------------------------------------------
214 111
215 -$(BASEDIR)/.tmp/@DLLPREFIX@$(LIBNAME)/fallbacks.c: \  
216 - X3270.xad \  
217 - $(wildcard src/mkfb/*.c)  
218 -  
219 - @$(MKDIR) `dirname $@`  
220 - @$(MKDIR) $(BINDIR)  
221 - @echo $< ...  
222 - @$(HOST_CC) -g -o $(BINDIR)/mkfb@EXEEXT@ $(wildcard src/mkfb/*.c)  
223 - @$(BINDIR)/mkfb@EXEEXT@ -c X3270.xad $@  
224 -  
225 -lib$(LIBNAME).pot: \  
226 - $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(SRC).pot)  
227 -  
228 - @rm -f $@  
229 - @mkdir -p `dirname $@`  
230 - @$(MSGCAT) --sort-output $^ > $@  
231 -  
232 -locale: \  
233 - lib$(LIBNAME).pot  
234 - 112 +lib@LIB3270_NAME@.pot: \
  113 + $(POTDIR)/lib@LIB3270_NAME@.pot
235 114
236 #---[ Install Targets ]------------------------------------------------------------------ 115 #---[ Install Targets ]------------------------------------------------------------------
237 116
238 install: \ 117 install: \
239 - install-lib \  
240 - install-devel  
241 -  
242 -install-lib: \  
243 - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@  
244 -  
245 - @mkdir -p $(DESTDIR)$(libdir)  
246 -  
247 - @$(INSTALL_PROGRAM) \  
248 - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \  
249 - $(DESTDIR)$(libdir)  
250 -  
251 -install-devel: \  
252 - $(BINRLS)/@DLLPREFIX@$(LIBNAME).a  
253 -  
254 - @mkdir -p $(DESTDIR)$(includedir)/lib$(LIBNAME)  
255 - @mkdir -p $(DESTDIR)$(libdir)/pkgconfig  
256 -  
257 - # Install static library  
258 - @$(INSTALL_DATA) \  
259 - $(BINRLS)/@DLLPREFIX@$(LIBNAME).a \  
260 - $(DESTDIR)$(libdir)  
261 -  
262 - # Link libraries  
263 - @$(LN_S) \  
264 - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \  
265 - $(DESTDIR)$(libdir)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@  
266 -  
267 - @$(LN_S) \  
268 - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \  
269 - $(DESTDIR)$(libdir)/@DLLPREFIX@$(LIBNAME)@DLLEXT@  
270 -  
271 - # Install includes  
272 - @$(INSTALL_DATA) \  
273 - src/include/lib3270/*.h \  
274 - $(DESTDIR)$(includedir)/lib$(LIBNAME)  
275 -  
276 - @$(INSTALL_DATA) \  
277 - src/include/lib3270.h \  
278 - $(DESTDIR)$(includedir)/lib$(LIBNAME).h  
279 -  
280 - # Install PKG-CONFIG files  
281 - @$(INSTALL_DATA) \  
282 - sdk/lib3270.pc \  
283 - $(DESTDIR)$(libdir)/pkgconfig/lib$(LIBNAME).pc 118 + $(BINRLS)/lib@LIB3270_NAME@@DLLEXT@
284 119
  120 + @$(MAKE) DESTDIR=$(DESTDIR) -C src/lib3270 $@
285 121
286 #---[ Debug Targets ]-------------------------------------------------------------------- 122 #---[ Debug Targets ]--------------------------------------------------------------------
287 123
288 Debug: \ 124 Debug: \
289 - $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@  
290 -  
291 -$(BINDBG)/@DLLPREFIX@$(LIBNAME)@EXEEXT@: \  
292 - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \  
293 - $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o) 125 + $(BINDBG)/lib@LIB3270_NAME@@DLLEXT@
294 126
295 - @$(MKDIR) `dirname $@`  
296 - @echo $< ...  
297 - $(LD) -o $@ $^ $(LDFLAGS) $(LIBS)  
298 -  
299 -run: \  
300 - $(BINDBG)/@DLLPREFIX@$(LIBNAME)@EXEEXT@  
301 -  
302 - @LD_LIBRARY_PATH=$(BINDBG) \  
303 - $(BINDBG)/@DLLPREFIX@$(LIBNAME)@EXEEXT@  
304 -  
305 -  
306 -$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@: \  
307 - $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@  
308 -  
309 - @echo $< ...  
310 - @rm -f $@  
311 - @$(LN_S) \  
312 - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \  
313 - $@  
314 -  
315 -$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \  
316 - $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@  
317 -  
318 - @rm -f $@  
319 - @$(LN_S) \  
320 - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \  
321 - $@  
322 -  
323 -$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \  
324 - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)  
325 -  
326 - @$(MKDIR) `dirname $@`  
327 - @echo $< ...  
328 - @$(LD) \  
329 - -shared -Wl,-soname,$(@F) \  
330 - -o $@ \  
331 - $(LDFLAGS) \  
332 - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \  
333 - $(LIBS)  
334 127
335 #---[ Clean Targets ]-------------------------------------------------------------------- 128 #---[ Clean Targets ]--------------------------------------------------------------------
336 129
@@ -338,19 +131,15 @@ clean: \ @@ -338,19 +131,15 @@ clean: \
338 cleanDebug \ 131 cleanDebug \
339 cleanRelease 132 cleanRelease
340 133
341 - @rm -fr $(BASEDIR)/.tmp/@DLLPREFIX@$(LIBNAME) 134 + @rm -fr $(POTDIR)
342 135
343 cleanDebug: 136 cleanDebug:
344 137
345 - @rm -fr $(OBJDBG)  
346 @rm -fr $(BINDBG) 138 @rm -fr $(BINDBG)
347 139
348 cleanRelease: 140 cleanRelease:
349 141
350 - @rm -fr $(OBJRLS)  
351 @rm -fr $(BINRLS) 142 @rm -fr $(BINRLS)
352 - @rm -fr $(POTDIR)  
353 - @rm -f lib$(LIBNAME).pot  
354 143
355 clean: \ 144 clean: \
356 cleanDebug \ 145 cleanDebug \
X3270.xad
@@ -1,2426 +0,0 @@ @@ -1,2426 +0,0 @@
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  
@@ -444,10 +444,12 @@ dnl --------------------------------------------------------------------------- @@ -444,10 +444,12 @@ dnl ---------------------------------------------------------------------------
444 dnl Configure which files to generate. 444 dnl Configure which files to generate.
445 dnl --------------------------------------------------------------------------- 445 dnl ---------------------------------------------------------------------------
446 446
447 -AC_CONFIG_FILES(sdk/lib3270.pc)  
448 -AC_CONFIG_FILES(src/lib3270/version.c)  
449 AC_CONFIG_FILES(Makefile) 447 AC_CONFIG_FILES(Makefile)
450 448
  449 +AC_CONFIG_FILES(src/lib3270/Makefile)
  450 +AC_CONFIG_FILES(src/lib3270/version.c)
  451 +AC_CONFIG_FILES(src/lib3270/lib3270.pc)
  452 +
451 dnl --------------------------------------------------------------------------- 453 dnl ---------------------------------------------------------------------------
452 dnl Output the generated config.status script. 454 dnl Output the generated config.status script.
453 dnl --------------------------------------------------------------------------- 455 dnl ---------------------------------------------------------------------------
sdk/lib3270.pc.in
@@ -1,16 +0,0 @@ @@ -1,16 +0,0 @@
1 -prefix=@prefix@  
2 -exec_prefix=@exec_prefix@  
3 -libdir=@libdir@  
4 -includedir=@includedir@  
5 -  
6 -version_major=@PACKAGE_MAJOR_VERSION@  
7 -version_minor=@PACKAGE_MINOR_VERSION@  
8 -sdk_version=@LIB3270_SDK_VERSION@  
9 -  
10 -Name: @PACKAGE_NAME@  
11 -Description: @PACKAGE_DESCRIPTION@  
12 -Version: @PACKAGE_VERSION@  
13 -Libs: -L\@libdir@ -l@LIB3270_NAME@  
14 -Libs.private: @LIBSSL_LIBS@  
15 -Cflags: -I@includedir@  
16 -  
src/lib3270++/local/session.cc
@@ -138,7 +138,7 @@ @@ -138,7 +138,7 @@
138 return (ConnectionState) lib3270_get_connection_state(this->hSession); 138 return (ConnectionState) lib3270_get_connection_state(this->hSession);
139 } 139 }
140 140
141 - /// @brief Set field at current posicion, jumps to next writable field. 141 + /// @brief Set field at current position, jumps to next writable field.
142 TN3270::Session & Local::Session::push(const char *text) { 142 TN3270::Session & Local::Session::push(const char *text) {
143 std::lock_guard<std::mutex> lock(sync); 143 std::lock_guard<std::mutex> lock(sync);
144 return *this; 144 return *this;
src/lib3270/Makefile.in 0 → 100644
@@ -0,0 +1,358 @@ @@ -0,0 +1,358 @@
  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 +#
  26 +
  27 +#---[ Library configuration ]------------------------------------------------------------
  28 +
  29 +LIBNAME=lib@LIB3270_NAME@
  30 +
  31 +SOURCES= \
  32 + $(wildcard *.c) \
  33 + $(wildcard @OSNAME@/*.c) \
  34 + $(wildcard @OSNAME@/*.rc) \
  35 + $(BASEDIR)/.tmp/$(LIBNAME)/fallbacks.c
  36 +
  37 +TEST_SOURCES= \
  38 + $(wildcard src/testprogram/*.c)
  39 +
  40 +#---[ Tools ]----------------------------------------------------------------------------
  41 +
  42 +CC=@CC@
  43 +HOST_CC=@HOST_CC@
  44 +LD=@CC@
  45 +LN_S=@LN_S@
  46 +MKDIR=@MKDIR_P@
  47 +INSTALL=@INSTALL@
  48 +INSTALL_DATA=@INSTALL_DATA@
  49 +INSTALL_PROGRAM=@INSTALL_PROGRAM@
  50 +XGETTEXT=@XGETTEXT@
  51 +MSGCAT=@MSGCAT@
  52 +WINDRES=@WINDRES@
  53 +AR=@AR@
  54 +
  55 +#---[ Paths ]----------------------------------------------------------------------------
  56 +
  57 +prefix=@prefix@
  58 +exec_prefix=@exec_prefix@
  59 +bindir=@bindir@
  60 +sbindir=@sbindir@
  61 +libdir=@libdir@
  62 +includedir=@includedir@
  63 +datarootdir=@datarootdir@
  64 +localedir=@localedir@
  65 +docdir=@docdir@
  66 +sysconfdir=@sysconfdir@
  67 +
  68 +BASEDIR=@BASEDIR@
  69 +
  70 +POTDIR=$(BASEDIR)/.pot
  71 +
  72 +OBJDIR=$(BASEDIR)/.obj/$(LIBNAME)
  73 +OBJDBG=$(OBJDIR)/Debug
  74 +OBJRLS=$(OBJDIR)/Release
  75 +
  76 +BINDIR=$(BASEDIR)/.bin
  77 +BINDBG=$(BINDIR)/Debug
  78 +BINRLS=$(BINDIR)/Release
  79 +
  80 +#---[ Rules ]----------------------------------------------------------------------------
  81 +
  82 +DEPENDS= \
  83 + Makefile \
  84 + ../include/*.h \
  85 + ../include/lib3270/*.h \
  86 + ../lib3270/*.h
  87 +
  88 +
  89 +CFLAGS= \
  90 + @CFLAGS@ \
  91 + -g \
  92 + -I../include
  93 + -DBUILD_DATE=`date +%Y%m%d` \
  94 + @LIBSSL_CFLAGS@
  95 +
  96 +LIBS= \
  97 + @LIBS@ \
  98 + @LIBSSL_LIBS@ \
  99 + @LIBICONV@ \
  100 + @INTL_LIBS@
  101 +
  102 +#---[ Debug Rules ]----------------------------------------------------------------------
  103 +
  104 +$(OBJDBG)/%.o: \
  105 + %.c \
  106 + $(DEPENDS)
  107 +
  108 + @echo $< ...
  109 + @$(MKDIR) `dirname $@`
  110 + @$(CC) \
  111 + $(CFLAGS) \
  112 + -Wall -Wextra -fstack-check \
  113 + -DDEBUG=1 \
  114 + -o $@ -c $<
  115 +
  116 +$(OBJDBG)/%.o: \
  117 + %.rc
  118 +
  119 + @echo $< ...
  120 + @$(MKDIR) `dirname $@`
  121 + @$(WINDRES) $< -O coff -o $@
  122 +
  123 +#---[ Release Rules ]--------------------------------------------------------------------
  124 +
  125 +$(OBJRLS)/%.o: \
  126 + %.c \
  127 + $(DEPENDS)
  128 +
  129 + @echo $< ...
  130 + @$(MKDIR) `dirname $@`
  131 + @$(CC) \
  132 + $(CFLAGS) \
  133 + -DNDEBUG=1 \
  134 + -o $@ -c $<
  135 +
  136 +$(OBJRLS)/%.o: \
  137 + %.rc
  138 +
  139 + @echo $< ...
  140 + @$(MKDIR) `dirname $@`
  141 + @$(WINDRES) $< -O coff -o $@
  142 +
  143 +#---[ Misc Rules ]-----------------------------------------------------------------------
  144 +
  145 +$(POTDIR)/$(LIBNAME)/%.pot: \
  146 + %.c
  147 +
  148 + @echo $(notdir $@) ...
  149 + @$(MKDIR) `dirname $@`
  150 + @$(XGETTEXT) \
  151 + --language=C \
  152 + --keyword=_ \
  153 + --keyword=N_ \
  154 + --keyword=MSG_:2 \
  155 + --output=$@ \
  156 + $<
  157 + @touch $@
  158 +
  159 +$(POTDIR)/$(LIBNAME)/%.pot: \
  160 + %.rc
  161 +
  162 + @echo $< ...
  163 + @$(MKDIR) `dirname $@`
  164 + @touch $@
  165 +
  166 +#---[ Release Targets ]------------------------------------------------------------------
  167 +
  168 +all: \
  169 + $(BINRLS)/$(LIBNAME)@DLLEXT@ \
  170 + $(BINRLS)/$(LIBNAME).a \
  171 + $(POTDIR)/$(LIBNAME).pot
  172 +
  173 +
  174 +Release: \
  175 + $(BINRLS)/$(LIBNAME)@DLLEXT@ \
  176 + $(BINRLS)/$(LIBNAME).a
  177 +
  178 +$(BINRLS)/$(LIBNAME)@DLLEXT@: \
  179 + $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
  180 +
  181 + @echo $< ...
  182 + @rm -f $@
  183 + @$(LN_S) \
  184 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
  185 + $@
  186 +
  187 +$(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \
  188 + $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
  189 +
  190 + @rm -f $@
  191 + @$(LN_S) \
  192 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  193 + $@
  194 +
  195 +$(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
  196 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
  197 +
  198 + @$(MKDIR) `dirname $@`
  199 + @echo $< ...
  200 + @$(LD) \
  201 + -shared -Wl,-soname,$(@F) \
  202 + -o $@ \
  203 + $(LDFLAGS) \
  204 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) \
  205 + $(LIBS)
  206 +
  207 +$(BINRLS)/$(LIBNAME).a: \
  208 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
  209 +
  210 + @echo $@ ...
  211 + @$(MKDIR) `dirname $@`
  212 + @$(AR) rcs $@ $^
  213 +
  214 +
  215 +#---[ Install Targets ]------------------------------------------------------------------
  216 +
  217 +install: \
  218 + $(BINRLS)/$(LIBNAME)@DLLEXT@ \
  219 + $(BINRLS)/$(LIBNAME).a
  220 +
  221 + # Install library
  222 + @mkdir -p $(DESTDIR)$(libdir)
  223 +
  224 + @$(INSTALL_PROGRAM) \
  225 + $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  226 + $(DESTDIR)$(libdir)
  227 +
  228 +
  229 + @$(LN_S) \
  230 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  231 + $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
  232 +
  233 + @$(LN_S) \
  234 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
  235 + $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@
  236 +
  237 + # Install static library
  238 + @$(INSTALL_DATA) \
  239 + $(BINRLS)/$(LIBNAME).a \
  240 + $(DESTDIR)$(libdir)
  241 +
  242 + # Install SDK
  243 +
  244 + @mkdir -p $(DESTDIR)$(includedir)/$(LIBNAME)
  245 +
  246 + @$(INSTALL_DATA) \
  247 + ../include/$(LIBNAME)/*.h \
  248 + $(DESTDIR)$(includedir)/$(LIBNAME)
  249 +
  250 + @$(INSTALL_DATA) \
  251 + ../include/$(LIBNAME).h \
  252 + $(DESTDIR)$(includedir)/$(LIBNAME).h
  253 +
  254 + # Install PKG-CONFIG files
  255 + @mkdir -p $(DESTDIR)$(libdir)/pkgconfig
  256 + @$(INSTALL_DATA) \
  257 + $(LIBNAME).pc \
  258 + $(DESTDIR)$(libdir)/pkgconfig/$(LIBNAME).pc
  259 +
  260 +
  261 +#---[ Misc Targets ]---------------------------------------------------------------------
  262 +
  263 +$(BASEDIR)/.tmp/$(LIBNAME)/fallbacks.c: \
  264 + X3270.xad \
  265 + $(wildcard mkfb/*.c)
  266 +
  267 + @$(MKDIR) `dirname $@`
  268 + @$(MKDIR) $(BINDIR)
  269 + @echo $< ...
  270 + @$(HOST_CC) -g -o $(BINDIR)/mkfb@EXEEXT@ $(wildcard mkfb/*.c)
  271 + @$(BINDIR)/mkfb@EXEEXT@ -c X3270.xad $@
  272 +
  273 +$(POTDIR)/$(LIBNAME).pot: \
  274 + $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(LIBNAME)/$(SRC).pot)
  275 +
  276 + @rm -f $@
  277 + @mkdir -p `dirname $@`
  278 + @$(MSGCAT) --sort-output $^ > $@
  279 +
  280 +locale: \
  281 + lib$(LIBNAME).pot
  282 +
  283 +
  284 +#---[ Debug Targets ]--------------------------------------------------------------------
  285 +
  286 +Debug: \
  287 + $(BINDBG)/$(LIBNAME)@DLLEXT@
  288 +
  289 +$(BINDBG)/$(LIBNAME)@EXEEXT@: \
  290 + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \
  291 + $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o)
  292 +
  293 + @$(MKDIR) `dirname $@`
  294 + @echo $< ...
  295 + $(LD) -o $@ $^ $(LDFLAGS) $(LIBS)
  296 +
  297 +run: \
  298 + $(BINDBG)/$(LIBNAME)@EXEEXT@
  299 +
  300 + @LD_LIBRARY_PATH=$(BINDBG) \
  301 + $(BINDBG)/$(LIBNAME)@EXEEXT@
  302 +
  303 +
  304 +$(BINDBG)/$(LIBNAME)@DLLEXT@: \
  305 + $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
  306 +
  307 + @echo $< ...
  308 + @rm -f $@
  309 + @$(LN_S) \
  310 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
  311 + $@
  312 +
  313 +$(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \
  314 + $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
  315 +
  316 + @rm -f $@
  317 + @$(LN_S) \
  318 + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  319 + $@
  320 +
  321 +$(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
  322 + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
  323 +
  324 + @$(MKDIR) `dirname $@`
  325 + @echo $< ...
  326 + @$(LD) \
  327 + -shared -Wl,-soname,$(@F) \
  328 + -o $@ \
  329 + $(LDFLAGS) \
  330 + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \
  331 + $(LIBS)
  332 +
  333 +#---[ Clean Targets ]--------------------------------------------------------------------
  334 +
  335 +clean: \
  336 + cleanDebug \
  337 + cleanRelease
  338 +
  339 + @rm -fr $(BASEDIR)/.tmp/$(LIBNAME)
  340 + @rm -fr $(POTDIR)/$(LIBNAME)
  341 +
  342 +cleanDebug:
  343 +
  344 + @rm -fr $(OBJDBG)
  345 + @rm -fr $(BINDBG)
  346 +
  347 +cleanRelease:
  348 +
  349 + @rm -fr $(OBJRLS)
  350 + @rm -fr $(BINRLS)
  351 + @rm -fr $(POTDIR)
  352 + @rm -f lib$(LIBNAME).pot
  353 +
  354 +clean: \
  355 + cleanDebug \
  356 + cleanRelease
  357 +
  358 +
src/lib3270/X3270.xad 0 → 100644
@@ -0,0 +1,2426 @@ @@ -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/lib3270.pc.in 0 → 100644
@@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
  1 +prefix=@prefix@
  2 +exec_prefix=@exec_prefix@
  3 +libdir=@libdir@
  4 +includedir=@includedir@
  5 +
  6 +version_major=@PACKAGE_MAJOR_VERSION@
  7 +version_minor=@PACKAGE_MINOR_VERSION@
  8 +sdk_version=@LIB3270_SDK_VERSION@
  9 +
  10 +Name: @PACKAGE_NAME@
  11 +Description: @PACKAGE_DESCRIPTION@
  12 +Version: @PACKAGE_VERSION@
  13 +Libs: -L\@libdir@ -l@LIB3270_NAME@
  14 +Libs.private: @LIBSSL_LIBS@
  15 +Cflags: -I@includedir@
  16 +
src/lib3270/mkfb/mkfb.c 0 → 100644
@@ -0,0 +1,662 @@ @@ -0,0 +1,662 @@
  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. 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., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como mkfb.c e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 +/*
  31 + * mkfb.c
  32 + * Utility to create RDB string definitions from a simple #ifdef'd .ad
  33 + * file
  34 + */
  35 +
  36 +#include "../../include/config.h"
  37 +
  38 +
  39 +#if defined( WIN32 )
  40 + #include <windows.h>
  41 + #define tmpfile w32_tmpfile
  42 +#elif defined( __APPLE__ )
  43 + #define tmpfile osx_tmpfile
  44 +#endif // OS
  45 +
  46 +#include <sys/stat.h>
  47 +#include <fcntl.h>
  48 +
  49 +#include <stdio.h>
  50 +#include <string.h>
  51 +#include <ctype.h>
  52 +#include <stdlib.h>
  53 +#include <errno.h>
  54 +
  55 +#define BUFSZ 1024 /* input line buffer size */
  56 +#define ARRSZ 8192 /* output array size */
  57 +#define SSSZ 10 /* maximum nested ifdef */
  58 +
  59 +unsigned aix[ARRSZ]; /* fallback array indices */
  60 +unsigned xlno[ARRSZ]; /* fallback array line numbers */
  61 +unsigned n_fallbacks = 0; /* number of fallback entries */
  62 +
  63 +/* ifdef state stack */
  64 +#define MODE_COLOR 0x00000001
  65 +#define MODE_FT 0x00000002
  66 +#define MODE_TRACE 0x00000004
  67 +#define MODE_MENUS 0x00000008
  68 +#define MODE_ANSI 0x00000010
  69 +#define MODE_KEYPAD 0x00000020
  70 +#define MODE_APL 0x00000040
  71 +#define MODE_PRINTER 0x00000080
  72 +#define MODE_STANDALONE 0x00000100
  73 +#define MODE_SCRIPT 0x00000200
  74 +#define MODE_DBCS 0x00000400
  75 +#define MODE__WIN32 0x00000800
  76 +
  77 +#define MODEMASK 0x00000fff
  78 +
  79 +struct {
  80 + unsigned long ifdefs;
  81 + unsigned long ifndefs;
  82 + unsigned lno;
  83 +} ss[SSSZ];
  84 +int ssp = 0;
  85 +
  86 +struct {
  87 + const char *name;
  88 + unsigned long mask;
  89 +} parts[] = {
  90 + { "COLOR", MODE_COLOR },
  91 + { "X3270_FT", MODE_FT },
  92 + { "X3270_TRACE", MODE_TRACE },
  93 + { "X3270_MENUS", MODE_MENUS },
  94 + { "X3270_ANSI", MODE_ANSI },
  95 + { "X3270_KEYPAD", MODE_KEYPAD },
  96 + { "X3270_APL", MODE_APL },
  97 + { "X3270_PRINTER", MODE_PRINTER },
  98 + { "STANDALONE", MODE_STANDALONE },
  99 + { "X3270_SCRIPT", MODE_SCRIPT },
  100 + { "X3270_DBCS", MODE_DBCS },
  101 + { "_WIN32", MODE__WIN32 }
  102 +};
  103 +#define NPARTS (sizeof(parts)/sizeof(parts[0]))
  104 +
  105 +unsigned long is_defined =
  106 + MODE_COLOR |
  107 +#if defined(X3270_FT)
  108 + MODE_FT
  109 +#else
  110 + 0
  111 +#endif
  112 +|
  113 +#if defined(X3270_TRACE)
  114 + MODE_TRACE
  115 +#else
  116 + 0
  117 +#endif
  118 +|
  119 +#if defined(X3270_MENUS)
  120 + MODE_MENUS
  121 +#else
  122 + 0
  123 +#endif
  124 +|
  125 +#if defined(X3270_ANSI)
  126 + MODE_ANSI
  127 +#else
  128 + 0
  129 +#endif
  130 +|
  131 +#if defined(X3270_KEYPAD)
  132 + MODE_KEYPAD
  133 +#else
  134 + 0
  135 +#endif
  136 +|
  137 +#if defined(X3270_APL)
  138 + MODE_APL
  139 +#else
  140 + 0
  141 +#endif
  142 +|
  143 +#if defined(X3270_PRINTER)
  144 + MODE_PRINTER
  145 +#else
  146 + 0
  147 +#endif
  148 +|
  149 +#if defined(X3270_SCRIPT)
  150 + MODE_SCRIPT
  151 +#else
  152 + 0
  153 +#endif
  154 +|
  155 +#if defined(X3270_DBCS)
  156 + MODE_DBCS
  157 +#else
  158 + 0
  159 +#endif
  160 +|
  161 +#if defined(_WIN32)
  162 + MODE__WIN32
  163 +#else
  164 + 0
  165 +#endif
  166 + ;
  167 +unsigned long is_undefined;
  168 +
  169 +char *me;
  170 +
  171 +void emit(FILE *t, int ix, char c);
  172 +
  173 +void
  174 +usage(void)
  175 +{
  176 + fprintf(stderr, "usage: %s [infile [outfile]]\n", me);
  177 + exit(1);
  178 +}
  179 +
  180 +int
  181 +main(int argc, char *argv[])
  182 +{
  183 + char buf[BUFSZ];
  184 + int lno = 0;
  185 + int cc = 0;
  186 + int i;
  187 + int continued = 0;
  188 + const char *filename = "standard input";
  189 + FILE *u, *t, *tc = NULL, *tm = NULL, *o;
  190 + int cmode = 0;
  191 + unsigned long ifdefs;
  192 + unsigned long ifndefs;
  193 + int last_continue = 0;
  194 +
  195 + /* Parse arguments. */
  196 + if ((me = strrchr(argv[0], '/')) != (char *)NULL)
  197 + me++;
  198 + else
  199 + me = argv[0];
  200 + if (argc > 1 && !strcmp(argv[1], "-c")) {
  201 + cmode = 1;
  202 + is_defined |= MODE_STANDALONE;
  203 + argc--;
  204 + argv++;
  205 + }
  206 + switch (argc) {
  207 + case 1:
  208 + break;
  209 + case 2:
  210 + case 3:
  211 + if (strcmp(argv[1], "-")) {
  212 + if (freopen(argv[1], "r", stdin) == (FILE *)NULL) {
  213 + perror(argv[1]);
  214 + exit(1);
  215 + }
  216 + filename = argv[1];
  217 + }
  218 + break;
  219 + default:
  220 + usage();
  221 + }
  222 +
  223 + is_undefined = MODE_COLOR | (~is_defined & MODEMASK);
  224 +
  225 + /* Do #ifdef, comment and whitespace processing first. */
  226 + u = tmpfile();
  227 + if (u == NULL) {
  228 + perror("tmpfile");
  229 + exit(1);
  230 + }
  231 +
  232 + while (fgets(buf, BUFSZ, stdin) != (char *)NULL) {
  233 + char *s = buf;
  234 + int sl;
  235 + int i;
  236 +
  237 + lno++;
  238 +
  239 + /* Skip leading white space. */
  240 + while (isspace(*s))
  241 + s++;
  242 + if (cmode &&
  243 + (!strncmp(s, "x3270.", 6) || !strncmp(s, "x3270*", 6))) {
  244 + s += 6;
  245 + }
  246 +
  247 + /* Remove trailing white space. */
  248 + while ((sl = strlen(s)) && isspace(s[sl-1]))
  249 + s[sl-1] = '\0';
  250 +
  251 + /* Skip comments and empty lines. */
  252 + if ((!last_continue && *s == '!') || !*s)
  253 + continue;
  254 +
  255 + /* Check for simple if[n]defs. */
  256 + if (*s == '#') {
  257 + int ifnd = 1;
  258 +
  259 + if (!strncmp(s, "#ifdef ", 7) ||
  260 + !(ifnd = strncmp(s, "#ifndef ", 8))) {
  261 + char *tk;
  262 +
  263 + if (ssp >= SSSZ) {
  264 + fprintf(stderr,
  265 + "%s, line %d: Stack overflow\n",
  266 + filename, lno);
  267 + exit(1);
  268 + }
  269 + ss[ssp].ifdefs = 0L;
  270 + ss[ssp].ifndefs = 0L;
  271 + ss[ssp].lno = lno;
  272 +
  273 + tk = s + 7 + !ifnd;
  274 + for (i = 0; i < NPARTS; i++) {
  275 + if (!strcmp(tk, parts[i].name)) {
  276 + if (!ifnd)
  277 + ss[ssp++].ifndefs =
  278 + parts[i].mask;
  279 + else
  280 + ss[ssp++].ifdefs =
  281 + parts[i].mask;
  282 + break;
  283 + }
  284 + }
  285 + if (i >= NPARTS) {
  286 + fprintf(stderr,
  287 + "%s, line %d: Unknown condition\n",
  288 + filename, lno);
  289 + exit(1);
  290 + }
  291 + continue;
  292 + }
  293 +
  294 + else if (!strcmp(s, "#else")) {
  295 + unsigned long tmp;
  296 +
  297 + if (!ssp) {
  298 + fprintf(stderr,
  299 + "%s, line %d: Missing #if[n]def\n",
  300 + filename, lno);
  301 + exit(1);
  302 + }
  303 + tmp = ss[ssp-1].ifdefs;
  304 + ss[ssp-1].ifdefs = ss[ssp-1].ifndefs;
  305 + ss[ssp-1].ifndefs = tmp;
  306 + } else if (!strcmp(s, "#endif")) {
  307 + if (!ssp) {
  308 + fprintf(stderr,
  309 + "%s, line %d: Missing #if[n]def\n",
  310 + filename, lno);
  311 + exit(1);
  312 + }
  313 + ssp--;
  314 + } else {
  315 + fprintf(stderr,
  316 + "%s, line %d: Unrecognized # directive\n",
  317 + filename, lno);
  318 + exit(1);
  319 + }
  320 + continue;
  321 + }
  322 +
  323 + /* Figure out if there's anything to emit. */
  324 +
  325 + /* First, look for contradictions. */
  326 + ifdefs = 0;
  327 + ifndefs = 0;
  328 + for (i = 0; i < ssp; i++) {
  329 + ifdefs |= ss[i].ifdefs;
  330 + ifndefs |= ss[i].ifndefs;
  331 + }
  332 + if (ifdefs & ifndefs) {
  333 +#ifdef DEBUG_IFDEFS
  334 + fprintf(stderr, "contradiction, line %d\n", lno);
  335 +#endif
  336 + continue;
  337 + }
  338 +
  339 + /* Then, apply the actual values. */
  340 + if (ifdefs && (ifdefs & is_defined) != ifdefs) {
  341 +#ifdef DEBUG_IFDEFS
  342 + fprintf(stderr, "ifdef failed, line %d\n", lno);
  343 +#endif
  344 + continue;
  345 + }
  346 + if (ifndefs && (ifndefs & is_undefined) != ifndefs) {
  347 +#ifdef DEBUG_IFDEFS
  348 + fprintf(stderr, "ifndef failed, line %d\n", lno);
  349 +#endif
  350 + continue;
  351 + }
  352 +
  353 + /* Emit the text. */
  354 + fprintf(u, "%lx %lx %d\n%s\n", ifdefs, ifndefs, lno, s);
  355 + last_continue = strlen(s) > 0 && s[strlen(s) - 1] == '\\';
  356 + }
  357 + if (ssp) {
  358 + fprintf(stderr, "%d missing #endif(s) in %s\n", ssp, filename);
  359 + fprintf(stderr, "last #ifdef was at line %u\n", ss[ssp-1].lno);
  360 + exit(1);
  361 + }
  362 +
  363 + /* Re-scan, emitting code this time. */
  364 + rewind(u);
  365 + t = tmpfile();
  366 + if (t == NULL) {
  367 + perror("tmpfile");
  368 + exit(1);
  369 + }
  370 + if (!cmode) {
  371 + tc = tmpfile();
  372 + if (tc == NULL) {
  373 + perror("tmpfile");
  374 + exit(1);
  375 + }
  376 + tm = tmpfile();
  377 + if (tm == NULL) {
  378 + perror("tmpfile");
  379 + exit(1);
  380 + }
  381 + }
  382 +
  383 + /* Emit the initial boilerplate. */
  384 + fprintf(t, "/* This file was created automatically from %s by mkfb. */\n\n",
  385 + filename);
  386 + if (cmode) {
  387 + fprintf(t, "#include \"../../src/lib3270/private.h\"\n");
  388 + fprintf(t, "static unsigned char fsd[] = {\n");
  389 + } else {
  390 + fprintf(t, "unsigned char common_fallbacks[] = {\n");
  391 + fprintf(tc, "unsigned char color_fallbacks[] = {\n");
  392 + fprintf(tm, "unsigned char mono_fallbacks[] = {\n");
  393 + }
  394 +
  395 + /* Scan the file, emitting the fsd array and creating the indices. */
  396 + while (fscanf(u, "%lx %lx %d\n", &ifdefs, &ifndefs, &lno) == 3) {
  397 + char *s = buf;
  398 + char c;
  399 + int white;
  400 + FILE *t_this = t;
  401 + int ix = 0;
  402 +
  403 + if (fgets(buf, BUFSZ, u) == NULL)
  404 + break;
  405 + if (strlen(buf) > 0 && buf[strlen(buf)-1] == '\n')
  406 + buf[strlen(buf)-1] = '\0';
  407 +
  408 +#if 0
  409 + fprintf(stderr, "%lx %lx %d %s\n", ifdefs, ifndefs, lno, buf);
  410 +#endif
  411 +
  412 + /* Add array offsets. */
  413 + if (cmode) {
  414 + /* Ignore color. Accumulate offsets into an array. */
  415 + if (n_fallbacks >= ARRSZ) {
  416 + fprintf(stderr, "%s, line %d: Buffer overflow\n", filename, lno);
  417 + exit(1);
  418 + }
  419 + aix[n_fallbacks] = cc;
  420 + xlno[n_fallbacks++] = lno;
  421 + } else {
  422 + /* Use color to decide which file to write into. */
  423 + if (!(ifdefs & MODE_COLOR) && !(ifndefs & MODE_COLOR)) {
  424 + /* Both. */
  425 + t_this = t;
  426 + ix = 0;
  427 + } else if (ifdefs & MODE_COLOR) {
  428 + /* Just color. */
  429 + t_this = tc;
  430 + ix = 1;
  431 + } else {
  432 + /* Just mono. */
  433 + t_this = tm;
  434 + ix = 2;
  435 + }
  436 + }
  437 +
  438 + continued = 0;
  439 + white = 0;
  440 + while ((c = *s++) != '\0') {
  441 + if (c == ' ' || c == '\t')
  442 + white++;
  443 + else if (white) {
  444 + emit(t_this, ix, ' ');
  445 + cc++;
  446 + white = 0;
  447 + }
  448 + switch (c) {
  449 + case ' ':
  450 + case '\t':
  451 + break;
  452 + case '#':
  453 + if (!cmode) {
  454 + emit(t_this, ix, '\\');
  455 + emit(t_this, ix, '#');
  456 + cc += 2;
  457 + } else {
  458 + emit(t_this, ix, c);
  459 + cc++;
  460 + }
  461 + break;
  462 + case '\\':
  463 + if (*s == '\0') {
  464 + continued = 1;
  465 + break;
  466 + } else if (cmode) {
  467 + switch ((c = *s++)) {
  468 + case 't':
  469 + c = '\t';
  470 + break;
  471 + case 'n':
  472 + c = '\n';
  473 + break;
  474 + default:
  475 + break;
  476 + }
  477 + }
  478 + /* else fall through */
  479 + default:
  480 + emit(t_this, ix, c);
  481 + cc++;
  482 + break;
  483 + }
  484 + }
  485 + if (white) {
  486 + emit(t_this, ix, ' ');
  487 + cc++;
  488 + white = 0;
  489 + }
  490 + if (!continued) {
  491 + if (cmode)
  492 + emit(t_this, ix, 0);
  493 + else
  494 + emit(t_this, ix, '\n');
  495 + cc++;
  496 + }
  497 + }
  498 + fclose(u);
  499 + if (cmode)
  500 + fprintf(t, "};\n\n");
  501 + else {
  502 + emit(t, 0, 0);
  503 + fprintf(t, "};\n\n");
  504 + emit(tc, 0, 0);
  505 + fprintf(tc, "};\n\n");
  506 + emit(tm, 0, 0);
  507 + fprintf(tm, "};\n\n");
  508 + }
  509 +
  510 +
  511 + /* Open the output file. */
  512 + if (argc == 3) {
  513 + o = fopen(argv[2], "w");
  514 + if (o == NULL) {
  515 + perror(argv[2]);
  516 + exit(1);
  517 + }
  518 + } else
  519 + o = stdout;
  520 +
  521 + /* Copy tmp to output. */
  522 + rewind(t);
  523 + if (!cmode) {
  524 + rewind(tc);
  525 + rewind(tm);
  526 + }
  527 + while (fgets(buf, sizeof(buf), t) != NULL) {
  528 + fprintf(o, "%s", buf);
  529 + }
  530 + if (!cmode) {
  531 + while (fgets(buf, sizeof(buf), tc) != NULL) {
  532 + fprintf(o, "%s", buf);
  533 + }
  534 + while (fgets(buf, sizeof(buf), tm) != NULL) {
  535 + fprintf(o, "%s", buf);
  536 + }
  537 + }
  538 +
  539 + if (cmode) {
  540 + /* Emit the fallback array. */
  541 + fprintf(o, "String fallbacks[%u] = {\n", n_fallbacks + 1);
  542 + for (i = 0; i < n_fallbacks; i++) {
  543 + fprintf(o, "\t(String)&fsd[%u], /* line %u */\n",
  544 + aix[i],
  545 + xlno[i]);
  546 + }
  547 + fprintf(o, "\t(String)NULL\n};\n\n");
  548 +
  549 + /* Emit some test code. */
  550 + fprintf(o, "%s", "#if defined(DUMP) /*[*/\n\
  551 +#include <stdio.h>\n\
  552 +int\n\
  553 +main(int argc, char *argv[])\n\
  554 +{\n\
  555 + int i;\n\
  556 +\n\
  557 + for (i = 0; fallbacks[i] != NULL; i++)\n\
  558 + printf(\"%d: %s\\n\", i, fallbacks[i]);\n\
  559 + return 0;\n\
  560 +}\n");
  561 + fprintf(o, "#endif /*]*/\n\n");
  562 + }
  563 +
  564 + if (o != stdout)
  565 + fclose(o);
  566 + fclose(t);
  567 + if (!cmode) {
  568 + fclose(tc);
  569 + fclose(tm);
  570 + }
  571 +
  572 + return 0;
  573 +}
  574 +
  575 +static int n_out[3] = { 0, 0, 0 };
  576 +
  577 +void
  578 +emit(FILE *t, int ix, char c)
  579 +{
  580 + if (n_out[ix] >= 19) {
  581 + fprintf(t, "\n");
  582 + n_out[ix] = 0;
  583 + }
  584 + fprintf(t, "%3d,", (unsigned char)c);
  585 + n_out[ix]++;
  586 +}
  587 +
  588 +#if defined(_WIN32)
  589 +FILE * w32_tmpfile( void )
  590 +{
  591 + char *dir;
  592 + char *xtemplate;
  593 + DWORD retval;
  594 + size_t len;
  595 + int fd;
  596 + FILE *file = NULL;
  597 +
  598 + dir = (char *) malloc(PATH_MAX);
  599 + xtemplate = (char *) malloc(PATH_MAX);
  600 +
  601 + /* Find Windows temporary file directory.
  602 + We provide this as the directory argument to path_search
  603 + because Windows defines P_tmpdir to "\\" and will therefore
  604 + try to put all temporary files in the root (unless $TMPDIR
  605 + is set). */
  606 + retval = GetTempPath (PATH_MAX, dir);
  607 + if (retval == 0 || retval >= PATH_MAX - 1)
  608 + goto done;
  609 +
  610 + do
  611 + {
  612 + char *tempname = tempnam(dir,"XXXXXX");
  613 + if(!tempname)
  614 + goto done;
  615 +
  616 + fd = _open (tempname,_O_BINARY | _O_CREAT | _O_TEMPORARY | _O_EXCL | _O_RDWR,_S_IREAD | _S_IWRITE);
  617 + }
  618 + while (fd < 0 && errno == EEXIST);
  619 +
  620 + if (fd < 0)
  621 + goto done;
  622 +
  623 + file = _fdopen (fd, "w+b");
  624 + if (file == NULL)
  625 + {
  626 + int save_errno = errno;
  627 + _close (fd);
  628 + errno = save_errno;
  629 + }
  630 +
  631 + done:
  632 + free(xtemplate);
  633 + free(dir);
  634 + return file;
  635 +}
  636 +#elif defined( __APPLE__ )
  637 +FILE * osx_tmpfile( void )
  638 +{
  639 + int fd = -1;
  640 + FILE *file = NULL;
  641 +
  642 + do
  643 + {
  644 + char *tempname = tempnam(NULL,"XXXXXX");
  645 + if(!tempname)
  646 + return NULL;
  647 + fd = open (tempname,O_CREAT | O_EXCL | O_RDWR,S_IREAD | S_IWRITE);
  648 + } while (fd < 0 && errno == EEXIST);
  649 +
  650 +
  651 + file = fdopen (fd, "w+b");
  652 + if (file == NULL)
  653 + {
  654 + int save_errno = errno;
  655 + close (fd);
  656 + errno = save_errno;
  657 + }
  658 +
  659 + return file;
  660 +}
  661 +
  662 +#endif // _WIN32
src/mkfb/mkfb.c
@@ -1,662 +0,0 @@ @@ -1,662 +0,0 @@
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. 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., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
20 - *  
21 - * Este programa está nomeado como mkfb.c e possui - linhas de código.  
22 - *  
23 - * Contatos:  
24 - *  
25 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
26 - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)  
27 - *  
28 - */  
29 -  
30 -/*  
31 - * mkfb.c  
32 - * Utility to create RDB string definitions from a simple #ifdef'd .ad  
33 - * file  
34 - */  
35 -  
36 -#include "../include/config.h"  
37 -  
38 -  
39 -#if defined( WIN32 )  
40 - #include <windows.h>  
41 - #define tmpfile w32_tmpfile  
42 -#elif defined( __APPLE__ )  
43 - #define tmpfile osx_tmpfile  
44 -#endif // OS  
45 -  
46 -#include <sys/stat.h>  
47 -#include <fcntl.h>  
48 -  
49 -#include <stdio.h>  
50 -#include <string.h>  
51 -#include <ctype.h>  
52 -#include <stdlib.h>  
53 -#include <errno.h>  
54 -  
55 -#define BUFSZ 1024 /* input line buffer size */  
56 -#define ARRSZ 8192 /* output array size */  
57 -#define SSSZ 10 /* maximum nested ifdef */  
58 -  
59 -unsigned aix[ARRSZ]; /* fallback array indices */  
60 -unsigned xlno[ARRSZ]; /* fallback array line numbers */  
61 -unsigned n_fallbacks = 0; /* number of fallback entries */  
62 -  
63 -/* ifdef state stack */  
64 -#define MODE_COLOR 0x00000001  
65 -#define MODE_FT 0x00000002  
66 -#define MODE_TRACE 0x00000004  
67 -#define MODE_MENUS 0x00000008  
68 -#define MODE_ANSI 0x00000010  
69 -#define MODE_KEYPAD 0x00000020  
70 -#define MODE_APL 0x00000040  
71 -#define MODE_PRINTER 0x00000080  
72 -#define MODE_STANDALONE 0x00000100  
73 -#define MODE_SCRIPT 0x00000200  
74 -#define MODE_DBCS 0x00000400  
75 -#define MODE__WIN32 0x00000800  
76 -  
77 -#define MODEMASK 0x00000fff  
78 -  
79 -struct {  
80 - unsigned long ifdefs;  
81 - unsigned long ifndefs;  
82 - unsigned lno;  
83 -} ss[SSSZ];  
84 -int ssp = 0;  
85 -  
86 -struct {  
87 - const char *name;  
88 - unsigned long mask;  
89 -} parts[] = {  
90 - { "COLOR", MODE_COLOR },  
91 - { "X3270_FT", MODE_FT },  
92 - { "X3270_TRACE", MODE_TRACE },  
93 - { "X3270_MENUS", MODE_MENUS },  
94 - { "X3270_ANSI", MODE_ANSI },  
95 - { "X3270_KEYPAD", MODE_KEYPAD },  
96 - { "X3270_APL", MODE_APL },  
97 - { "X3270_PRINTER", MODE_PRINTER },  
98 - { "STANDALONE", MODE_STANDALONE },  
99 - { "X3270_SCRIPT", MODE_SCRIPT },  
100 - { "X3270_DBCS", MODE_DBCS },  
101 - { "_WIN32", MODE__WIN32 }  
102 -};  
103 -#define NPARTS (sizeof(parts)/sizeof(parts[0]))  
104 -  
105 -unsigned long is_defined =  
106 - MODE_COLOR |  
107 -#if defined(X3270_FT)  
108 - MODE_FT  
109 -#else  
110 - 0  
111 -#endif  
112 -|  
113 -#if defined(X3270_TRACE)  
114 - MODE_TRACE  
115 -#else  
116 - 0  
117 -#endif  
118 -|  
119 -#if defined(X3270_MENUS)  
120 - MODE_MENUS  
121 -#else  
122 - 0  
123 -#endif  
124 -|  
125 -#if defined(X3270_ANSI)  
126 - MODE_ANSI  
127 -#else  
128 - 0  
129 -#endif  
130 -|  
131 -#if defined(X3270_KEYPAD)  
132 - MODE_KEYPAD  
133 -#else  
134 - 0  
135 -#endif  
136 -|  
137 -#if defined(X3270_APL)  
138 - MODE_APL  
139 -#else  
140 - 0  
141 -#endif  
142 -|  
143 -#if defined(X3270_PRINTER)  
144 - MODE_PRINTER  
145 -#else  
146 - 0  
147 -#endif  
148 -|  
149 -#if defined(X3270_SCRIPT)  
150 - MODE_SCRIPT  
151 -#else  
152 - 0  
153 -#endif  
154 -|  
155 -#if defined(X3270_DBCS)  
156 - MODE_DBCS  
157 -#else  
158 - 0  
159 -#endif  
160 -|  
161 -#if defined(_WIN32)  
162 - MODE__WIN32  
163 -#else  
164 - 0  
165 -#endif  
166 - ;  
167 -unsigned long is_undefined;  
168 -  
169 -char *me;  
170 -  
171 -void emit(FILE *t, int ix, char c);  
172 -  
173 -void  
174 -usage(void)  
175 -{  
176 - fprintf(stderr, "usage: %s [infile [outfile]]\n", me);  
177 - exit(1);  
178 -}  
179 -  
180 -int  
181 -main(int argc, char *argv[])  
182 -{  
183 - char buf[BUFSZ];  
184 - int lno = 0;  
185 - int cc = 0;  
186 - int i;  
187 - int continued = 0;  
188 - const char *filename = "standard input";  
189 - FILE *u, *t, *tc = NULL, *tm = NULL, *o;  
190 - int cmode = 0;  
191 - unsigned long ifdefs;  
192 - unsigned long ifndefs;  
193 - int last_continue = 0;  
194 -  
195 - /* Parse arguments. */  
196 - if ((me = strrchr(argv[0], '/')) != (char *)NULL)  
197 - me++;  
198 - else  
199 - me = argv[0];  
200 - if (argc > 1 && !strcmp(argv[1], "-c")) {  
201 - cmode = 1;  
202 - is_defined |= MODE_STANDALONE;  
203 - argc--;  
204 - argv++;  
205 - }  
206 - switch (argc) {  
207 - case 1:  
208 - break;  
209 - case 2:  
210 - case 3:  
211 - if (strcmp(argv[1], "-")) {  
212 - if (freopen(argv[1], "r", stdin) == (FILE *)NULL) {  
213 - perror(argv[1]);  
214 - exit(1);  
215 - }  
216 - filename = argv[1];  
217 - }  
218 - break;  
219 - default:  
220 - usage();  
221 - }  
222 -  
223 - is_undefined = MODE_COLOR | (~is_defined & MODEMASK);  
224 -  
225 - /* Do #ifdef, comment and whitespace processing first. */  
226 - u = tmpfile();  
227 - if (u == NULL) {  
228 - perror("tmpfile");  
229 - exit(1);  
230 - }  
231 -  
232 - while (fgets(buf, BUFSZ, stdin) != (char *)NULL) {  
233 - char *s = buf;  
234 - int sl;  
235 - int i;  
236 -  
237 - lno++;  
238 -  
239 - /* Skip leading white space. */  
240 - while (isspace(*s))  
241 - s++;  
242 - if (cmode &&  
243 - (!strncmp(s, "x3270.", 6) || !strncmp(s, "x3270*", 6))) {  
244 - s += 6;  
245 - }  
246 -  
247 - /* Remove trailing white space. */  
248 - while ((sl = strlen(s)) && isspace(s[sl-1]))  
249 - s[sl-1] = '\0';  
250 -  
251 - /* Skip comments and empty lines. */  
252 - if ((!last_continue && *s == '!') || !*s)  
253 - continue;  
254 -  
255 - /* Check for simple if[n]defs. */  
256 - if (*s == '#') {  
257 - int ifnd = 1;  
258 -  
259 - if (!strncmp(s, "#ifdef ", 7) ||  
260 - !(ifnd = strncmp(s, "#ifndef ", 8))) {  
261 - char *tk;  
262 -  
263 - if (ssp >= SSSZ) {  
264 - fprintf(stderr,  
265 - "%s, line %d: Stack overflow\n",  
266 - filename, lno);  
267 - exit(1);  
268 - }  
269 - ss[ssp].ifdefs = 0L;  
270 - ss[ssp].ifndefs = 0L;  
271 - ss[ssp].lno = lno;  
272 -  
273 - tk = s + 7 + !ifnd;  
274 - for (i = 0; i < NPARTS; i++) {  
275 - if (!strcmp(tk, parts[i].name)) {  
276 - if (!ifnd)  
277 - ss[ssp++].ifndefs =  
278 - parts[i].mask;  
279 - else  
280 - ss[ssp++].ifdefs =  
281 - parts[i].mask;  
282 - break;  
283 - }  
284 - }  
285 - if (i >= NPARTS) {  
286 - fprintf(stderr,  
287 - "%s, line %d: Unknown condition\n",  
288 - filename, lno);  
289 - exit(1);  
290 - }  
291 - continue;  
292 - }  
293 -  
294 - else if (!strcmp(s, "#else")) {  
295 - unsigned long tmp;  
296 -  
297 - if (!ssp) {  
298 - fprintf(stderr,  
299 - "%s, line %d: Missing #if[n]def\n",  
300 - filename, lno);  
301 - exit(1);  
302 - }  
303 - tmp = ss[ssp-1].ifdefs;  
304 - ss[ssp-1].ifdefs = ss[ssp-1].ifndefs;  
305 - ss[ssp-1].ifndefs = tmp;  
306 - } else if (!strcmp(s, "#endif")) {  
307 - if (!ssp) {  
308 - fprintf(stderr,  
309 - "%s, line %d: Missing #if[n]def\n",  
310 - filename, lno);  
311 - exit(1);  
312 - }  
313 - ssp--;  
314 - } else {  
315 - fprintf(stderr,  
316 - "%s, line %d: Unrecognized # directive\n",  
317 - filename, lno);  
318 - exit(1);  
319 - }  
320 - continue;  
321 - }  
322 -  
323 - /* Figure out if there's anything to emit. */  
324 -  
325 - /* First, look for contradictions. */  
326 - ifdefs = 0;  
327 - ifndefs = 0;  
328 - for (i = 0; i < ssp; i++) {  
329 - ifdefs |= ss[i].ifdefs;  
330 - ifndefs |= ss[i].ifndefs;  
331 - }  
332 - if (ifdefs & ifndefs) {  
333 -#ifdef DEBUG_IFDEFS  
334 - fprintf(stderr, "contradiction, line %d\n", lno);  
335 -#endif  
336 - continue;  
337 - }  
338 -  
339 - /* Then, apply the actual values. */  
340 - if (ifdefs && (ifdefs & is_defined) != ifdefs) {  
341 -#ifdef DEBUG_IFDEFS  
342 - fprintf(stderr, "ifdef failed, line %d\n", lno);  
343 -#endif  
344 - continue;  
345 - }  
346 - if (ifndefs && (ifndefs & is_undefined) != ifndefs) {  
347 -#ifdef DEBUG_IFDEFS  
348 - fprintf(stderr, "ifndef failed, line %d\n", lno);  
349 -#endif  
350 - continue;  
351 - }  
352 -  
353 - /* Emit the text. */  
354 - fprintf(u, "%lx %lx %d\n%s\n", ifdefs, ifndefs, lno, s);  
355 - last_continue = strlen(s) > 0 && s[strlen(s) - 1] == '\\';  
356 - }  
357 - if (ssp) {  
358 - fprintf(stderr, "%d missing #endif(s) in %s\n", ssp, filename);  
359 - fprintf(stderr, "last #ifdef was at line %u\n", ss[ssp-1].lno);  
360 - exit(1);  
361 - }  
362 -  
363 - /* Re-scan, emitting code this time. */  
364 - rewind(u);  
365 - t = tmpfile();  
366 - if (t == NULL) {  
367 - perror("tmpfile");  
368 - exit(1);  
369 - }  
370 - if (!cmode) {  
371 - tc = tmpfile();  
372 - if (tc == NULL) {  
373 - perror("tmpfile");  
374 - exit(1);  
375 - }  
376 - tm = tmpfile();  
377 - if (tm == NULL) {  
378 - perror("tmpfile");  
379 - exit(1);  
380 - }  
381 - }  
382 -  
383 - /* Emit the initial boilerplate. */  
384 - fprintf(t, "/* This file was created automatically from %s by mkfb. */\n\n",  
385 - filename);  
386 - if (cmode) {  
387 - fprintf(t, "#include \"../../src/lib3270/private.h\"\n");  
388 - fprintf(t, "static unsigned char fsd[] = {\n");  
389 - } else {  
390 - fprintf(t, "unsigned char common_fallbacks[] = {\n");  
391 - fprintf(tc, "unsigned char color_fallbacks[] = {\n");  
392 - fprintf(tm, "unsigned char mono_fallbacks[] = {\n");  
393 - }  
394 -  
395 - /* Scan the file, emitting the fsd array and creating the indices. */  
396 - while (fscanf(u, "%lx %lx %d\n", &ifdefs, &ifndefs, &lno) == 3) {  
397 - char *s = buf;  
398 - char c;  
399 - int white;  
400 - FILE *t_this = t;  
401 - int ix = 0;  
402 -  
403 - if (fgets(buf, BUFSZ, u) == NULL)  
404 - break;  
405 - if (strlen(buf) > 0 && buf[strlen(buf)-1] == '\n')  
406 - buf[strlen(buf)-1] = '\0';  
407 -  
408 -#if 0  
409 - fprintf(stderr, "%lx %lx %d %s\n", ifdefs, ifndefs, lno, buf);  
410 -#endif  
411 -  
412 - /* Add array offsets. */  
413 - if (cmode) {  
414 - /* Ignore color. Accumulate offsets into an array. */  
415 - if (n_fallbacks >= ARRSZ) {  
416 - fprintf(stderr, "%s, line %d: Buffer overflow\n", filename, lno);  
417 - exit(1);  
418 - }  
419 - aix[n_fallbacks] = cc;  
420 - xlno[n_fallbacks++] = lno;  
421 - } else {  
422 - /* Use color to decide which file to write into. */  
423 - if (!(ifdefs & MODE_COLOR) && !(ifndefs & MODE_COLOR)) {  
424 - /* Both. */  
425 - t_this = t;  
426 - ix = 0;  
427 - } else if (ifdefs & MODE_COLOR) {  
428 - /* Just color. */  
429 - t_this = tc;  
430 - ix = 1;  
431 - } else {  
432 - /* Just mono. */  
433 - t_this = tm;  
434 - ix = 2;  
435 - }  
436 - }  
437 -  
438 - continued = 0;  
439 - white = 0;  
440 - while ((c = *s++) != '\0') {  
441 - if (c == ' ' || c == '\t')  
442 - white++;  
443 - else if (white) {  
444 - emit(t_this, ix, ' ');  
445 - cc++;  
446 - white = 0;  
447 - }  
448 - switch (c) {  
449 - case ' ':  
450 - case '\t':  
451 - break;  
452 - case '#':  
453 - if (!cmode) {  
454 - emit(t_this, ix, '\\');  
455 - emit(t_this, ix, '#');  
456 - cc += 2;  
457 - } else {  
458 - emit(t_this, ix, c);  
459 - cc++;  
460 - }  
461 - break;  
462 - case '\\':  
463 - if (*s == '\0') {  
464 - continued = 1;  
465 - break;  
466 - } else if (cmode) {  
467 - switch ((c = *s++)) {  
468 - case 't':  
469 - c = '\t';  
470 - break;  
471 - case 'n':  
472 - c = '\n';  
473 - break;  
474 - default:  
475 - break;  
476 - }  
477 - }  
478 - /* else fall through */  
479 - default:  
480 - emit(t_this, ix, c);  
481 - cc++;  
482 - break;  
483 - }  
484 - }  
485 - if (white) {  
486 - emit(t_this, ix, ' ');  
487 - cc++;  
488 - white = 0;  
489 - }  
490 - if (!continued) {  
491 - if (cmode)  
492 - emit(t_this, ix, 0);  
493 - else  
494 - emit(t_this, ix, '\n');  
495 - cc++;  
496 - }  
497 - }  
498 - fclose(u);  
499 - if (cmode)  
500 - fprintf(t, "};\n\n");  
501 - else {  
502 - emit(t, 0, 0);  
503 - fprintf(t, "};\n\n");  
504 - emit(tc, 0, 0);  
505 - fprintf(tc, "};\n\n");  
506 - emit(tm, 0, 0);  
507 - fprintf(tm, "};\n\n");  
508 - }  
509 -  
510 -  
511 - /* Open the output file. */  
512 - if (argc == 3) {  
513 - o = fopen(argv[2], "w");  
514 - if (o == NULL) {  
515 - perror(argv[2]);  
516 - exit(1);  
517 - }  
518 - } else  
519 - o = stdout;  
520 -  
521 - /* Copy tmp to output. */  
522 - rewind(t);  
523 - if (!cmode) {  
524 - rewind(tc);  
525 - rewind(tm);  
526 - }  
527 - while (fgets(buf, sizeof(buf), t) != NULL) {  
528 - fprintf(o, "%s", buf);  
529 - }  
530 - if (!cmode) {  
531 - while (fgets(buf, sizeof(buf), tc) != NULL) {  
532 - fprintf(o, "%s", buf);  
533 - }  
534 - while (fgets(buf, sizeof(buf), tm) != NULL) {  
535 - fprintf(o, "%s", buf);  
536 - }  
537 - }  
538 -  
539 - if (cmode) {  
540 - /* Emit the fallback array. */  
541 - fprintf(o, "String fallbacks[%u] = {\n", n_fallbacks + 1);  
542 - for (i = 0; i < n_fallbacks; i++) {  
543 - fprintf(o, "\t(String)&fsd[%u], /* line %u */\n",  
544 - aix[i],  
545 - xlno[i]);  
546 - }  
547 - fprintf(o, "\t(String)NULL\n};\n\n");  
548 -  
549 - /* Emit some test code. */  
550 - fprintf(o, "%s", "#if defined(DUMP) /*[*/\n\  
551 -#include <stdio.h>\n\  
552 -int\n\  
553 -main(int argc, char *argv[])\n\  
554 -{\n\  
555 - int i;\n\  
556 -\n\  
557 - for (i = 0; fallbacks[i] != NULL; i++)\n\  
558 - printf(\"%d: %s\\n\", i, fallbacks[i]);\n\  
559 - return 0;\n\  
560 -}\n");  
561 - fprintf(o, "#endif /*]*/\n\n");  
562 - }  
563 -  
564 - if (o != stdout)  
565 - fclose(o);  
566 - fclose(t);  
567 - if (!cmode) {  
568 - fclose(tc);  
569 - fclose(tm);  
570 - }  
571 -  
572 - return 0;  
573 -}  
574 -  
575 -static int n_out[3] = { 0, 0, 0 };  
576 -  
577 -void  
578 -emit(FILE *t, int ix, char c)  
579 -{  
580 - if (n_out[ix] >= 19) {  
581 - fprintf(t, "\n");  
582 - n_out[ix] = 0;  
583 - }  
584 - fprintf(t, "%3d,", (unsigned char)c);  
585 - n_out[ix]++;  
586 -}  
587 -  
588 -#if defined(_WIN32)  
589 -FILE * w32_tmpfile( void )  
590 -{  
591 - char *dir;  
592 - char *xtemplate;  
593 - DWORD retval;  
594 - size_t len;  
595 - int fd;  
596 - FILE *file = NULL;  
597 -  
598 - dir = (char *) malloc(PATH_MAX);  
599 - xtemplate = (char *) malloc(PATH_MAX);  
600 -  
601 - /* Find Windows temporary file directory.  
602 - We provide this as the directory argument to path_search  
603 - because Windows defines P_tmpdir to "\\" and will therefore  
604 - try to put all temporary files in the root (unless $TMPDIR  
605 - is set). */  
606 - retval = GetTempPath (PATH_MAX, dir);  
607 - if (retval == 0 || retval >= PATH_MAX - 1)  
608 - goto done;  
609 -  
610 - do  
611 - {  
612 - char *tempname = tempnam(dir,"XXXXXX");  
613 - if(!tempname)  
614 - goto done;  
615 -  
616 - fd = _open (tempname,_O_BINARY | _O_CREAT | _O_TEMPORARY | _O_EXCL | _O_RDWR,_S_IREAD | _S_IWRITE);  
617 - }  
618 - while (fd < 0 && errno == EEXIST);  
619 -  
620 - if (fd < 0)  
621 - goto done;  
622 -  
623 - file = _fdopen (fd, "w+b");  
624 - if (file == NULL)  
625 - {  
626 - int save_errno = errno;  
627 - _close (fd);  
628 - errno = save_errno;  
629 - }  
630 -  
631 - done:  
632 - free(xtemplate);  
633 - free(dir);  
634 - return file;  
635 -}  
636 -#elif defined( __APPLE__ )  
637 -FILE * osx_tmpfile( void )  
638 -{  
639 - int fd = -1;  
640 - FILE *file = NULL;  
641 -  
642 - do  
643 - {  
644 - char *tempname = tempnam(NULL,"XXXXXX");  
645 - if(!tempname)  
646 - return NULL;  
647 - fd = open (tempname,O_CREAT | O_EXCL | O_RDWR,S_IREAD | S_IWRITE);  
648 - } while (fd < 0 && errno == EEXIST);  
649 -  
650 -  
651 - file = fdopen (fd, "w+b");  
652 - if (file == NULL)  
653 - {  
654 - int save_errno = errno;  
655 - close (fd);  
656 - errno = save_errno;  
657 - }  
658 -  
659 - return file;  
660 -}  
661 -  
662 -#endif // _WIN32