diff --git a/Makefile.in b/Makefile.in index f0006f3..df8566e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -24,25 +24,11 @@ # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) # -#---[ Library configuration ]------------------------------------------------------------ - -LIBNAME=@LIB3270_NAME@ - -SOURCES= \ - $(wildcard src/lib3270/*.c) \ - $(wildcard src/lib3270/@OSNAME@/*.c) \ - $(wildcard src/lib3270/@OSNAME@/*.rc) \ - $(BASEDIR)/.tmp/@DLLPREFIX@$(LIBNAME)/fallbacks.c - -TEST_SOURCES= \ - $(wildcard src/testprogram/*.c) +MODULES= \ + lib@LIB3270_NAME@@DLLEXT@ #---[ Tools ]---------------------------------------------------------------------------- -CC=@CC@ -HOST_CC=@HOST_CC@ -LD=@CC@ -LN_S=@LN_S@ MKDIR=@MKDIR_P@ INSTALL=@INSTALL@ INSTALL_DATA=@INSTALL_DATA@ @@ -69,11 +55,11 @@ BASEDIR=@BASEDIR@ POTDIR=$(BASEDIR)/.pot -OBJDIR=$(BASEDIR)/.obj/@DLLPREFIX@$(LIBNAME) +OBJDIR=$(BASEDIR)/.obj OBJDBG=$(OBJDIR)/Debug OBJRLS=$(OBJDIR)/Release -BINDIR=$(BASEDIR)/.bin/@DLLPREFIX@$(LIBNAME) +BINDIR=$(BASEDIR)/.bin BINDBG=$(BINDIR)/Debug BINRLS=$(BINDIR)/Release @@ -86,251 +72,58 @@ DEPENDS= \ src/lib3270/*.h -CFLAGS= \ - @CFLAGS@ \ - -g \ - -Isrc/include - -DBUILD_DATE=`date +%Y%m%d` \ - @LIBSSL_CFLAGS@ - -LIBS= \ - @LIBS@ \ - @LIBSSL_LIBS@ \ - @LIBICONV@ \ - @INTL_LIBS@ - #---[ Debug Rules ]---------------------------------------------------------------------- -$(OBJDBG)/%.o: \ - %.c \ +$(BINDBG)/lib@LIB3270_NAME@@DLLEXT@: \ + src/lib3270/* \ $(DEPENDS) - @echo $< ... - @$(MKDIR) `dirname $@` - @$(CC) \ - $(CFLAGS) \ - -Wall -Wextra -fstack-check \ - -DDEBUG=1 \ - -o $@ -c $< - -$(OBJDBG)/%.o: \ - %.rc - - @echo $< ... - @$(MKDIR) `dirname $@` - @$(WINDRES) $< -O coff -o $@ + @$(MAKE) -C src/lib3270 $@ #---[ Release Rules ]-------------------------------------------------------------------- -$(OBJRLS)/%.o: \ - %.c \ +$(BINRLS)/lib@LIB3270_NAME@@DLLEXT@: \ + src/lib3270/* \ $(DEPENDS) - @echo $< ... - @$(MKDIR) `dirname $@` - @$(CC) \ - $(CFLAGS) \ - -DNDEBUG=1 \ - -o $@ -c $< - -$(OBJRLS)/%.o: \ - %.rc + @$(MAKE) -C src/lib3270 $@ - @echo $< ... - @$(MKDIR) `dirname $@` - @$(WINDRES) $< -O coff -o $@ #---[ Misc Rules ]----------------------------------------------------------------------- -$(POTDIR)/%.pot: \ - %.c - - @echo $(notdir $@) ... - @$(MKDIR) `dirname $@` - @$(XGETTEXT) \ - --language=C \ - --keyword=_ \ - --keyword=N_ \ - --keyword=MSG_:2 \ - --output=$@ \ - $< - @touch $@ +$(POTDIR)/lib@LIB3270_NAME@.pot: \ + src/lib3270/* \ + $(DEPENDS) -$(POTDIR)/%.pot: \ - %.rc + @$(MAKE) -C src/lib3270 $@ - @echo $< ... - @$(MKDIR) `dirname $@` - @touch $@ #---[ Release Targets ]------------------------------------------------------------------ all: \ - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ \ - lib$(LIBNAME).pot + $(BINRLS)/lib@LIB3270_NAME@@DLLEXT@ \ + lib@LIB3270_NAME@.pot Release: \ - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ \ - $(BINRLS)/@DLLPREFIX@$(LIBNAME).a - -$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@: \ - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ - - @echo $< ... - @rm -f $@ - @$(LN_S) \ - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ - $@ - -$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \ - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ - - @rm -f $@ - @$(LN_S) \ - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ - $@ - -$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) - - @$(MKDIR) `dirname $@` - @echo $< ... - @$(LD) \ - -shared -Wl,-soname,$(@F) \ - -o $@ \ - $(LDFLAGS) \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) \ - $(LIBS) - -$(BINRLS)/@DLLPREFIX@$(LIBNAME).a: \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) - - @echo $@ ... - @$(MKDIR) `dirname $@` - @$(AR) rcs $@ $^ - + $(BINRLS)/lib@LIB3270_NAME@@DLLEXT@ #---[ Misc Targets ]--------------------------------------------------------------------- -$(BASEDIR)/.tmp/@DLLPREFIX@$(LIBNAME)/fallbacks.c: \ - X3270.xad \ - $(wildcard src/mkfb/*.c) - - @$(MKDIR) `dirname $@` - @$(MKDIR) $(BINDIR) - @echo $< ... - @$(HOST_CC) -g -o $(BINDIR)/mkfb@EXEEXT@ $(wildcard src/mkfb/*.c) - @$(BINDIR)/mkfb@EXEEXT@ -c X3270.xad $@ - -lib$(LIBNAME).pot: \ - $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(SRC).pot) - - @rm -f $@ - @mkdir -p `dirname $@` - @$(MSGCAT) --sort-output $^ > $@ - -locale: \ - lib$(LIBNAME).pot - +lib@LIB3270_NAME@.pot: \ + $(POTDIR)/lib@LIB3270_NAME@.pot #---[ Install Targets ]------------------------------------------------------------------ install: \ - install-lib \ - install-devel - -install-lib: \ - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ - - @mkdir -p $(DESTDIR)$(libdir) - - @$(INSTALL_PROGRAM) \ - $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ - $(DESTDIR)$(libdir) - -install-devel: \ - $(BINRLS)/@DLLPREFIX@$(LIBNAME).a - - @mkdir -p $(DESTDIR)$(includedir)/lib$(LIBNAME) - @mkdir -p $(DESTDIR)$(libdir)/pkgconfig - - # Install static library - @$(INSTALL_DATA) \ - $(BINRLS)/@DLLPREFIX@$(LIBNAME).a \ - $(DESTDIR)$(libdir) - - # Link libraries - @$(LN_S) \ - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ - $(DESTDIR)$(libdir)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ - - @$(LN_S) \ - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ - $(DESTDIR)$(libdir)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ - - # Install includes - @$(INSTALL_DATA) \ - src/include/lib3270/*.h \ - $(DESTDIR)$(includedir)/lib$(LIBNAME) - - @$(INSTALL_DATA) \ - src/include/lib3270.h \ - $(DESTDIR)$(includedir)/lib$(LIBNAME).h - - # Install PKG-CONFIG files - @$(INSTALL_DATA) \ - sdk/lib3270.pc \ - $(DESTDIR)$(libdir)/pkgconfig/lib$(LIBNAME).pc + $(BINRLS)/lib@LIB3270_NAME@@DLLEXT@ + @$(MAKE) DESTDIR=$(DESTDIR) -C src/lib3270 $@ #---[ Debug Targets ]-------------------------------------------------------------------- Debug: \ - $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ - -$(BINDBG)/@DLLPREFIX@$(LIBNAME)@EXEEXT@: \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \ - $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o) + $(BINDBG)/lib@LIB3270_NAME@@DLLEXT@ - @$(MKDIR) `dirname $@` - @echo $< ... - $(LD) -o $@ $^ $(LDFLAGS) $(LIBS) - -run: \ - $(BINDBG)/@DLLPREFIX@$(LIBNAME)@EXEEXT@ - - @LD_LIBRARY_PATH=$(BINDBG) \ - $(BINDBG)/@DLLPREFIX@$(LIBNAME)@EXEEXT@ - - -$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@: \ - $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ - - @echo $< ... - @rm -f $@ - @$(LN_S) \ - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ - $@ - -$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \ - $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ - - @rm -f $@ - @$(LN_S) \ - @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ - $@ - -$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) - - @$(MKDIR) `dirname $@` - @echo $< ... - @$(LD) \ - -shared -Wl,-soname,$(@F) \ - -o $@ \ - $(LDFLAGS) \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \ - $(LIBS) #---[ Clean Targets ]-------------------------------------------------------------------- @@ -338,19 +131,15 @@ clean: \ cleanDebug \ cleanRelease - @rm -fr $(BASEDIR)/.tmp/@DLLPREFIX@$(LIBNAME) + @rm -fr $(POTDIR) cleanDebug: - @rm -fr $(OBJDBG) @rm -fr $(BINDBG) cleanRelease: - @rm -fr $(OBJRLS) @rm -fr $(BINRLS) - @rm -fr $(POTDIR) - @rm -f lib$(LIBNAME).pot clean: \ cleanDebug \ diff --git a/X3270.xad b/X3270.xad deleted file mode 100644 index f189b6c..0000000 --- a/X3270.xad +++ /dev/null @@ -1,2426 +0,0 @@ -! Copyright 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by Paul -! Mattes. -! Permission to use, copy, modify, and distribute this software and its -! documentation for any purpose and without fee is hereby granted, -! provided that the above copyright notice appear in all copies and that -! both that copyright notice and this permission notice appear in -! supporting documentation. -! -! x3270, c3270, s3270 and tcl3270 are distributed in the hope that they will -! be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file LICENSE -! for more details. -! -! x3270 app-defaults file. This file is generally compiled into x3270, rather -! than installed. -! -! This file is in three sections: -! -! (1) User-Modifiable Resources -! Resources that are likeliest to be modified by an end user. -! -! (2) Labels and Messages -! Resources that are likely to be modified for translation into another -! language. -! -! (3) Base-Level Resources -! Resources required for the basic operation of x3270, not for the -! faint-hearted to modify. -! -!============================================================================= -! Section 1: User-Modifiable Resources -! -! Resources that are likeliest to be modified by an end user. -!============================================================================= -! -! Many of the resource definitions are commented out, because they are -! the defaults defined in x3270 itself. They are listed here so you can -! easily uncomment and change them. -#ifndef STANDALONE -! -! Fonts -! *.emulatorFont: 3270 -! -! Color schemes for full-color (3279) mode -! Each scheme is a list of 23 items: -! 0 X color to use for IBM "neutral/black" (also used as ANSI color 0) -! 1 X color to use for IBM "blue" (also used for ANSI color 4) -! 2 X color to use for IBM "red" (also used for ANSI color 1) -! 3 X color to use for IBM "pink" (also used for ANSI color 5) -! 4 X color to use for IBM "green" (also used for ANSI color 2) -! 5 X color to use for IBM "turquoise" -! 6 X color to use for IBM "yellow" (also used for ANSI color 3) -! 7 X color to use for IBM "neutral/white" -! 8 X color to use for IBM "black" -! 9 X color to use for IBM "deep blue" -! 10 X color to use for IBM "orange" -! 11 X color to use for IBM "purple" -! 12 X color to use for IBM "pale green" -! 13 X color to use for IBM "pale turquoise" (also used for ANSI color 6) -! 14 X color to use for IBM "grey" -! 15 X color to use for IBM "white" (also used for ANSI color 7) -! 16 X color to use if one of 0..15 cannot be allocated (white or black) -! 17 X color to use as the default screen background -! 18 X color to use as the select background -! 19 IBM color index (0..15) to use for unprotected, unhighlighted fields -! 20 IBM color index (0..15) to use for unprotected, highlighted fields -! 21 IBM color index (0..15) to use for protected, unhighlighted fields -! 22 IBM color index (0..15) to use for protected, highlighted fields -! -! x3270.colorScheme: default -x3270.colorScheme.default: \ - black deepSkyBlue red pink \ - green turquoise yellow white \ - black blue3 orange purple \ - paleGreen paleTurquoise2 grey white \ - white black dimGrey \ - 4 2 1 15 -x3270.colorScheme.reverse: \ - black blue firebrick pink \ - green4 cadetBlue goldenrod black \ - black blue3 orange purple \ - paleGreen darkTurquoise grey black \ - black white dimGrey \ - 4 2 1 0 -x3270.colorScheme.bright: \ - black blue red magenta \ - green turquoise yellow white \ - black blue3 orange purple \ - paleGreen cyan grey white \ - white black dimGrey \ - 4 2 1 15 -x3270.colorScheme.cpe: \ - black LightBlue1 PaleVioletRed1 \ - pink green turquoise yellow white \ - black LightBlue3 orange MediumPurple1 \ - paleGreen paleTurquoise2 grey80 white \ - white black dimGrey \ - 4 2 1 15 -x3270.colorScheme.greenScreen: \ - green green green green \ - green green green green \ - green green green green \ - green green green green \ - white black dimGrey \ - 4 15 4 15 -#ifdef X3270_MENUS -! Color schemes listed on the Options color menu -x3270.schemeList: Default 3279: default\n\ - Bright: bright\n\ - Reverse: reverse\n\ - Green Screen: greenScreen -! Character sets listed on the Options menu -x3270.charsetList: U.S. English (CP 37): us-intl\n\ - Bracket (CP 37, modified): bracket\n\ - APL (CP 37): apl\n\ - Euro>U.S. English (CP 1140): us-euro\n\ - Euro>Belgian (CP 1148): belgian-euro\n\ - Euro>Finnish (CP 1143): finnish-euro\n\ - Euro>French (CP 1147): french-euro\n\ - Euro>German (CP 1141): german-euro\n\ - Euro>Icelandic (CP 1149): icelandic-euro\n\ - Euro>Italian (CP 1144): italian-euro\n\ - Euro>Norwegian (CP 1142): norwegian-euro\n\ - Euro>Spanish (CP 1145): spanish-euro\n\ - Euro>United Kingdom (CP 1146): uk-euro\n\ - Belgian (CP 500): belgian\n\ - Brazilian (CP 275): brazilian\n\ -#ifdef X3270_DBCS - Chinese Simplified (CP 836+837): simplified-chinese\n\ - Chinese GB 18030 (CP 1388): chinese-gb18030\n\ -#endif - Finnish (CP 278): finnish\n\ - French (CP 297): french\n\ - German (CP 273): german\n\ - Greek (CP 875): greek\n\ - Hebrew (CP 424): hebrew\n\ - Icelandic (CP 871): icelandic\n\ - Italian (CP 280): italian\n\ -#ifdef X3270_DBCS - Japanese>CP 1027+300: japanese\n\ - Japanese>CP 290+300: japanese-290\n\ - Japanese>CP 930: japanese-930\n\ - Japanese>CP 939: japanese-939\n\ - Japanese>CP 1390: japanese-1390\n\ - Japanese>CP 1399: japanese-1399\n\ -#endif - Norwegian (CP 277): norwegian\n\ - Open Systems (CP 1047): cp1047\n\ - Polish (CP 870): cp870\n\ - Russian (CP 880): russian\n\ - Slovenian (CP 870): cp870\n\ - Spanish (CP 284): spanish\n\ - Thai (CP 838): thai\n\ - Turkish (CP 1026): turkish\n\ - United Kingdom (CP 285): uk\n -#endif -! -! Pseudo-colors for 3278 mode -! x3270.colorBackground: black -! x3270.selectBackground: dimGrey -! x3270.normalColor: green -! Note: the following values are the new defaults, which cause 3278's -! to display everything in green. -! x3270.inputColor: green -! x3270.boldColor: green -! To resurrect x3270's Pseudo-Color mode, which was how 3278's were -! displayed up through x3270 3.3.5, set the following resource values: -! x3270.inputColor: orange -! x3270.boldColor: cyan -! -! Cursors -! x3270.normalCursor: top_left_arrow -! x3270.waitCursor: watch -! x3270.lockedCursor: X_cursor -! -! Line-mode Telnet parameters -! x3270.icrnl: true -! x3270.inlcr: false -! x3270.erase: ^? -! x3270.kill: ^U -! x3270.werase: ^W -! x3270.rprnt: ^R -! x3270.lnext: ^V -! x3270.intr: ^C -! x3270.quit: ^\\ -! x3270.eof: ^D -! -! Toggles, using the same names as the "-set" and "-clear" options -! x3270.altCursor: false -! x3270.blankFill: false -! x3270.crosshair: false -! x3270.cursorBlink: false -! x3270.cursorPos: true -! x3270.dsTrace: false -! x3270.eventTrace: false -! x3270.lineWrap: true -! x3270.marginedPaste: false -! x3270.monoCase: false -! x3270.rectangleSelect: false -! x3270.screenTrace: false -! x3270.scrollBar: false -! x3270.showTiming: false -! -! Miscellaneous configuration parameters -! x3270.activeIcon: false -! x3270.allowResize: true -! x3270.bellVolume: 0 -! x3270.charset: bracket -! x3270.composeMap: latin1 -! x3270.connectFileName: ~/.x3270connect -! x3270.doConfirms: true -! x3270.debugTracing: true -! x3270.disconnectClear: false -! x3270.hostsFile: /usr/lib/X11/x3270/ibm_hosts -! x3270.highlightSelect: true -! x3270.idleCommand: -! x3270.idleTimeout: ~7m -! x3270.inputMethod: -! x3270.invertKeypadShift: false -! x3270.keymap: -! x3270.keypad: right -! x3270.keypadOn: false -! x3270.labelIcon: false -! x3270.m3279: false -! x3270.macros: -! x3270.menuBar: true -! x3270.modifiedSel: false -! x3270.modifiedSelColor: 10 -! x3270.model: 4 -! x3270.mono: false -! x3270.numericLock: false -! x3270.once: false -! x3270.pluginCommand: x3270hist.pl -! x3270.port: telnet -! x3270.preeditType: OverTheSpot+1 -! x3270.saveLines: 64 -! x3270.scripted: false -! x3270.suppressHost: false -! x3270.suppressFontMenu: false -! x3270.termName: -! x3270.traceDir: /tmp -! x3270.cursorColor: red -! (note: cursorColor is not used unless useCursorColor is true, below) -! x3270.useCursorColor: false -! x3270.visualBell: false -! x3270.visualSelect: false -! x3270.visualSelectColor: 6 -! -! Fonts listed on the Options menu and for screen resizing -x3270.emulatorFontList.3270cg-1a,3270cg-1,iso8859-1: \ - 3270 Font (14 point): #resize 3270\n\ - 8-point Font: #resize 3270gt8\n\ - 12-point Font: #resize 3270-12\n\ - 16-point Font: #resize 3270gt16\n\ - 20-point Font: #resize 3270-20\n\ - 24-point Font: #resize 3270gt24\n\ - 32-point Font: #resize 3270gt32 -x3270.emulatorFontList.3270cg-15a,3270cg-15,iso8859-15: \ - 3270 Font (14 point): #resize 3270e\n\ - 8-point Font: #resize 3270egt8\n\ - 12-point Font: #resize 3270e-12\n\ - 16-point Font: #resize 3270egt16\n\ - 20-point Font: #resize 3270e-20\n\ - 24-point Font: #resize 3270egt24\n\ - 32-point Font: #resize 3270egt32 -x3270.emulatorFontList.3270cg-1a,3270cg-1,iso8859-1+gb2312.1980-0,iso10646-1: \ - 14-point 3270: 3270+-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0\n\ - 20-point 3270: 3270-20+-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0\n\ - 8x16: 8x16+-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0\n\ - 12x24: 12x24+-isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0 -x3270.emulatorFontList.jisx0201.1976-0+jisx0208.1983-0,iso10646-1: \ - 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\ - 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\ - 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\ - 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 -#endif -! -! Print commands -x3270.printTextCommand: lpr -#ifndef STANDALONE -x3270.printWindowCommand: xwd -id %d | xpr | lpr -! -! System V versions of print commands -! x3270.printTextCommand: lp -! x3270.printWindowCommand: xwd -id %d | xpr | lp -! -! Trace window command -x3270.traceCommand: tail -f -! -! File transfer command -! x3270.ftCommand: ind$file -! -! Printer session options -#endif -#ifdef _WIN32 -x3270.printer.assocCommandLine: wpr3287.exe -assoc %L% %R% %P% %H% -x3270.printer.luCommandLine: wpr3287.exe %R% %P% %L%@%H% -! x3270.printer.name: -#else -x3270.printer.command: lpr -x3270.printer.assocCommandLine: pr3287 -assoc %L% -command "%C%" %R% %P% "%H%" -x3270.printer.luCommandLine: pr3287 -command "%C%" %R% %P% "%L%@%H%" -#endif -#ifndef STANDALONE -! -! Translation table for the '@server' pseudo-keymap, which is the keymap -! you get by default (in addition to the 'base' keymap, below). Maps server -! vendor strings to keymap names. -x3270.serverKeymapList: \ - Sun Microsystems, Inc.: sun_k5\n\ - Hewlett-Packard Company: hp-k1\n\ - International Business Machines: alt\n\ - Silicon Graphics: alt\n\ - The XFree86 Project, Inc: alt\n\ - AT&T Laboratories Cambridge: alt -! -! Keymaps (keyboard and mouse mappings) -! -! Base keymap: What you get by default, in both 3270 and NVT modes. Any other -! user-specified keymap is logically added to this keymap. -x3270.keymap.base: \ - :Multi_key: Compose()\n\ - Ctrl: HandleMenu(fileMenu)\n\ - Ctrl: HandleMenu(optionsMenu)\n\ - Ctrl: HandleMenu(hostMenu,macrosMenu)\n\ - : SelectDown()\n\ - ~Shift: SelectMotion()\n\ - : ignore()\n\ - : ignore()\n\ - : insert-selection(PRIMARY)\n\ - : start-extend()\n\ - : select-extend()\n\ - ~Shift: SelectUp(PRIMARY)\n\ - ShiftInsert: insert-selection(PRIMARY)\n\ - ShiftUp: KybdSelect(Up,PRIMARY)\n\ - ShiftDown: KybdSelect(Down,PRIMARY)\n\ - ShiftLeft: KybdSelect(Left,PRIMARY)\n\ - ShiftRight: KybdSelect(Right,PRIMARY)\n\ - ShiftF1: PF(13)\n\ - ShiftF2: PF(14)\n\ - ShiftF3: PF(15)\n\ - ShiftF4: PF(16)\n\ - ShiftF5: PF(17)\n\ - ShiftF6: PF(18)\n\ - ShiftF7: PF(19)\n\ - ShiftF8: PF(20)\n\ - ShiftF9: PF(21)\n\ - ShiftF10: PF(22)\n\ - ShiftF11: PF(23)\n\ - ShiftF12: PF(24)\n\ - MetaF1: PF(13)\n\ - MetaF2: PF(14)\n\ - MetaF3: PF(15)\n\ - MetaF4: PF(16)\n\ - MetaF5: PF(17)\n\ - MetaF6: PF(18)\n\ - MetaF7: PF(19)\n\ - MetaF8: PF(20)\n\ - MetaF9: PF(21)\n\ - MetaF10: PF(22)\n\ - MetaF11: PF(23)\n\ - MetaF12: PF(24)\n\ - :F1: PF(1)\n\ - :F2: PF(2)\n\ - :F3: PF(3)\n\ - :F4: PF(4)\n\ - :F5: PF(5)\n\ - :F6: PF(6)\n\ - :F7: PF(7)\n\ - :F8: PF(8)\n\ - :F9: PF(9)\n\ - :F10: PF(10)\n\ - :F11: PF(11)\n\ - :F12: PF(12)\n\ - :Print: PrintText()\n\ - Altq: Quit()\n\ - :dead_acute: Compose() Key(apostrophe)\n\ - :dead_grave: Compose() Key(grave)\n\ - :dead_circumflex: Compose() Key(asciicircum)\n\ - :dead_tilde: Compose() Key(asciitilde)\n\ - :dead_diaeresis: Compose() Key(quotedbl)\n -! -! Base keymap for 3270 mode. These mappings are added to the base keymap, -! but only when in 3270 mode. -! These were originally part of the base keymap, but were moved here, because -! they were no-ops in NVT mode, or interfered with NVT-mode data entry. -! -! Note that as yet, there is no x3270.keymap.base.nvt, which would define the -! base keymap extensions for NVT mode. -! -x3270.keymap.base.3270: #override \ - :Ctrl Shift: MouseSelect()\n\ - Shift: MoveCursor()\n\ - ShiftReturn: Newline()\n\ - :Return: Enter()\n\ - :Linefeed: Newline()\n\ - :BackSpace: Erase()\n\ - ShiftTab: BackTab()\n\ - :MetaLeft: PreviousWord()\n\ - :MetaRight: NextWord()\n\ - :Meta1: PA(1)\n\ - :Meta2: PA(2)\n\ - :Meta3: PA(3)\n\ - Metaa: Attn()\n\ - Metab: PrintWindow()\n\ - Metac: Clear()\n\ - Metad: Delete()\n\ - Metae: EraseEOF()\n\ - Metaf: Flip()\n\ - Metah: Home()\n\ - Metai: Insert()\n\ - Metal: Redraw()\n\ - Metap: PrintText()\n\ - Metar: Reset()\n\ - Metau: Unselect()\n\ - Ctrla: SelectAll(PRIMARY)\n\ - Ctrlc: set-select(CLIPBOARD)\n\ - Ctrlu: DeleteField()\n\ - Ctrlw: DeleteWord()\n\ - Ctrlv: insert-selection(CLIPBOARD) -! Keymap that exercises the optional history plugin. -x3270.keymap.hist: - ShiftPrior: Plugin(command,prev)\n\ - ShiftNext: Plugin(command,next) -! Keymap that restores the old (pre 3.3) mouse-click behavior. -x3270.keymap.oldclick: #override\n\ - Ctrl: HandleMenu(fileMenu)\n\ - Ctrl: HandleMenu(optionsMenu)\n\ - Ctrl: HandleMenu(hostMenu,macrosMenu)\n\ - : select-start()\n\ - ~Shift: select-extend()\n\ - : ignore()\n\ - : ignore()\n\ - : insert-selection(PRIMARY)\n\ - : start-extend()\n\ - : select-extend()\n\ - ~Shift: select-end(PRIMARY) -x3270.keymap.oldclick.3270: #override\n\ - :Ctrl Shift: MouseSelect()\n\ - Shift: MoveCursor() -! -! Start of keyboard-specific mappings. -! -! Sun Type 5 keyboard map. Not compatible with earlier Type 3 and Type 4 -! keymaps, but does a better job of mapping intuitive functions to the -! existing key labels, and has fewer surprises. -x3270.keymap.sun_k5: \ - Shift0x1005ff10: PF(23)\n\ - Shift0x1005ff11: PF(24)\n\ - :0x1005ff10: PF(11)\n\ - :0x1005ff11: PF(12)\n\ - ~@Num_LockF27: Home()\n\ - ~@Num_LockF33: FieldEnd()\n\ - :F18: insert-selection(PRIMARY)\n\ - ShiftF22: SysReq()\n\ - :F22: PrintText()\n\ - KP_Enter: Newline()\n -! Sun Type 4 keyboard map, backwards-compatible with earlier versions of x3270. -x3270.keymap.sun_k4: \ - Shift0x1005ff10: PF(23)\n\ - Shift0x1005ff11: PF(24)\n\ - :0x1005ff10: PF(11)\n\ - :0x1005ff11: PF(12)\n\ - :KP_1: Key(1)\n\ - :KP_2: Key(2)\n\ - :KP_3: Key(3)\n\ - :KP_4: Key(4)\n\ - :KP_5: Key(5)\n\ - :KP_6: Key(6)\n\ - :KP_7: Key(7)\n\ - :KP_8: Key(8)\n\ - :KP_9: Key(9)\n\ - :KP_0: Key(0)\n\ - :KP_Decimal: Key(.)\n\ - :F18: insert-selection(PRIMARY)\n\ - :F19: SysReq()\n\ - :F20: FieldMark()\n\ - :F21: PA(1)\n\ - :F22: PA(2)\n\ - :F23: Dup()\n\ - :F24: Reset()\n\ - :F25: EraseEOF()\n\ - :F26: EraseInput()\n\ - :F27: Clear()\n\ - :F29: Redraw()\n\ - :F31: Home()\n\ - :KP_Enter: Newline()\n\ - :F35: Delete()\n -! Sun Type 3 keyboard. -x3270.keymap.sun_k3: \ - ShiftF21: PF(22)\n\ - ShiftF22: PF(23)\n\ - ShiftF23: PF(24)\n\ - :MetaF21: PA(1)\n\ - :MetaF22: PA(2)\n\ - :MetaF23: Dup()\n\ - :F19: SysReq()\n\ - :0x0: FieldMark()\n\ - :F21: PF(10)\n\ - :F22: PF(11)\n\ - :F23: PF(12)\n\ - :F24: Reset()\n\ - :F25: EraseEOF()\n\ - :F26: EraseInput()\n\ - :F27: Clear()\n\ - :F31: Home()\n\ - :F29: Redraw()\n\ - :KP_Enter: Newline()\n\ - :F35: Delete()\n -x3270.keymap.ncd: \ - :F13: Dup()\n\ - :Linefeed: Dup()\n\ - :F14: FieldMark()\n\ - :Break: FieldMark()\n\ - :Home: Home()\n\ - :F17: Home()\n\ - :End: EraseEOF()\n\ - :F15: Reset()\n\ - :Prior: Reset()\n\ - :F16: Newline()\n\ - :Next: Newline()\n\ - :KP_Add: EraseInput()\n\ - :Num_Lock: PF(13)\n\ - :KP_Space: PF(13)\n\ - :KP_Divide: PF(14)\n\ - :KP_Multiply: PF(15)\n\ - :KP_7: PF(16)\n\ - :KP_8: PF(17)\n\ - :KP_9: PF(18)\n\ - :KP_4: PF(19)\n\ - :KP_5: PF(20)\n\ - :KP_6: PF(21)\n\ - :KP_1: PF(22)\n\ - :KP_2: PF(23)\n\ - :KP_3: PF(24)\n\ - :KP_Subtract: SysReq()\n\ - :KP_0: PA(2)\n\ - :KP_Decimal: PA(1)\n\ - :KP_Enter: Clear()\n -x3270.keymap.hp-k1: \ - :KP_Tab: BackTab()\n\ - :KP_Enter: Home()\n\ - :KP_Separator: Delete()\n\ - ShiftDelete: Delete()\n\ - :Menu: EraseEOF()\n\ - :KP_Multiply: PF(13)\n\ - :KP_Divide: PF(14)\n\ - :KP_Add: PF(15)\n\ - :KP_7: PF(16)\n\ - :KP_8: PF(17)\n\ - :KP_9: PF(18)\n\ - :KP_4: PF(19)\n\ - :KP_5: PF(20)\n\ - :KP_6: PF(21)\n\ - :KP_1: PF(22)\n\ - :KP_2: PF(23)\n\ - :KP_3: PF(24)\n\ - :KP_0: PA(2)\n\ - :KP_Decimal: PA(1)\n -! Keymap for HP-PC101 workstation keyboard, Chris P-E -x3270.keymap.hp-pc: \ - :KP_Subtract: Compose()\n\ - :KP_Enter: Enter()\n\ - :Return: Newline()\n\ - !F1: PF(1)\n\ - !F2: PF(2)\n\ - !F3: PF(3)\n\ - !F4: PF(4)\n\ - !F5: PF(5)\n\ - !F6: PF(6)\n\ - !F7: PF(7)\n\ - !F8: PF(8)\n\ - !F9: PF(9)\n\ - !F10: PF(10)\n\ - !F11: PF(11)\n\ - !F12: PF(12)\n\ - !ShifthpSystem: PF(13)\n\ - !ShiftKP_Divide: PF(14)\n\ - !ShiftKP_Multiply: PF(15)\n\ - !ShiftKP_7: PF(16)\n\ - !ShiftKP_8: PF(17)\n\ - !ShiftKP_9: PF(18)\n\ - !ShiftKP_4: PF(19)\n\ - !ShiftKP_5: PF(20)\n\ - !ShiftKP_6: PF(21)\n\ - !ShiftKP_1: PF(22)\n\ - !ShiftKP_2: PF(23)\n\ - !ShiftKP_3: PF(24)\n\ - !hpSystem: PF(1)\n\ - !KP_Divide: PF(2)\n\ - !KP_Multiply: PF(3)\n\ - !KP_7: PF(4)\n\ - !KP_8: PF(5)\n\ - !KP_9: PF(6)\n\ - !KP_4: PF(7)\n\ - !KP_5: PF(8)\n\ - !KP_6: PF(9)\n\ - !KP_1: PF(10)\n\ - !KP_2: PF(11)\n\ - !KP_3: PF(12)\n\ - !Break: Reset()\n\ - !ShiftBreak: Attn()\n\ - !MetaBreak: SysReq()\n\ - !Prior: Dup()\n\ - !Next: FieldMark()\n\ - !Select: EraseEOF()\n\ - !MetahpInsertChar: PA(1)\n\ - !MetaHome: PA(2)\n\ - !MetaPrior: PA(3)\n\ - !hpInsertChar: Insert()\n\ - !hpDeleteChar: Delete()\n\ - !ShiftMenu: PrintWindow()\n\ - !Menu: PrintText()\n -! Keymap for IBM X Terminal, Allan L. Bazinet -x3270.keymap.ibm-xterm: \ - :Execute: Enter()\n\ - !Pause: Clear()\n\ - !BackSpace: BackSpace()\Delete()\n\ - !End: FieldEnd()\n\ - !Altc: Clear()\n\ - !AltPrint: SysReq()\n\ - !CtrlHome: EraseInput()\n\ - !CtrlEnd: EraseEOF()\n\ - !ShiftTab: BackTab()\n\ - :KP_Subtract: PA(1)\n\ - :KP_Add: PA(2)\n\ - :KP_Enter: Enter()\n\ - :Prior: PA(1)\n\ - :Next: PA(2)\n\ - :Escape: Reset()\n\ - :Control_L: Reset()\n\ - :Insert: Insert()\n\ - !ShiftRight: Right2()\n\ - !ShiftLeft: Left2()\n -! Keymap for common 3270 functions on a PC keyboard, from Richard Lennox. -x3270.keymap.rlx: #override \ - Prior: PF(7)\n\ - Next: PF(8)\n\ - Control_R: Enter()\n\ - Return: Newline()\n\ - Pause: Clear()\n\ - ShiftEscape: Attn()\n\ - ShiftLeft: PreviousWord()\n\ - ShiftRight: NextWord()\n\ - CtrlLeft: PreviousWord()\n\ - CtrlRight: NextWord()\n\ - ShiftEnd: EraseEOF()\n\ - End: FieldEnd() -! Keymap modifier for OpenWindows (makes button 2 the extend key; defines the -! Paste and Cut keys; uses CLIPBOARD). -x3270.keymap.ow: #override \ - ~Shift: select-start()\n\ - ~Shift: select-extend()\n\ - : start-extend()\n\ - : select-extend()\n\ - : ignore()\n\ - : ignore()\n\ - : insert-selection(CLIPBOARD,PRIMARY)\n\ - : select-end(PRIMARY)\n\ - :F16: set-select(CLIPBOARD)\n\ - ShiftF18: insert-selection(PRIMARY)\n\ - :F18: insert-selection(CLIPBOARD,PRIMARY)\n\ - :F20: set-select(CLIPBOARD) Cut()\n -! APL keymap modifier. -x3270.keymap.apl: #override \ - !:Altbracketleft: Key(apl_leftarrow)\n\ - !:Altbracketright: Key(apl_rightarrow)\n\ - :bracketleft: Key(apl_bracketleft)\n\ - :bracketright: Key(apl_bracketright)\n\ - !:Alt1: Key(apl_diaeresis)\n\ - !:Alt2: Key(apl_overbar)\n\ - !:Alt3: Key(less)\n\ - !:Alt4: Key(apl_notgreater)\n\ - !:Alt5: Key(equal)\n\ - !:Alt6: Key(apl_notless)\n\ - !:Alt7: Key(greater)\n\ - !:Alt8: Key(apl_notequal)\n\ - !:Alt9: Key(apl_downcaret)\n\ - !:Alt0: Key(apl_upcaret)\n\ - !:Altminus: Key(apl_overbar)\n\ - !:Altunderscore: Key(underscore)\n\ - !:Alt=: Key(apl_multiply)\n\ - !:Alt+: Key(apl_divide)\n\ - !:Altasciitilde: Key(apl_tilde)\n\ - !:Altbackslash: Key(apl_slope)\n\ - !:Altbar: Key(apl_stile)\n\ - :Alta: Key(apl_alpha)\n\ - :Altb: Key(apl_downtack)\n\ - :Altc: Key(apl_upshoe)\n\ - :Altd: Key(apl_downstile)\n\ - :Alte: Key(apl_epsilon)\n\ - :Altf: Key(underscore)\n\ - :Altg: Key(apl_del)\n\ - :Alth: Key(apl_delta)\n\ - :Alti: Key(apl_iota)\n\ - :Altj: Key(apl_jot)\n\ - :Altk: Key(apostrophe)\n\ - :Altl: Key(apl_quad)\n\ - :Altm: Key(apl_stile)\n\ - :Altn: Key(apl_uptack)\n\ - :Alto: Key(apl_circle)\n\ - :Altp: Key(asterisk)\n\ - :Altq: Key(question)\n\ - :Altr: Key(apl_rho)\n\ - :Alts: Key(apl_upstile)\n\ - :Altt: Key(apl_tilde)\n\ - :Altu: Key(apl_downarrow)\n\ - :Altv: Key(apl_downshoe)\n\ - :Altw: Key(apl_omega)\n\ - :Altx: Key(apl_rightshoe)\n\ - :Alty: Key(apl_uparrow)\n\ - :Altz: Key(apl_leftshoe)\n\ - :AltA: Key(apl_Aunderbar)\n\ - :AltB: Key(apl_Bunderbar)\n\ - :AltC: Key(apl_Cunderbar)\n\ - :AltD: Key(apl_Dunderbar)\n\ - :AltE: Key(apl_Eunderbar)\n\ - :AltF: Key(apl_Funderbar)\n\ - :AltG: Key(apl_Gunderbar)\n\ - :AltH: Key(apl_Hunderbar)\n\ - :AltI: Key(apl_Iunderbar)\n\ - :AltJ: Key(apl_Junderbar)\n\ - :AltK: Key(apl_Kunderbar)\n\ - :AltL: Key(apl_Lunderbar)\n\ - :AltM: Key(apl_Munderbar)\n\ - :AltN: Key(apl_Nunderbar)\n\ - :AltO: Key(apl_Ounderbar)\n\ - :AltP: Key(apl_Punderbar)\n\ - :AltQ: Key(apl_Qunderbar)\n\ - :AltR: Key(apl_Runderbar)\n\ - :AltS: Key(apl_Sunderbar)\n\ - :AltT: Key(apl_Tunderbar)\n\ - :AltU: Key(apl_Uunderbar)\n\ - :AltV: Key(apl_Vunderbar)\n\ - :AltW: Key(apl_Wunderbar)\n\ - :AltX: Key(apl_Xunderbar)\n\ - :AltY: Key(apl_Yunderbar)\n\ - :AltZ: Key(apl_Zunderbar)\n -! Temporary keymap for entering Hebrew characters -x3270.keymap.hebrew: \ - ~Ctrl ~Alt ~Meta t: Key(hebrew_aleph)\n\ - ~Ctrl ~Alt ~Meta c: Key(hebrew_bet)\n\ - ~Ctrl ~Alt ~Meta d: Key(hebrew_gimel)\n\ - ~Ctrl ~Alt ~Meta s: Key(hebrew_dalet)\n\ - ~Ctrl ~Alt ~Meta v: Key(hebrew_he)\n\ - ~Ctrl ~Alt ~Meta u: Key(hebrew_waw)\n\ - ~Ctrl ~Alt ~Meta z: Key(hebrew_zain)\n\ - ~Ctrl ~Alt ~Meta j: Key(hebrew_chet)\n\ - ~Ctrl ~Alt ~Meta y: Key(hebrew_tet)\n\ - ~Ctrl ~Alt ~Meta h: Key(hebrew_yod)\n\ - ~Ctrl ~Alt ~Meta l: Key(hebrew_finalkaph)\n\ - ~Ctrl ~Alt ~Meta f: Key(hebrew_kaph)\n\ - ~Ctrl ~Alt ~Meta k: Key(hebrew_lamed)\n\ - ~Ctrl ~Alt ~Meta o: Key(hebrew_finalmem)\n\ - ~Ctrl ~Alt ~Meta n: Key(hebrew_mem)\n\ - ~Ctrl ~Alt ~Meta i: Key(hebrew_finalnun)\n\ - ~Ctrl ~Alt ~Meta b: Key(hebrew_nun)\n\ - ~Ctrl ~Alt ~Meta x: Key(hebrew_samech)\n\ - ~Ctrl ~Alt ~Meta g: Key(hebrew_ayin)\n\ - : ~Ctrl ~Alt ~Meta semicolon: Key(hebrew_finalpe)\n\ - ~Ctrl ~Alt ~Meta p: Key(hebrew_pe)\n\ - : ~Ctrl ~Alt ~Meta comma: Key(hebrew_finalzade)\n\ - ~Ctrl ~Alt ~Meta m: Key(hebrew_zade)\n\ - ~Ctrl ~Alt ~Meta e: Key(hebrew_qoph)\n\ - ~Ctrl ~Alt ~Meta r: Key(hebrew_resh)\n\ - ~Ctrl ~Alt ~Meta a: Key(hebrew_shin)\n\ - : ~Ctrl ~Alt ~Meta period: Key(hebrew_taw)\n -! -! Keymap for the "not" key, assumed to be above the "6" key on U.S. -! keyboards. This used to be part of the 3270 base keymap, but does not -! work properly on non-U.S. keyboards. -x3270.keymap.not.3270: \ - :asciicircum: Key(notsign) -! Keymap modifier for keyboards which lack a Meta key, such as the RS/6000. -x3270.keymap.alt: \ - :AltF1: PF(13)\n\ - :AltF2: PF(14)\n\ - :AltF3: PF(15)\n\ - :AltF4: PF(16)\n\ - :AltF5: PF(17)\n\ - :AltF6: PF(18)\n\ - :AltF7: PF(19)\n\ - :AltF8: PF(20)\n\ - :AltF9: PF(21)\n\ - :AltF10: PF(22)\n\ - :AltF11: PF(23)\n\ - :AltF12: PF(24)\n -x3270.keymap.alt.3270: \ - :AltLeft: Left2()\n\ - :AltRight: Right2()\n\ - :Alt1: PA(1)\n\ - :Alt2: PA(2)\n\ - :Alt3: PA(3)\n\ - Alta: Attn()\n\ - Altb: PrintWindow()\n\ - Altc: Clear()\n\ - Altd: Delete()\n\ - Alte: EraseEOF()\n\ - Alth: Home()\n\ - Alti: Insert()\n\ - Altl: Redraw()\n\ - Altp: PrintText()\n\ - Altq: Quit()\n\ - Altr: Reset()\n\ - Altu: Unselect()\n -! Helpful modifier to disply the translation table. -x3270.keymap.t: \ - Metat: XtDisplayTranslations()\n -! International keymap modifiers. -x3270.keymap.finnish7: \ - :bracketleft: Key("adiaeresis")\n\ - :bracketright: Key("aring")\n\ - :backslash: Key("odiaeresis")\n\ - :braceleft: Key("Adiaeresis")\n\ - :braceright: Key("Aring")\n\ - :bar: Key("Odiaeresis")\n -x3270.keymap.norwegian7: \ - :bracketleft: Key("ae")\n\ - :backslash: Key("oslash")\n\ - :bracketright: Key("aring")\n\ - :braceleft: Key("AE")\n\ - :bar: Key("Ooblique")\n\ - :braceright: Key("Aring")\n\ - :!Metau: Key("udiaeresis")\n\ - :dollar: Key("currency")\n\ - :at: Key("backslash")\n -! "Old" Norwegian keymap, compatible with older versions of x3270. -x3270.keymap.oldnorwegian7: \ - :bracketleft: Key("AE")\n\ - :bracketright: Key("Aring")\n\ - :backslash: Key("Ooblique")\n\ - :braceleft: Key("ae")\n\ - :braceright: Key("aring")\n\ - :bar: Key("oslash")\n -! German keymap courtesy of Karlheinz Kandler -x3270.keymap.german7: \ - :bracketleft: Key("adiaeresis")\n\ - :bracketright: Key("udiaeresis")\n\ - :backslash: Key("odiaeresis")\n\ - :braceleft: Key("Adiaeresis")\n\ - :braceright: Key("Udiaeresis")\n\ - :bar: Key("Odiaeresis")\n\ - :asciicircum: Key("^")\n\ - :asciitilde: Key("ssharp")\n\ - :at: Key("section")\n -! Keymap modifier for RS/6000s with French AZERTY keyboards, which allows -! the diaeresis and circumflex keys to work intuitively (press diaereses, -! press "a", get "adiaeresis, etc.) -x3270.keymap.fr6k: \ - Shiftdead_diaeresis: Compose() Key(quotedbl)\n\ - :dead_circumflex: Compose() Key(asciicircum)\n -! Icelandic keymap, courtesy of Rikhardur Egilsson -x3270.keymap.icelandic: \ - :dead_acute: Compose() Key(apostrophe)\n -! -!============================================================================= -! Section 2: Labels and Messages -! -! These are resources that are likely to be modified for translation -! into another language. -!============================================================================= -! -x3270.errorPopup.title: x3270 Error -x3270.errorPopup*cancelButton.label: Exit -x3270.printerErrorPopup.title: x3270 Printer Error -x3270.childErrorPopup.title: x3270 Child Process Error -#ifdef X3270_MENUS -x3270.infoPopup.title: x3270 Information -x3270.printerInfoPopup.title: x3270 Printer Information -x3270.childInfoPopup.title: x3270 Child Process Information -x3270.connectPopup.title: x3270 Connect -x3270.connectPopup.dialog.label: Enter Hostname -x3270.fontPopup.title: x3270 Font -x3270.fontPopup.dialog.label: Enter Font Name -x3270.keymapPopup.title: x3270 Keymap -x3270.keymapPopup.dialog.label: Enter Keymap Name -x3270.oversizePopup.title: x3270 Oversize -x3270.oversizePopup.dialog.label: Enter Dimensions (cols x rows) -x3270.oversizePopup*confirmButton.label: Resize -#endif -#ifdef X3270_KEYPAD -x3270.keypadPopup.title: x3270 Keypad -#endif -#ifdef X3270_MENUS -x3270.printTextPopup.title: x3270 Screen Print -x3270.printTextPopup.dialog.label: Enter Print Command -x3270.printTextPopup*confirmButton.label: Print -x3270.saveTextPopup.title: x3270 Screen Save -x3270.saveTextPopup.dialog.label: Enter File Name -x3270.saveTextPopup*confirmButton.label: Save as Text -x3270.saveTextPopup*confirm2Button.label: Save as HTML -x3270.printWindowPopup.title: x3270 Window Print -x3270.printWindowPopup.dialog.label: Enter Print Command -x3270.printWindowPopup*confirmButton.label: Print -#endif -#ifdef X3270_TRACE -x3270.tracePopup.title: x3270 Tracing -x3270.tracePopup.dialog.label: Enter Trace File Name -x3270.tracePopup*confirmButton.label: Trace -x3270.tracePopup*confirm2Button.label: No File -x3270.screentracePopup.title: x3270 Screen Image Tracing -x3270.screentracePopup.dialog.label: Enter File Name -x3270.screentracePopup*confirmButton.label: Continuously -x3270.screentracePopup*confirm2Button.label: Once -#endif -#ifdef X3270_MENUS -x3270.executeActionPopup.title: x3270 Execute Action -x3270.executeActionPopup.dialog.label: Enter Action and Parameters -x3270.executeActionPopup*confirmButton.label: Execute -x3270.saveOptionsPopup.title: x3270 Save Changed Options -x3270.saveOptionsPopup.dialog.label: Enter Profile File Name -x3270.saveOptionsPopup*confirmButton.label: Save -x3270.aboutCopyrightPopup.title: x3270 Copyright -x3270.aboutConfigPopup.title: x3270 Configuration -x3270.aboutStatusPopup.title: x3270 Connection Status -x3270.connectPopup*confirmButton.label: Connect -x3270.fontPopup*confirmButton.label: Select Font -x3270.keymapPopup*confirmButton.label: Select Keymap -#endif -#ifdef X3270_FT -x3270.ftPopup.title: x3270 File Transfer -x3270.ftProgressPopup.title: x3270 File Transfer -x3270.ftOverwritePopup.title: x3270 File Transfer -#endif -#ifdef X3270_SCRIPT -x3270.idlePopup.title: x3270 Idle Command -#endif -x3270.kmPopup.title: x3270 Keymap -x3270*confirmButton.label: OK -x3270.printerErrorPopup*cancelButton.label: Abort Printer -x3270.printerInfoPopup*cancelButton.label: Abort Printer -x3270.childErrorPopup*cancelButton.label: Discard Output -x3270.childInfoPopup*cancelButton.label: Discard Output -x3270*cancelButton.label: Cancel -#ifdef X3270_MENUS -x3270*aboutOption.label: About x3270... -x3270*aboutCopyright.label: Copyright -x3270*aboutConfig.label: Configuration -x3270*aboutStatus.label: Connection Status -#ifdef X3270_FT -x3270*ftOption.label: File Transfer... -#endif -#ifdef X3270_PRINTER -x3270*printerOption.label: Printer Session -x3270*assocButton.label: Start, associate with current LU -x3270*luButton.label: Start, specific LU... -x3270*printerOffButton.label: Stop Printer -#endif -x3270*abortScriptOption.label: Abort Scripts/Macros/Strings -x3270*disconnectOption.label: Disconnect -x3270*exitOption.label: Exit x3270 -x3270*exitReallyOption.label: Disconnect and Exit -x3270*printTextOption.label: Print Screen Text -x3270*saveTextOption.label: Save Screen Text in File -x3270*printWindowOption.label: Print Window Bitmap -x3270*executeActionOption.label: Execute an Action -x3270*fileMenuButton.label: File -x3270*fileMenu.label: File -#endif -#ifdef X3270_FT -x3270.ftPopup*justify: left -x3270.ftPopup*send.label: Send to host -x3270.ftPopup*receive.label: Receive from host -x3270.ftPopup*ascii.label: Transfer ASCII file -x3270.ftPopup*cr.label: Add/remove CR at end of line -x3270.ftPopup*binary.label: Transfer binary file -x3270.ftPopup*local.label: Local File Name -x3270.ftPopup*host.label: Host File Name -x3270.ftPopup*append.label: Append to file -x3270.ftPopup*remap.label: Remap ASCII Characters -x3270.ftPopup*vm.label: Host is VM/CMS -x3270.ftPopup*tso.label: Host is TSO -x3270.ftPopup*confirmButton.label: Transfer File -x3270.ftPopup*file.label: Record Format -x3270.ftPopup*recfmDefault.label: Default -x3270.ftPopup*fixed.label: Fixed -x3270.ftPopup*variable.label: Variable -x3270.ftPopup*undefined.label: Undefined -x3270.ftPopup*units.label: Space Allocation Units -x3270.ftPopup*spaceDefault.label: Default -x3270.ftPopup*tracks.label: Tracks -x3270.ftPopup*cylinders.label: Cylinders -x3270.ftPopup*avblock.label: Avblock -x3270.ftPopup*lrecl.label: LRECL -x3270.ftPopup*blksize.label: BLKSIZE -x3270.ftPopup*primspace.label: Primary Space -x3270.ftPopup*secspace.label: Secondary Space -x3270.ftPopup*buffersize.label: DFT Buffer Size -x3270.ftProgressPopup*fromLabel.label: Source: -x3270.ftProgressPopup*fromLabel.justify: right -x3270.ftProgressPopup*toLabel.label: Destination: -x3270.ftProgressPopup*toLabel.justify: right -x3270.ftProgressPopup*filename.justify: left -x3270.ftOverwritePopup*overwriteName.label: Overwrite existing file %s? -x3270.ftProgressPopup*waiting.label: Waiting for host acknowledgment... -x3270.ftProgressPopup*status.label: %lu bytes transferred -x3270.ftProgressPopup*aborting.label: Aborting transfer... -#endif -#ifdef X3270_SCRIPT -x3270.idlePopup*justify: left -x3270.idlePopup*command.label: Command(s) -x3270.idlePopup*timeout.label: Timeout Value -x3270.idlePopup*enable.label: Enable for this session -x3270.idlePopup*enablePerm.label: Enable whenever connected -x3270.idlePopup*disable.label: Disable -x3270.idlePopup*hours.label: Hours -x3270.idlePopup*minutes.label: Minutes -x3270.idlePopup*seconds.label: Seconds -x3270.idlePopup*fuzz.label: Vary time 0..10% -#endif -#ifdef X3270_PRINTER -x3270.printerLuPopup.title: x3270 Printer Session -x3270.printerLuPopup.dialog.label: Enter LU Name -x3270.printerLuPopup*confirmButton.label: Start Session -#endif -#ifdef X3270_MENUS -x3270*optionsMenuButton.label: Options -x3270*optionsMenu.label: Options -x3270*connectMenuButton.label: Connect -x3270*macrosMenuButton.label: Macros -x3270*macrosMenu.label: Macros -x3270*hostMenu.label: Connect -x3270*helpButton.label: Help -x3270*otherHostOption.label: Other... -x3270*togglesOption.label: Toggles -x3270*fontsOption.label: Font -x3270*modelsOption.label: Screen Size -x3270*colorsOption.label: Color Scheme -x3270*charsetOption.label: Character Set -x3270*keymapOption.label: Change Keymap... -x3270*idleCommandOption.label: Configure Idle Command -x3270*keypadOption.label: Keypad -x3270*monocaseOption.label: Monocase -x3270*cursorBlinkOption.label: Blinking Cursor -x3270*showTimingOption.label: Show Timing -x3270*cursorPosOption.label: Track Cursor -x3270*dsTraceOption.label: Trace Data Stream -x3270*eventTraceOption.label: Trace Keyboard/Mouse Events -x3270*screenTraceOption.label: Save Screen(s) in File -x3270*scrollBarOption.label: Scrollbar -x3270*lineWrapOption.label: Wraparound -x3270*marginedPasteOption.label: Paste with Left Margin -x3270*rectangleSelectOption.label: Select by Rectangles -x3270*blankFillOption.label: Blank Fill -x3270*crosshairOption.label: Crosshair Cursor -x3270*visibleControlOption.label: Visible Control Chars -x3270*underlineCursorOption.label: Underline Cursor -x3270*blockCursorOption.label: Block Cursor -x3270*otherFontOption.label: Other... -x3270*lineModeOption.label: Line Mode -x3270*characterModeOption.label: Character Mode -x3270*extendedDsOption.label: Extended 3270 Data Stream -x3270*m3278Option.label: Monochrome (3278) Emulation -x3270*m3279Option.label: Color (3279) Emulation -x3270*model2Option.label: Model 2 (80x24) -x3270*model3Option.label: Model 3 (80x32) -x3270*model4Option.label: Model 4 (80x43) -x3270*model5Option.label: Model 5 (132x27) -x3270*oversizeOption.label: Oversize... -x3270*saveOption.label: Save Changed Options in File -#endif -! -! Messages -#ifdef X3270_MENUS -x3270.message.processId: Process ID: -x3270.message.windowId: Main window ID: -x3270.message.model: Model -x3270.message.rows: rows -x3270.message.columns: columns -x3270.message.mono: monochrome -x3270.message.fullColor: color -x3270.message.pseudoColor: pseudo-color -x3270.message.extendedDs: extended data stream -x3270.message.standardDs: standard data stream -x3270.message.terminalName: Terminal name: -x3270.message.luName: LU name: -x3270.message.emulatorFont: Emulator font: -x3270.message.emulatorFontDbcs: DBCS emulator font: -x3270.message.xFont: standard X11 font -x3270.message.cgFont: special 3270 CG font -x3270.message.characterSet: Host EBCDIC character set: -x3270.message.characterSetDbcs: Host EBCDIC DBCS character set: -x3270.message.defaultCharacterSet: Default (us) EBCDIC character set -x3270.message.displayCharacterSet: Display character set: -x3270.message.displayCharacterSetDbcs: DBCS display character set: -x3270.message.localeCodeset: Locale codeset: -x3270.message.require: require -x3270.message.have: have -x3270.message.keyboardMap: Keyboard map: -x3270.message.defaultKeyboardMap: Default keyboard map -x3270.message.composeMap: Compose-key map: -x3270.message.noComposeMap: No compose-key map -x3270.message.activeIcon: Active icon -x3270.message.iconFont: Icon font: -x3270.message.iconLabelFont: Icon label font: -x3270.message.staticIcon: Static bitmap icon -x3270.message.connectedTo: Connected to: -x3270.message.port: Port: -x3270.message.secure: via TLS/SSL -x3270.message.proxyType: Proxy type: -x3270.message.server: Server: -x3270.message.charMode: NVT character mode -x3270.message.lineMode: NVT line mode -x3270.message.dsMode: 3270 mode -x3270.message.sscpMode: SSCP-LU mode -x3270.message.tn3270eOpts: TN3270E options: -x3270.message.tn3270eNoOpts: No TN3270E options -x3270.message.connectionPending: Connection pending to: -x3270.message.notConnected: Not connected -x3270.message.specialCharacters: Special characters: -x3270.message.hour: hour -x3270.message.hours: hours -x3270.message.minute: minute -x3270.message.minutes: minutes -x3270.message.second: second -x3270.message.seconds: seconds -x3270.message.sent: Sent -x3270.message.Received: Received -x3270.message.received: received -x3270.message.byte: byte -x3270.message.bytes: bytes -x3270.message.record: record -x3270.message.records: records -x3270.message.statusDbcs: DBCS -x3270.message.statusNotConnected: Not Connected -x3270.message.statusTwait: Wait -x3270.message.statusSyswait: System -x3270.message.statusProtected: Protected -x3270.message.statusNumeric: Numeric -x3270.message.statusOverflow: Overflow -x3270.message.statusInhibit: Inhibit -x3270.message.statusScrolled: Scrolled -x3270.message.statusMinus: No Function -#endif -x3270.message.statusConnecting: Connecting -#endif -#ifdef X3270_FT -x3270.message.ftComplete: Transfer complete, %i bytes transferred\n\ -%.2lg Kbytes/sec in %s mode -x3270.message.ftUnable: Cannot begin transfer -x3270.message.ftUserCancel: Transfer cancelled by user -x3270.message.ftHostCancel: Transfer cancelled by host -x3270.message.ftCutUnknownFrame: Unknown frame type from host -x3270.message.ftCutUnknownControl: Unknown FT control code from host -x3270.message.ftCutRetransmit: Transmission error -x3270.message.ftCutConversionError: Data conversion error -x3270.message.ftCutOversize: Illegal frame length -x3270.message.ftDisconnected: Host disconnected, transfer cancelled -x3270.message.ftNot3270: Not in 3270 mode, transfer cancelled -x3270.message.ftDftUnknownOpen: Uknown DFT Open type from host -#endif -x3270.message.inputMethod: X11 Input Method (XIM): -x3270.message.ximState: state: -x3270.message.ximDisabled: failed -x3270.message.ximNotFound: not found -x3270.message.ximActive: active -x3270.message.ximLocale: locale: -x3270.message.ximEncoding: encoding: -#ifndef STANDALONE -x3270.message.kmEvent: Event -x3270.message.kmKeymapLine: Keymap:Line -x3270.message.kmActions: Actions -x3270.message.kmOverridden: \ -- overridden -- -x3270.message.kmKeymap: Keymap -x3270.message.kmTemporaryKeymap: Temporary keymap - -x3270.message.kmFile: from file -x3270.message.kmResource: from resource -x3270.message.kmFromServer: \ (expanded from '@server') -! -!============================================================================= -! Section 3: Base-Level Resources -! -! Resources required for the basic operation of x3270, not for the -! faint-hearted to modify. -!============================================================================= -! -! App-defaults file version -x3270.adVersion: 3.3.4 -! -! Fonts -#ifdef X3270_APL -x3270.aplFont: 3270 -#endif -x3270.debugFont: 3270d -x3270.iconFont: nil2 -x3270.iconLabelFont: 8x13 -#ifdef X3270_KEYPAD -x3270*keyPad*large*font: fixed -x3270*keyPad*small*font: -*-fixed-medium-r-semicondensed-*-12-*-* -#endif -x3270*value*font: fixed -x3270*dataLabel.font: -*-terminal-medium-r-normal--14-*-iso8859-1 -!x3270*smallLabel.font: 5x7 -x3270*smallLabel.font: 6x13 -x3270*filename*font: fixed -x3270*kmPopup*text*font: fixed -x3270*font: -*-helvetica-bold-r-normal--12-*-iso8859-1 -! -! Menu configuration -#ifdef X3270_MENUS -x3270*menuBarContainer.borderWidth: 2 -#endif -#ifdef COLOR -#ifdef X3270_KEYPAD -x3270.keypadBackground: grey -#endif -#ifdef X3270_MENUS -x3270*menuBarContainer.background: grey -x3270*menuBarContainer.borderColor: grey40 -x3270*fileMenuButton*background: grey -x3270*optionsMenuButton*background: grey -x3270*connectMenuButton*background: grey -x3270*macrosMenuButton*background: grey -x3270*helpButton*background: grey -x3270*keypadButton*background: grey -x3270*lockedIcon*background: grey -x3270*lockedIcon*foreground: yellow4 -x3270*lockedIcon*borderColor: grey -x3270*unlockedIcon*background: grey -x3270*unlockedIcon*borderColor: grey -x3270*fileMenuButton*borderColor: grey -x3270*optionsMenuButton*borderColor: grey -x3270*connectMenuButton*borderColor: grey -x3270*macrosMenuButton*borderColor: grey -x3270*helpButton*borderColor: grey -#endif -#else -#ifdef X3270_MENUS -x3270*fileMenuButton*borderColor: XtDefaultBackground -x3270*optionsMenuButton*borderColor: XtDefaultBackground -x3270*connectMenuButton*borderColor: XtDefaultBackground -x3270*macrosMenuButton*borderColor: XtDefaultBackground -x3270*helpButton*borderColor: XtDefaultBackground -#endif -#endif -#ifdef X3270_MENUS -x3270*fileMenuButton*highlightThickness: 1 -x3270*optionsMenuButton*highlightThickness: 1 -x3270*connectMenuButton*highlightThickness: 1 -x3270*macrosMenuButton*highlightThickness: 1 -x3270*helpButton*highlightThickness: 1 -x3270*keypadButton*highlightThickness: 1 -#ifdef COLOR -x3270*fileMenu*background: grey -x3270*exitMenu*background: grey -x3270*optionsMenu*background: grey -x3270*hostMenu*background: grey -x3270*macrosMenu*background: grey -x3270*togglesMenu*background: grey -x3270*fontsMenu*background: grey -x3270*modelsMenu*background: grey -x3270*colorsMenu*background: grey -x3270*charsetMenu*background: grey -x3270*printerMenu*background: grey -#endif -x3270*fileMenu.borderWidth: 2 -x3270*exitMenu.borderWidth: 2 -x3270*optionsMenu.borderWidth: 2 -x3270*hostMenu.borderWidth: 2 -x3270*macrosMenu.borderWidth: 2 -x3270*togglesMenu.borderWidth: 2 -x3270*fontsMenu.borderWidth: 2 -x3270*modelsMenu.borderWidth: 2 -x3270*colorsMenu.borderWidth: 2 -x3270*charsetMenu.borderWidth: 2 -#ifdef COLOR -x3270*fileMenu.borderColor: grey40 -x3270*exitMenu.borderColor: grey40 -x3270*optionsMenu.borderColor: grey40 -x3270*hostMenu.borderColor: grey40 -x3270*macrosMenu.borderColor: grey40 -x3270*togglesMenu.borderColor: grey40 -x3270*fontsMenu.borderColor: grey40 -x3270*modelsMenu.borderColor: grey40 -x3270*colorsMenu.borderColor: grey40 -x3270*charsetMenu.borderColor: grey40 -#endif -x3270*fileMenu*leftMargin: 20 -x3270*fileMenu*rightMargin: 20 -x3270*optionsMenu*rightMargin: 20 -x3270*togglesMenu*leftMargin: 20 -x3270*fontsMenu*leftMargin: 20 -x3270*fontsMenu*rightMargin: 20 -x3270*modelsMenu*leftMargin: 20 -x3270*colorsMenu*leftMargin: 20 -x3270*colorsMenu*rightMargin: 20 -x3270*charsetMenu*leftMargin: 20 -x3270*charsetMenu*rightMargin: 20 -x3270*hostMenu*rightMargin: 20 -x3270*macrosMenu*rightMargin: 20 -#endif -! -! Confirm and cancel buttons -! borderWidth and borderColor are never specified anywhere else, so these -! always apply -x3270*confirmButton.borderWidth: 2 -x3270*confirm2Button*borderWidth: 2 -x3270*cancelButton*borderWidth: 2 -#ifdef COLOR -x3270**confirmButton.borderColor: grey40 -x3270**confirmButton.borderColor: grey40 -x3270**confirm2Button.borderColor: grey40 -x3270**cancelButton.borderColor: grey40 -#endif -! foreground and background are often overridden by other resources, so they -! must be specified explicitly for each instance -#ifdef COLOR -x3270*dialog*confirmButton.foreground: black -x3270*dialog*confirmButton.background: grey80 -x3270*dialog*confirm2Button.background: grey80 -x3270*dialog*cancelButton.foreground: firebrick -x3270*dialog*cancelButton.background: grey80 -#endif -! -! Values -! borderWidth and borderColor are never specified anywhere else, so these -! always apply -#ifdef COLOR -x3270*value.borderWidth: 2 -x3270*value.borderColor: grey40 -#endif -! background is overridden by dialog*background, so it must be specified -! explicitly -#ifdef COLOR -x3270*dialog*value*background: lavender -#endif -! -! Overall defaults for dialog boxes -#ifdef COLOR -x3270*dialog*background: grey -x3270*dialog*foreground: black -#endif -! -! Fixed popup sizes -x3270.errorPopup.width: 500 -x3270.printerErrorPopup.width: 500 -x3270.childErrorPopup.width: 500 -x3270.infoPopup.width: 500 -x3270.printerInfoPopup.width: 500 -x3270.childInfoPopup.width: 500 -x3270.printerLuPopup.width: 300 -x3270.connectPopup.width: 300 -x3270.fontPopup.width: 300 -x3270.keymapPopup.width: 300 -x3270.oversizePopup.width: 300 -x3270.printTextPopup.width: 300 -x3270.saveTextPopup.width: 300 -x3270.printWindowPopup.width: 300 -x3270.tracePopup.width: 300 -x3270.screentracePopup.width: 300 -x3270.executeActionPopup.width: 300 -x3270.saveOptionsPopup.width: 300 -! -! Nondefault definitions for complex pop-ups -#ifdef COLOR -x3270.aboutCopyrightPopup*icon.foreground: darkslateblue -x3270.aboutConfigPopup*icon.foreground: darkslateblue -x3270.aboutStatusPopup*icon.foreground: darkslateblue -x3270.errorPopup*label.foreground: firebrick -x3270.printerErrorPopup*label.foreground: firebrick -x3270.childErrorPopup*label.foreground: firebrick -#ifdef X3270_FT -x3270.ftProgressPopup*filename.borderWidth: 2 -x3270.ftProgressPopup*filename.borderColor: grey40 -x3270.ftProgressPopup*filename.background: lavender -#endif -#endif -! -#ifdef X3270_KEYPAD -! Keypad key dimensions, in pixels -x3270.keypad.keyHeight: 24 -x3270.keypad.keyWidth: 48 -x3270.keypad.pfWidth: 32 -x3270.keypad.paWidth: 36 -x3270.keypad.largeKeyWidth: 56 -#endif -! -! Keymap display pop-up -! -x3270*keymapDisplayOption.label: Display Current Keymap -x3270.kmPopup*label.label: Current Keyboard Map -x3270.kmPopup*sortActionOption.label: Sort by Action -x3270.kmPopup*sortKeymapOption.label: Sort by Keymap -x3270.kmPopup*sortEventOption.label: Sort by Event -x3270.kmPopup*text*background: lavender -x3270.kmPopup*text*foreground: black -x3270.kmPopup*text.height: 250 -x3270.kmPopup*text.width: 500 -! -! Basic event translations -- these should NEVER be changed without significant -! code changes -x3270.translations: #override \n\ - WM_PROTOCOLS: PA-WMProtocols()\n\ - : PA-KeymapNotify()\n\ - WM_STATE: PA-StateChanged()\n\ - : PA-Focus()\n\ - : PA-Focus()\n\ - : PA-ConfigureNotify() -x3270.container.translations: #override \n\ - Shift_L: PA-Shift()\n\ - Shift_L: PA-Shift()\n\ - Shift_R: PA-Shift()\n\ - Shift_R: PA-Shift()\n\ - Meta_L: PA-Shift()\n\ - Meta_L: PA-Shift()\n\ - Meta_R: PA-Shift()\n\ - Meta_R: PA-Shift()\n\ - Alt_L: PA-Shift()\n\ - Alt_L: PA-Shift()\n\ - Alt_R: PA-Shift()\n\ - Alt_R: PA-Shift()\n\ - :: Default()\n\ - :: Default()\n\ - :: Default() -x3270*screen.translations: #override \n\ - : PA-Expose()\n\ - : PA-VisibilityNotify()\n\ - : PA-GraphicsExpose()\n\ - Shift_L: PA-Shift()\n\ - Shift_L: PA-Shift()\n\ - Shift_R: PA-Shift()\n\ - Shift_R: PA-Shift()\n\ - Meta_L: PA-Shift()\n\ - Meta_L: PA-Shift()\n\ - Meta_R: PA-Shift()\n\ - Meta_R: PA-Shift()\n\ - Alt_L: PA-Shift()\n\ - Alt_L: PA-Shift()\n\ - Alt_R: PA-Shift()\n\ - Alt_R: PA-Shift()\n\ - :: Default()\n\ - :: Default()\n\ - :: Default() -x3270icon.translations: #override \n\ - : PA-Expose() -#ifdef X3270_KEYPAD -x3270.keypadPopup.translations: #override \n\ - WM_PROTOCOLS: PA-WMProtocols()\n\ - : PA-KeymapNotify()\n\ - : PA-EnterLeave()\n\ - : PA-EnterLeave() -x3270.keypadPopup.container.translations: #override \n\ - Shift_L: PA-Shift()\n\ - Shift_L: PA-Shift()\n\ - Shift_R: PA-Shift()\n\ - Shift_R: PA-Shift()\n\ - Meta_L: PA-Shift()\n\ - Meta_L: PA-Shift()\n\ - Meta_R: PA-Shift()\n\ - Meta_R: PA-Shift()\n\ - Alt_L: PA-Shift()\n\ - Alt_L: PA-Shift()\n\ - Alt_R: PA-Shift()\n\ - Alt_R: PA-Shift()\n\ - :: Default() -#endif -x3270.errorPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.printerErrorPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.childErrorPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.errorPopup*translations: #override \n\ - Return: PA-confirm() -x3270.printerErrorPopup*translations: #override \n\ - Return: PA-confirm() -x3270.childErrorPopup*translations: #override \n\ - Return: PA-confirm() -x3270.infoPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.printerInfoPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.childInfoPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.infoPopup*translations: #override \n\ - Return: PA-confirm() -x3270.printerInfoPopup*translations: #override \n\ - Return: PA-confirm() -x3270.childInfoPopup*translations: #override \n\ - Return: PA-confirm() -#ifdef X3270_MENUS -x3270.connectPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.fontPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.keymapPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.printTextPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.saveTextPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.printWindowPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.tracePopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.screentracePopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.executeActionPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.saveOptionsPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.aboutCopyrightPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.aboutCopyrightPopup*translations: #override \n\ - Return: PA-confirm() -x3270.aboutConfigPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.aboutConfigPopup*translations: #override \n\ - Return: PA-confirm() -x3270.aboutStatusPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.aboutStatusPopup*translations: #override \n\ - Return: PA-confirm() -x3270.kmPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.kmPopup*translations: #override \n\ - Return: PA-confirm() -x3270.luPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -#endif -#ifdef X3270_FT -x3270.ftPopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -! Note: WM_PROTOCOLS is explicitly not defined for ftPopup, so that the user -! can clear error conditions while a transfer is in progress. -x3270.ftOverwritePopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.ftPopup*value.translations: #override \n\ - Return: PA-dialog-next()\n\ - Tab: PA-dialog-next()\n\ - : PA-dialog-focus() select-start()\n\ - CtrlU: select-all(DUMMY) delete-selection() -#endif -#ifdef X3270_SCRIPT -x3270.idlePopup.translations: \ - WM_PROTOCOLS: PA-WMProtocols() -x3270.idlePopup*value.translations: #override \n\ - Return: PA-dialog-next()\n\ - Tab: PA-dialog-next()\n\ - : PA-dialog-focus() select-start()\n\ - CtrlU: select-all(DUMMY) delete-selection() -#endif -x3270*value.translations: #override \n\ - Return: PA-confirm()\n\ - CtrlU: select-all(DUMMY) delete-selection() -x3270*value.width: 200 -! Workaround for Xaw MenuButton bug that keeps menu items from highlighting -! when CapsLock or NumLock are down. Technically, this would require -! translations for all permutations of all 8 modifiers: shift, lock, control, -! mod1, mod2, mod3, mod4 and mod5. However, we will leave out shift and -! control, since they are "voluntary" key presses and would quadruple the -! size of this resource. -x3270*MenuButton.translations: #override \n\ - Lock: reset() PopupMenu()\n\ - Mod1: reset() PopupMenu()\n\ - Lock Mod1: reset() PopupMenu()\n\ - Mod2: reset() PopupMenu()\n\ - Lock Mod2: reset() PopupMenu()\n\ - Mod1 Mod2: reset() PopupMenu()\n\ - Lock Mod1 Mod2: reset() PopupMenu()\n\ - Mod3: reset() PopupMenu()\n\ - Lock Mod3: reset() PopupMenu()\n\ - Mod1 Mod3: reset() PopupMenu()\n\ - Lock Mod1 Mod3: reset() PopupMenu()\n\ - Mod2 Mod3: reset() PopupMenu()\n\ - Lock Mod2 Mod3: reset() PopupMenu()\n\ - Mod1 Mod2 Mod3: reset() PopupMenu()\n\ - Lock Mod1 Mod2 Mod3: reset() PopupMenu()\n\ - Mod4: reset() PopupMenu()\n\ - Lock Mod4: reset() PopupMenu()\n\ - Mod1 Mod4: reset() PopupMenu()\n\ - Lock Mod1 Mod4: reset() PopupMenu()\n\ - Mod2 Mod4: reset() PopupMenu()\n\ - Lock Mod2 Mod4: reset() PopupMenu()\n\ - Mod1 Mod2 Mod4: reset() PopupMenu()\n\ - Lock Mod1 Mod2 Mod4: reset() PopupMenu()\n\ - Mod3 Mod4: reset() PopupMenu()\n\ - Lock Mod3 Mod4: reset() PopupMenu()\n\ - Mod1 Mod3 Mod4: reset() PopupMenu()\n\ - Lock Mod1 Mod3 Mod4: reset() PopupMenu()\n\ - Mod2 Mod3 Mod4: reset() PopupMenu()\n\ - Lock Mod2 Mod3 Mod4: reset() PopupMenu()\n\ - Mod1 Mod2 Mod3 Mod4: reset() PopupMenu()\n\ - Lock Mod1 Mod2 Mod3 Mod4: reset() PopupMenu()\n\ - Mod5: reset() PopupMenu()\n\ - Lock Mod5: reset() PopupMenu()\n\ - Mod1 Mod5: reset() PopupMenu()\n\ - Lock Mod1 Mod5: reset() PopupMenu()\n\ - Mod2 Mod5: reset() PopupMenu()\n\ - Lock Mod2 Mod5: reset() PopupMenu()\n\ - Mod1 Mod2 Mod5: reset() PopupMenu()\n\ - Lock Mod1 Mod2 Mod5: reset() PopupMenu()\n\ - Mod3 Mod5: reset() PopupMenu()\n\ - Lock Mod3 Mod5: reset() PopupMenu()\n\ - Mod1 Mod3 Mod5: reset() PopupMenu()\n\ - Lock Mod1 Mod3 Mod5: reset() PopupMenu()\n\ - Mod2 Mod3 Mod5: reset() PopupMenu()\n\ - Lock Mod2 Mod3 Mod5: reset() PopupMenu()\n\ - Mod1 Mod2 Mod3 Mod5: reset() PopupMenu()\n\ - Lock Mod1 Mod2 Mod3 Mod5: reset() PopupMenu()\n\ - Mod4 Mod5: reset() PopupMenu()\n\ - Lock Mod4 Mod5: reset() PopupMenu()\n\ - Mod1 Mod4 Mod5: reset() PopupMenu()\n\ - Lock Mod1 Mod4 Mod5: reset() PopupMenu()\n\ - Mod2 Mod4 Mod5: reset() PopupMenu()\n\ - Lock Mod2 Mod4 Mod5: reset() PopupMenu()\n\ - Mod1 Mod2 Mod4 Mod5: reset() PopupMenu()\n\ - Lock Mod1 Mod2 Mod4 Mod5: reset() PopupMenu()\n\ - Mod3 Mod4 Mod5: reset() PopupMenu()\n\ - Lock Mod3 Mod4 Mod5: reset() PopupMenu()\n\ - Mod1 Mod3 Mod4 Mod5: reset() PopupMenu()\n\ - Lock Mod1 Mod3 Mod4 Mod5: reset() PopupMenu()\n\ - Mod2 Mod3 Mod4 Mod5: reset() PopupMenu()\n\ - Lock Mod2 Mod3 Mod4 Mod5: reset() PopupMenu()\n\ - Mod1 Mod2 Mod3 Mod4 Mod5: reset() PopupMenu()\n\ - Lock Mod1 Mod2 Mod3 Mod4 Mod5: reset() PopupMenu() -#endif -! Default compose-key map. -! Each line is of the form "keysym1 + keysym2 = keysym3", meaning "when the -! Compose key is pressed, followed by keysym1 and keysym2 (in either order), -! interpret it as keysym3." The definitions are case-sensitive. -x3270.composeMap.latin1: \ - c + bar = cent \n\ - c + slash = cent \n\ - L + minus = sterling \n\ - Y + equal = yen \n\ - S + S = section \n\ - C + O = copyright \n\ - a + underscore = ordfeminine \n\ - less + less = guillemotleft \n\ - R + O = registered \n\ - plus + minus = plusminus \n\ - o + underscore = masculine \n\ - greater + greater = guillemotright \n\ - 1 + 4 = onequarter \n\ - 1 + 2 = onehalf \n\ - 3 + 4 = threequarters \n\ - bar + bar = brokenbar \n\ - A + grave = Agrave \n\ - A + apostrophe = Aacute \n\ - A + asciicircum = Acircumflex \n\ - A + asciitilde = Atilde \n\ - A + quotedbl = Adiaeresis \n\ - A + asterisk = Aring \n\ - A + E = AE \n\ - C + comma = Ccedilla \n\ - C + apostrophe = Ccedilla \n\ - E + grave = Egrave \n\ - E + apostrophe = Eacute \n\ - E + asciicircum = Ecircumflex \n\ - E + quotedbl = Ediaeresis \n\ - I + grave = Igrave \n\ - I + apostrophe = Iacute \n\ - I + asciicircum = Icircumflex \n\ - I + quotedbl = Idiaeresis \n\ - N + asciitilde = Ntilde \n\ - O + grave = Ograve \n\ - O + apostrophe = Oacute \n\ - O + asciicircum = Ocircumflex \n\ - O + asciitilde = Otilde \n\ - O + quotedbl = Odiaeresis \n\ - O + slash = Ooblique \n\ - U + grave = Ugrave \n\ - U + apostrophe = Uacute \n\ - U + asciicircum = Ucircumflex \n\ - U + quotedbl = Udiaeresis \n\ - Y + apostrophe = Yacute \n\ - s + s = ssharp \n\ - a + grave = agrave \n\ - a + apostrophe = aacute \n\ - a + asciicircum = acircumflex \n\ - a + asciitilde = atilde \n\ - a + quotedbl = adiaeresis \n\ - a + asterisk = aring \n\ - a + e = ae \n\ - c + comma = ccedilla \n\ - c + apostrophe = ccedilla \n\ - e + grave = egrave \n\ - e + apostrophe = eacute \n\ - e + asciicircum = ecircumflex \n\ - e + quotedbl = ediaeresis \n\ - i + grave = igrave \n\ - i + apostrophe = iacute \n\ - i + asciicircum = icircumflex \n\ - i + quotedbl = idiaeresis \n\ - n + asciitilde = ntilde \n\ - o + grave = ograve \n\ - o + apostrophe = oacute \n\ - o + asciicircum = ocircumflex \n\ - o + asciitilde = otilde \n\ - o + quotedbl = odiaeresis \n\ - o + slash = oslash \n\ - u + grave = ugrave \n\ - u + apostrophe = uacute \n\ - u + asciicircum = ucircumflex \n\ - u + quotedbl = udiaeresis \n\ - y + apostrophe = yacute \n\ - y + quotedbl = ydiaeresis \n\ - apostrophe + apostrophe = apostrophe \n\ - apostrophe + space = apostrophe \n\ - asciicircum + asciicircum = asciicircum \n\ - asciicircum + space = asciicircum \n\ - asciitilde + asciitilde = asciitilde \n\ - asciitilde + space = asciitilde \n\ - grave + grave = grave \n\ - grave + space = grave \n\ - quotedbl + quotedbl = quotedbl \n\ - quotedbl + space = quotedbl \n -#ifndef STANDALONE -#ifdef X3270_APL -! -! Compose-key map for APL. -x3270.composeMap.apl: \ - A + underscore = apl_Aunderbar \n\ - B + underscore = apl_Bunderbar \n\ - C + underscore = apl_Cunderbar \n\ - D + underscore = apl_Dunderbar \n\ - E + underscore = apl_Eunderbar \n\ - F + underscore = apl_Funderbar \n\ - G + underscore = apl_Gunderbar \n\ - H + underscore = apl_Hunderbar \n\ - I + underscore = apl_Iunderbar \n\ - J + underscore = apl_Junderbar \n\ - K + underscore = apl_Kunderbar \n\ - L + underscore = apl_Lunderbar \n\ - M + underscore = apl_Munderbar \n\ - N + underscore = apl_Nunderbar \n\ - O + underscore = apl_Ounderbar \n\ - P + underscore = apl_Punderbar \n\ - Q + underscore = apl_Qunderbar \n\ - R + underscore = apl_Runderbar \n\ - S + underscore = apl_Sunderbar \n\ - T + underscore = apl_Tunderbar \n\ - U + underscore = apl_Uunderbar \n\ - V + underscore = apl_Vunderbar \n\ - W + underscore = apl_Wunderbar \n\ - X + underscore = apl_Xunderbar \n\ - Y + underscore = apl_Yunderbar \n\ - Z + underscore = apl_Zunderbar \n\ - apl_upcaret + apl_downcaret = apl_diamond \n\ - apl_quad + apl_jot = apl_quadjot \n\ - apl_iota + underscore = apl_iotaunderbar \n\ - apl_epsilon + underscore = apl_epsilonunderbar \n\ - less + equal = apl_notgreater \n\ - plus + minus = apl_plusminus \n\ - greater + equal = apl_notless \n\ - equal + slash = apl_notequal \n\ - apl_upcaret + apl_tilde = apl_upcarettilde \n\ - apl_upcaret + asciitilde = apl_upcarettilde \n\ - apl_downcaret + apl_tilde = apl_downcarettilde \n\ - apl_downcaret + asciitilde = apl_downcarettilde \n\ - apl_circle + apl_stile = apl_circlestile \n\ - apl_circle + bar = apl_circlestile \n\ - apl_quad + apl_slope = apl_slopequad \n\ - apl_quad + backslash = apl_slopequad \n\ - apl_circle + apl_slope = apl_circleslope \n\ - apl_circle + backslash = apl_circleslope \n\ - apl_downtack + apl_uptack = apl_downtackup \n\ - apostrophe + period = apl_quotedot \n\ - apl_del + apl_stile = apl_delstile \n\ - apl_del + bar = apl_delstile \n\ - apl_delta + apl_stile = apl_deltastile \n\ - apl_delta + bar = apl_deltastile \n\ - apl_quad + apostrophe = apl_quadquote \n\ - apl_upshoe + apl_jot = apl_upshoejot \n\ - slash + minus = apl_slashbar \n\ - apl_slope + minus = apl_slopebar \n\ - backslash + minus = apl_slopebar \n\ - apl_diaeresis + period = apl_diaeresisdot \n\ - apl_circle + minus = apl_circlebar \n\ - apl_quad + apl_divide = apl_quaddivide \n\ - apl_uptack + apl_jot = apl_uptackjot \n\ - apl_del + apl_tilde = apl_deltilde \n\ - apl_del + asciitilde = apl_deltilde \n\ - apl_delta + underscore = apl_deltaunderbar \n\ - apl_circle + asterisk = apl_circlestar \n\ - apl_downtack + apl_jot = apl_downtackjot \n\ - equal + underscore = apl_equalunderbar \n\ - apl_quad + apl_quad = apl_squad \n\ - apl_diaeresis + apl_jot = apl_diaeresisjot \n\ - apl_diaeresis + apl_circle = apl_diaeresiscircle \n\ - comma + minus = apl_commabar \n\ - c + equal = apl_euro \n\ - C + equal = apl_euro \n\ - minus + parenleft = apl_lefttack \n\ - minus + parenright = apl_righttack \n -#endif -#endif -#ifdef STANDALONE -#ifdef _WIN32 -! wc3270 keymap for more 3270-ish behavior: The Enter key is Newline and the -! Right-Ctrl key is Enter. -x3270.keymap.rctrl.3270: \ - RightCtrlCTRL: Enter()\n\ - Return: Newline() -#endif -#endif -! -! EBCDIC character sets. -! A charset is a series of newline-separated strings that define how an EBCDIC -! national character set differs from IBM's standard U.S.-International set -! (table 01). Each string is a number, a colon, and a symbol. The number is -! the EBCDIC code, and the symbol is an ASCII character or ISO Latin-1 name of -! the graphic it represents. -! -! U.S.-International (table 01) -x3270.charset.us-intl: \n -x3270.codepage.us-intl: 37 -! alias for 'us-intl' (backwards compatibility) -x3270.charset.us: \n -x3270.codepage.us: 37 -! U.S. English w/Euro (code page 1140) -x3270.codepage.us-euro: 0x02b70474 -x3270.displayCharset.us-euro: 3270cg-15a,3270cg-15,iso8859-15 -! -! APL character set (same as us-intl, no remapping required) -x3270.charset.apl: \n -x3270.codepage.apl: 37 -x3270.displayCharset.apl: 3270cg-1a -x3270.emulatorFontList.3270cg-1a: 3270 -! -! EBCDIC map for hosts that put '[' and ']' in non-standard positions (X'AD' -! and X'BD'). This is the default x3270 character set, because these hosts -! are so common in the U.S. -! Note that those hosts tend to display '[' and ']' as GE X'AD' and GE X'BD', -! which are the APL bracket characters. -x3270.charset.bracket: \ - 0xad: [ \n 0xba: Yacute \n\ - 0xbd: ] \n 0xbb: diaeresis \n -! The codepage for 'bracket' is a lie, but there is no real codepage that -! corresponds to it. -x3270.codepage.bracket: 37 -! alias for 'bracket' (backwards compatibility) -x3270.charset.oldibm: \ - 0xad: [ \n 0xba: Yacute \n\ - 0xbd: ] \n 0xbb: diaeresis \n -x3270.codepage.oldibm: 37 -! -! Each entry below is derived from IBM GA27-3831-03, Fourth Edition. -! Austrian/German (table 03) -x3270.charset.german: \ - 0x43: { \n 0x4a: Adiaeresis \n\ - 0x4f: ! \n 0x59: ~ \n\ - 0x5a: Udiaeresis \n 0x5f: ^ \n\ - 0x63: [ \n 0x6a: odiaeresis \n\ - 0x7c: section \n 0xa1: ssharp \n\ - 0xb0: cent \n 0xb5: @ \n\ - 0xba: notsign \n 0xbb: bar \n\ - 0xc0: adiaeresis \n 0xcc: brokenbar \n\ - 0xd0: udiaeresis \n 0xdc: } \n\ - 0xe0: Odiaeresis \n 0xec: backslash \n\ - 0xfc: ] \n -x3270.codepage.german: 273 -! German w/Euro (code page 1141) -x3270.codepage.german-euro: 0x02b70475 -x3270.displayCharset.german-euro: 3270cg-15a,3270cg-15,iso8859-15 -! Finnish (table 09) -x3270.charset.finnish: \ - 0x43: { \n 0x47: } \n\ - 0x4a: section \n 0x4f: ! \n\ - 0x51: ` \n 0x5a: currency \n\ - 0x5b: Aring \n 0x5f: ^ \n\ - 0x63: # \n 0x67: $ \n\ - 0x6a: odiaeresis \n 0x71: backslash \n\ - 0x79: eacute \n 0x7b: Adiaeresis \n\ - 0x7c: Odiaeresis \n 0x9f: ] \n\ - 0xa1: udiaeresis \n 0xb1: cent \n\ - 0xb5: [ \n 0xba: notsign \n\ - 0xbb: | \n 0xc0: adiaeresis \n\ - 0xcc: brokenbar \n 0xd0: aring \n\ - 0xdc: ~ \n 0xe0: Eacute \n\ - 0xec: @ \n -x3270.codepage.finnish: 278 -! Finnish w/Euro (code page 1143) -x3270.codepage.finnish-euro: 0x02b70477 -x3270.displayCharset.finnish-euro: 3270cg-15a,3270cg-15,iso8859-15 -! U.K. (table 22) -x3270.charset.uk: \ - 0x4a: $ \n 0x5b: sterling \n\ - 0xa1: macron \n 0xb0: cent \n\ - 0xb1: [ \n 0xba: ^ \n\ - 0xbc: ~ \n -x3270.codepage.uk: 285 -! U.K w/Euro (code page 1146) -x3270.codepage.uk-euro: 0x02b7047a -x3270.displayCharset.uk-euro: 3270cg-15a,3270cg-15,iso8859-15 -! Norwegian (table 23) -x3270.charset.norwegian: \ - 0x47: } \n 0x4a: # \n\ - 0x4f: ! \n 0x5a: currency \n\ - 0x5b: Aring \n 0x5f: ^ \n\ - 0x67: $ \n 0x6a: oslash \n\ - 0x70: brokenbar \n 0x7b: AE \n\ - 0x7c: Ooblique \n 0x80: @ \n\ - 0x9c: { \n 0x9e: [ \n\ - 0x9f: ] \n 0xa1: udiaeresis \n\ - 0xb0: cent \n 0xba: notsign \n\ - 0xbb: bar \n 0xc0: ae \n\ - 0xd0: aring \n 0xdc: ~ \n -x3270.codepage.norwegian: 277 -! Norwegian w/Euro (code page 1142) -x3270.codepage.norwegian-euro: 0x02b70476 -x3270.displayCharset.norwegian-euro: 3270cg-15a,3270cg-15,iso8859-15 -! French (table 30) -x3270.charset.french: \ - 0x44: @ \n 0x48: backslash \n\ - 0x4a: degree \n 0x4f: ! \n\ - 0x51: { \n 0x54: } \n\ - 0x5a: section \n 0x5f: ^ \n\ - 0x6a: ugrave \n 0x79: mu \n\ - 0x7b: sterling \n 0x7c: agrave \n\ - 0x90: [ \n 0xa0: grave \n\ - 0xa1: diaeresis \n 0xb0: cent \n\ - 0xb1: numbersign \n 0xb5: ] \n\ - 0xba: notsign \n 0xbb: bar \n\ - 0xbd: ~ \n 0xc0: eacute \n\ - 0xd0: egrave \n 0xe0: ccedilla \n -x3270.codepage.french: 297 -! French w/Euro (code page 1147) -x3270.codepage.french-euro: 0x02b7047b -x3270.displayCharset.french-euro: 3270cg-15a,3270cg-15,iso8859-15 -! Icelandic, courtesy of Rikhardur Egilsson -x3270.charset.icelandic: \ - 0xa1: odiaeresis \n 0x5f: Odiaeresis \n\ - 0x79: eth \n 0x7c: Eth \n\ - 0xc0: thorn \n 0x4a: Thorn \n\ - 0xd0: ae \n 0x5a: AE \n\ - 0xcc: ~ \n 0x4f: ! \n\ - 0x8e: { \n 0x9c: } \n\ - 0xae: [ \n 0x9e: ] \n\ - 0xac: @ \n 0xbe: \\ \n\ - 0x7d: apostrophe \n 0x8c: ` \n\ - 0x6a: | \n -x3270.codepage.icelandic: 871 -! Icelandic w/Euro (code page 1149) -x3270.codepage.icelandic-euro: 0x02b7047d -x3270.displayCharset.icelandic-euro: 3270cg-15a,3270cg-15,iso8859-15 -! Belgian, with the help of Peter Govaerts -x3270.charset.belgian: \ - 0x4a: [ \n 0x4f: ! \n\ - 0x5a: ] \n 0x5f: ^ \n\ - 0xb0: cent \n 0xba: notsign \n\ - 0xbb: bar \n -x3270.codepage.belgian: 500 -! Belgian w/Euro (code page 1148) -x3270.codepage.belgian-euro: 0x02b7047c -x3270.displayCharset.belgian-euro: 3270cg-15a,3270cg-15,iso8859-15 -! Italian, courtesy of Claudio Maniscalco and Daniele Patoner -x3270.charset.italian: \ - 0x44: braceleft \n 0x48: backslash \n\ - 0x4a: degree \n 0x4f: exclam \n\ - 0x51: bracketright \n 0x54: braceright \n\ - 0x58: asciitilde \n 0x5a: eacute \n\ - 0x5f: asciicircum \n 0x6a: ograve \n\ - 0x7b: sterling \n 0x7c: section \n\ - 0x79: ugrave \n 0x90: bracketleft \n\ - 0xa1: igrave \n 0xb0: cent \n\ - 0xb1: numbersign \n 0xb5: at \n\ - 0xba: notsign \n 0xbb: bar \n\ - 0xc0: agrave \n 0xcd: brokenbar \n\ - 0xd0: egrave \n 0xdd: grave \n\ - 0xe0: ccedilla \n -x3270.codepage.italian: 280 -! Italian w/Euro (code page 1144) -x3270.codepage.italian-euro: 0x02b70478 -x3270.displayCharset.italian-euro: 3270cg-15a,3270cg-15,iso8859-15 -! Turkish, uses standard ISO 8859-9 fonts -x3270.charset.turkish: \ - 0x48: { \n 0x4a: 0xc7 \n 0x4f: ! \n 0x5a: 0xd0 \n\ - 0x5b: 0xdd \n 0x5f: ^ \n 0x68: [ \n 0x6a: 0xfe \n\ - 0x79: 0xfd \n 0x7b: 0xd6 \n 0x7c: 0xde \n 0x7f: 0xdc \n\ - 0x8c: } \n 0x8d: 0x91 \n 0x8e: 0xa6 \n 0xa1: 0xf6 \n\ - 0xac: ] \n 0xad: $ \n 0xae: @ \n 0xb0: 0xa2 \n\ - 0xba: 0xac \n 0xbb: | \n 0xbe: 0x92 \n 0xc0: 0xe7 \n\ - 0xcc: ~ \n 0xd0: 0xf0 \n 0xdc: 0x5c \n 0xe0: 0xfc \n\ - 0xec: # \n 0xfc: " -x3270.codepage.turkish: 0x04800402 -x3270.displayCharset.turkish: iso8859-9 -! Hebrew, uses standard ISO 8859-8 fonts -x3270.charset.hebrew: #table\n\ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 32 224 225 226 227 228 229 230 231 232 162 46 60 40 43 124 \ - 38 233 234 235 236 237 238 239 240 241 33 36 42 41 59 172 \ - 45 47 242 243 244 245 246 247 248 249 166 44 37 95 62 63 \ - 0 250 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \ - 0 97 98 99 100 101 102 103 104 105 171 187 0 0 0 177 \ -176 106 107 108 109 110 111 112 113 114 0 0 0 184 0 164 \ -181 126 115 116 117 118 119 120 121 122 0 0 0 0 0 174 \ - 94 163 165 183 169 167 182 188 189 190 91 93 175 168 180 170 \ -123 65 66 67 68 69 70 71 72 73 173 0 0 0 0 0 \ -125 74 75 76 77 78 79 80 81 82 185 0 0 0 0 0 \ - 92 186 83 84 85 86 87 88 89 90 178 0 0 0 0 0 \ - 48 49 50 51 52 53 54 55 56 57 179 0 0 0 0 159 -x3270.codepage.hebrew: 0x03ad01a8 -x3270.displayCharset.hebrew: 3270cg-8,iso8859-8 -x3270.emulatorFontList.3270cg-8,iso8859-8: Hebrew 14-point 3270 Font: 3270h -x3270.xkSelector.hebrew: 0x0c -x3270.autoKeymap.hebrew: true -! Brazilian character set for x3270. -! With invaluable help from Ricardo Dias de Pinho - Rio de Janeiro(RJ) BRAZIL. -x3270.codepage.brazilian: 275 -x3270.displayCharset.brazilian: 3270cg-1a,3270cg-1,iso8859-1 -x3270.charset.brazilian: #table\n\ - 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ - 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ - 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ - 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ - 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ - 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ - 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ - 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ - 0x00 0x5b 0x5d 0xa3 0xa5 0xb6 0xa4 0xdf \ - 0xa7 0xaf 0xc9 0x2e 0x3c 0x28 0x2b 0x21 \ - 0x26 0xb0 0x00 0xac 0xa8 0xb4 0xb8 0xe0 \ - *0xe8 *0xec 0x24 0xc7 0x2a 0x29 0x3b 0x5e \ - 0x2d 0x2f *0xf2 *0xf9 0x60 0x7b 0xff *0xe0 \ - 0xe8 0xe9 0xe7 0x2c 0x25 0x5f 0x3e 0x3f \ - 0xec 0xf2 0xf9 *0xfc *0xe7 0xe4 0xeb 0xef \ - 0xf6 0xe3 0x3a 0xd5 0xc3 0x27 0x3d 0x22 \ - 0xfc 0x61 0x62 0x63 0x64 0x65 0x66 0x67 \ - 0x68 0x69 0xe2 0xea 0xee 0xf4 0xfb 0xe1 \ - 0x7d 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f 0x70 \ - 0x71 0x72 0xed 0xf3 0xfa 0xf1 0xc0 0xc8 \ - 0xcc 0x7e 0x73 0x74 0x75 0x76 0x77 0x78 \ - 0x79 0x7a 0xd2 0xd9 0x40 0x23 *0x59 *0x41 \ - *0x45 *0x45 *0x49 *0x4f *0x55 *0x59 *0x43 0xc4 \ - 0xcb 0xcf 0xd6 0xdc 0xc2 0xca 0xce 0xd4 \ - 0xf5 0x41 0x42 0x43 0x44 0x45 0x46 0x47 \ - 0x48 0x49 0xdb 0xc1 0xa2 0xcd 0x00 0x00 \ - *0xe9 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 \ - 0x51 0x52 0xd3 0xda 0xd1 0x00 0x00 0x00 \ - 0x5c 0x00 0x53 0x54 0x55 0x56 0x57 0x58 \ - 0x59 0x5a 0xf8 0xe5 0xa6 0x00 0x00 0x00 \ - 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 \ - 0x38 0x39 0xc6 0xd8 0xc5 0x7c 0x00 0x00 -! Greek, requires the 3270gr font -! Courtesty of Mantzios Achilleus -x3270.charset.greek: #table \ - 0 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \n\ - 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \n\ -128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \n\ -144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \n\ - 32 193 194 195 196 197 198 199 200 201 91 46 60 40 43 33 \n\ - 38 202 203 204 205 206 207 208 209 211 93 36 42 41 59 94 \n\ - 45 47 212 213 214 215 216 217 218 219 174 44 37 95 62 63 \n\ -168 182 184 185 210 186 188 190 191 96 58 35 64 39 61 34 \n\ -181 97 98 99 100 101 102 103 104 105 225 226 227 228 229 230 \n\ -176 106 107 108 109 110 111 112 113 114 231 232 233 234 235 236 \n\ -180 126 115 116 117 118 119 120 121 122 237 238 239 240 241 243 \n\ -163 220 221 222 250 223 252 253 251 254 242 244 245 246 247 248 \n\ -123 65 66 67 68 69 70 71 72 73 173 249 192 224 164 175 \n\ -125 74 75 76 77 78 79 80 81 82 177 189 124 183 162 166 \n\ - 92 161 83 84 85 86 87 88 89 90 178 167 255 170 171 172 \n\ - 48 49 50 51 52 53 54 55 56 57 179 169 165 160 187 159 -x3270.codepage.greek: 0x0464036b -x3270.displayCharset.greek: 3270cg-7,iso8859-7 -x3270.xkSelector.greek: 0x07 -x3270.emulatorFontList.3270cg-7,iso8859-7: 3270gr -! Russian character set for x3270. -x3270.codepage.russian: 880 -x3270.displayCharset.russian: koi8-r -x3270.xkSelector.russian: 0x06 -x3270.charset.russian: #table\n\ - 0 1 2 3 158 9 170 127 182 96 147 11 12 13 14 15 \ - 16 17 18 19 171 126 8 175 24 25 150 125 28 29 30 31 \ - 124 174 129 123 160 10 23 27 172 154 184 173 146 5 6 7 \ - 180 181 22 183 155 156 157 4 178 131 169 148 20 21 149 26 \ - 32 166 167 128 163 139 140 141 142 143 91 46 60 40 43 33 \ - 38 176 177 186 187 188 189 255 191 144 93 36 42 41 59 94 \ - 45 47 130 179 132 133 134 135 136 137 145 44 37 95 62 63 \ - 151 152 153 162 138 164 192 193 194 168 58 35 64 39 61 34 \ - 195 97 98 99 100 101 102 103 104 105 196 197 198 199 200 201 \ - 202 106 107 108 109 110 111 112 113 114 203 204 205 206 207 208 \ - 209 161 115 116 117 118 119 120 121 122 210 211 212 213 214 215 \ - 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 \ - 165 65 66 67 68 69 70 71 72 73 232 233 234 235 236 237 \ - 159 74 75 76 77 78 79 80 81 82 238 239 240 241 242 243 \ - 92 185 83 84 85 86 87 88 89 90 244 245 246 247 248 249 \ - 48 49 50 51 52 53 54 55 56 57 250 251 252 253 254 190 -! Code page 870 for Slovenian, Croatian, Serbian (Latin) and Polish. -x3270.codepage.cp870: 0x03bf0366 -x3270.displayCharset.cp870: iso8859-2 -x3270.xkSelector.cp870: 0x01 -x3270.charset.cp870: #table\n\ - 0 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \ - 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \ - 128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \ - 144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \ - 32 160 226 228 254 225 227 232 231 230 91 46 60 40 43 33 \ - 38 233 234 235 249 237 238 181 229 223 93 36 42 41 59 94 \ - 45 47 194 196 189 193 195 200 199 198 124 44 37 95 62 63 \ - 183 201 202 203 217 205 206 165 197 96 58 35 64 39 61 34 \ - 162 97 98 99 100 101 102 103 104 105 182 242 240 253 248 186 \ - 176 106 107 108 109 110 111 112 113 114 179 241 185 184 178 164 \ - 177 126 115 116 117 118 119 120 121 122 166 210 208 221 216 170 \ - 255 161 191 222 175 167 190 188 174 172 163 209 169 168 180 215 \ - 123 65 66 67 68 69 70 71 72 73 173 244 246 224 243 245 \ - 125 74 75 76 77 78 79 80 81 82 204 251 252 187 250 236 \ - 92 247 83 84 85 86 87 88 89 90 239 212 214 192 211 213 \ - 48 49 50 51 52 53 54 55 56 57 207 219 220 171 218 159 -#ifdef _WIN32 -! Host codepage 37 / Windows codepage 437 (US OEM) -x3270.codepage.bracket437: 37 -x3270.displayCharset.bracket437: windows-437 -x3270.charset.bracket437: #table\n\ - 0 1 2 3 0 9 0 127 0 0 0 11 12 13 14 15 \ - 16 17 18 19 0 0 8 0 24 25 0 0 28 29 30 31 \ - 0 0 0 0 0 10 23 27 0 0 0 0 0 5 6 7 \ - 0 0 22 0 0 0 0 4 0 0 0 0 20 21 0 26 \ - 32 255 131 132 133 160 0 134 135 164 155 46 60 40 43 124 \ - 38 130 136 137 138 161 140 139 141 225 33 36 42 41 59 170 \ - 45 47 0 142 0 0 0 143 128 165 0 44 37 95 62 63 \ - 0 144 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \ - 0 97 98 99 100 101 102 103 104 105 174 175 0 0 0 241 \ -248 106 107 108 109 110 111 112 113 114 166 167 145 0 146 0 \ -230 126 115 116 117 118 119 120 121 122 173 168 0 91 0 0 \ - 94 156 157 250 0 0 0 172 171 0 0 0 0 93 0 0 \ -123 65 66 67 68 69 70 71 72 73 0 147 148 149 162 0 \ -125 74 75 76 77 78 79 80 81 82 0 150 129 151 163 152 \ - 92 246 83 84 85 86 87 88 89 90 253 0 153 0 0 0 \ - 48 49 50 51 52 53 54 55 56 57 0 0 154 0 0 0 -x3270.aplMap.437: \ - 0xaf: 0xf8\n 0xd4: 0xd9\n 0xd5: 0xbf\n 0xc5: 0xda\n\ - 0xc4: 0xc0\n 0xd3: 0xc5\n 0xa2: 0xc4\n 0xc6: 0xc3\n\ - 0xd6: 0xb4\n 0xc7: 0xc1\n 0xd7: 0xc2\n 0x85: 0xb3\n\ - 0x8c: 0xf3\n 0xae: 0xf2\n 0xbe: 0x00\n 0xa3: 0xf9\n\ - 0xad: 0x5b\n 0xbd: 0x5d -! Host codepage 1153/1375 / Windows codepage 1250 (Central Europe) -x3270.codepage.cp1153: 0x055f0481 -x3270.displayCharset.cp1153: windows-1250 -x3270.charset.cp1153: #table\n\ - 0 1 2 3 156 9 134 127 151 0 0 11 12 13 14 15 \ - 16 17 18 19 0 133 8 135 24 25 146 0 28 29 30 31 \ - 0 0 0 131 132 10 23 27 136 137 0 139 0 5 6 7 \ - 144 145 22 147 148 149 150 4 152 153 0 155 20 21 158 26 \ - 32 160 226 228 254 225 227 232 231 230 91 46 60 40 43 33 \ - 38 233 234 235 249 237 238 190 229 223 93 36 42 41 59 94 \ - 45 47 194 196 189 193 195 200 199 198 124 44 37 95 62 63 \ - 161 201 202 203 217 205 206 188 197 96 58 35 64 39 61 34 \ - 162 97 98 99 100 101 102 103 104 105 156 242 240 253 248 186 \ - 176 106 107 108 109 110 111 112 113 114 179 241 154 184 178 128 \ - 185 126 115 116 117 118 119 120 121 122 140 210 208 221 216 170 \ - 255 165 191 222 175 167 158 159 142 143 163 209 138 168 180 215 \ - 123 65 66 67 68 69 70 71 72 73 173 244 246 224 243 245 \ - 125 74 75 76 77 78 79 80 81 82 204 251 252 157 250 236 \ - 92 247 83 84 85 86 87 88 89 90 239 212 214 192 211 213 \ - 48 49 50 51 52 53 54 55 56 57 207 219 220 141 218 0 -#endif -! Thai character set for x3270 -x3270.codepage.thai: 0x03aa0346 -x3270.displayCharset.thai: iso8859-11,tis620.2529-0 -x3270.xkSelector.thai: 0x0d -x3270.charset.thai: #table\n\ - 32 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \ - 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \ - 128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \ - 144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \ - 32 32 161 162 163 164 165 166 167 168 213 46 60 40 43 124 \ - 38 169 168 169 170 171 172 173 174 177 33 36 42 41 59 126 \ - 45 47 175 176 177 178 179 180 181 185 203 44 37 95 62 63 \ - 223 238 182 183 184 185 186 187 188 96 58 35 64 39 61 34 \ - 239 97 98 99 100 101 102 103 104 105 189 190 191 192 193 194 \ - 250 106 107 108 109 110 111 112 113 114 195 196 197 198 199 200 \ - 251 229 115 116 117 118 119 120 121 122 201 202 203 204 205 206 \ - 240 241 242 243 244 245 246 247 248 249 207 208 209 210 211 212 \ - 123 65 66 67 68 69 70 71 72 73 232 213 214 215 216 217 \ - 125 74 75 76 77 78 79 80 81 82 218 224 225 226 227 228 \ - 92 159 83 84 85 86 87 88 89 90 229 230 231 232 233 234 \ - 48 49 50 51 52 53 54 55 56 57 235 236 237 253 254 255 -#ifdef X3270_DBCS -! Simplified Chinese. -! Note that the 'charset' definition applies only to the single-byte character -! set (836), not the double-byte character set (837). -x3270.codepage.simplified-chinese: 0x04960344+0xffff0345 -x3270.displayCharset.simplified-chinese: 3270cg-1a,3270cg-1,iso8859-1+gb2312.1980-0,iso10646-1 -x3270.charset.simplified-chinese: #table\n\ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 32 0 0 0 0 0 0 0 0 0 163 46 60 40 43 124 \ - 38 0 0 0 0 0 0 0 0 0 33 165 42 41 59 172 \ - 45 47 0 0 0 0 0 0 0 0 166 44 37 95 62 63 \ - 0 0 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \ - 0 97 98 99 100 101 102 103 104 105 0 0 0 0 0 0 \ - 0 106 107 108 109 110 111 112 113 114 0 0 0 0 0 0 \ - 126 175 115 116 117 118 119 120 121 122 0 0 0 0 0 0 \ - 94 0 92 0 0 0 0 0 0 0 91 93 0 0 0 0 \ - 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ - 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ - 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ - 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 -! dbcsConverters are ICU converter names, of the form: -! [host-SBCS-converter+]host-DBCS-converter,display-font-converter -x3270.dbcsConverters.simplified-chinese: ibm-837_P100-2000,gb2312-1980 -! Simplified Chinese, using GB18030 and code page 1388 (same code page for -! SBCS and DBCS). -x3270.codepage.chinese-gb18030: 0xffff056c+0xffff056c -x3270.displayCharset.chinese-gb18030: 3270cg-1a,3270cg-1,iso8859-1+gb18030.2000-1,iso10646-1 -x3270.charset.chinese-gb18030: #table\n\ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 32 0 0 0 0 0 0 0 0 0 163 46 60 40 43 124 \ - 38 0 0 0 0 0 0 0 0 0 33 165 42 41 59 172 \ - 45 47 0 0 0 0 0 0 0 0 166 44 37 95 62 63 \ - 0 0 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \ - 0 97 98 99 100 101 102 103 104 105 0 0 0 0 0 0 \ - 0 106 107 108 109 110 111 112 113 114 0 0 0 0 0 0 \ - 126 175 115 116 117 118 119 120 121 122 0 0 0 0 0 0 \ - 94 0 92 0 0 0 0 0 0 0 91 93 0 0 0 0 \ - 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ - 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ - 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ - 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 -x3270.dbcsConverters.chinese-gb18030: ibm-1388_P103-2001+ibm-1388_P103-2001,gb18030 -! Japanese. -! Note that the 'charset' definition applies only to the single-byte character -! set (1027), not the double-byte character set (300). -x3270.codepage.japanese: 0x04940403+0x0172012c -x3270.displayCharset.japanese: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 -x3270.charset.japanese: #table\n\ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 32 0 161 162 163 164 165 166 167 168 0 46 60 40 43 124 \ - 38 169 170 171 172 173 174 175 176 177 33 36 42 41 59 0 \ - 45 47 178 179 180 181 182 183 184 185 0 44 37 95 62 63 \ - 186 187 188 189 190 191 192 193 194 96 58 35 64 39 61 34 \ - 0 97 98 99 100 101 102 103 104 105 195 196 197 198 199 200 \ - 0 106 107 108 109 110 111 112 113 114 201 202 203 204 205 206 \ - 126 0 115 116 117 118 119 120 121 122 207 208 209 91 210 211 \ - 94 0 92 212 213 214 215 216 217 218 219 220 221 93 222 223 \ - 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ - 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ - 0 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ - 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 -x3270.dbcsConverters.japanese: ibm-1027_P100-1995+ibm-300_P110-1997,EUC-JP -! Japanese, using code page 290 for SBCS. -x3270.codepage.japanese-290: 0x04940122+0x0172012c -x3270.displayCharset.japanese-290: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 -x3270.charset.japanese-290: #table\n\ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 32 161 162 163 164 165 166 167 168 169 0 46 60 40 43 124 \ - 38 170 171 172 173 174 175 0 176 0 33 92 42 41 59 0 \ - 45 47 97 98 99 100 101 102 103 104 0 44 37 95 62 63 \ - 91 105 106 107 108 109 110 111 112 96 58 35 64 39 61 34 \ - 93 177 178 179 180 181 182 183 184 185 186 113 187 188 189 190 \ - 191 192 193 194 195 196 197 198 199 200 201 114 0 202 203 204 \ - 0 126 205 206 207 208 209 210 211 212 213 115 214 215 216 217 \ - 94 0 0 116 117 118 119 120 121 122 218 219 220 221 222 223 \ - 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ - 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ - 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ - 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 -x3270.dbcsConverters.japanese-290: ibm-290+ibm-300_P110-1997,EUC-JP -! Japanese, using code page 930 for both SBCS and DBCS. -x3270.codepage.japanese-930: 0x017203a2+0x017203a2 -x3270.displayCharset.japanese-930: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 -x3270.charset.japanese-930: #table\n\ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 32 161 162 163 164 165 166 167 168 169 0 46 60 40 43 124 \ - 38 170 171 172 173 174 175 0 176 0 33 92 42 41 59 0 \ - 45 47 97 98 99 100 101 102 103 104 0 44 37 95 62 63 \ - 91 105 106 107 108 109 110 111 112 96 58 35 64 39 61 34 \ - 93 177 178 179 180 181 182 183 184 185 186 113 187 188 189 190 \ - 191 192 193 194 195 196 197 198 199 200 201 114 0 202 203 204 \ - 0 126 205 206 207 208 209 210 211 212 213 115 214 215 216 217 \ - 94 0 0 116 117 118 119 120 121 122 218 219 220 221 222 223 \ - 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ - 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ - 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ - 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 -x3270.dbcsConverters.japanese-930: ibm-930+ibm-930,EUC-JP -! Japanese, using code page 939 for both SBCS and DBCS. -x3270.codepage.japanese-939: 0x017203ab+0x017203ab -x3270.displayCharset.japanese-939: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 -x3270.charset.japanese-939: #table\n\ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 32 0 161 162 163 164 165 166 167 168 0 46 60 40 43 124 \ - 38 169 170 171 172 173 174 175 176 177 33 36 42 41 59 0 \ - 45 47 178 179 180 181 182 183 184 185 0 44 37 95 62 63 \ - 186 187 188 189 190 191 192 193 194 96 58 35 64 39 61 34 \ - 0 97 98 99 100 101 102 103 104 105 195 196 197 198 199 200 \ - 0 106 107 108 109 110 111 112 113 114 201 202 203 204 205 206 \ - 126 0 115 116 117 118 119 120 121 122 207 208 209 91 210 211 \ - 94 0 92 212 213 214 215 216 217 218 219 220 221 93 222 223 \ - 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ - 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ - 0 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ - 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 -x3270.dbcsConverters.japanese-939: ibm-939+ibm-939,EUC-JP -! Japanese, using code page 1390 for both SBCS and DBCS. -x3270.codepage.japanese-1390: 0x0172056e+0x0172056e -x3270.displayCharset.japanese-1390: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 -x3270.charset.japanese-1390: #table\n\ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 32 161 162 163 164 165 166 167 168 169 0 46 60 40 43 124 \ - 38 170 171 172 173 174 175 0 176 0 33 92 42 41 59 0 \ - 45 47 97 98 99 100 101 102 103 104 0 44 37 95 62 63 \ - 91 105 106 107 108 109 110 111 112 96 58 35 64 39 61 34 \ - 93 177 178 179 180 181 182 183 184 185 186 113 187 188 189 190 \ - 191 192 193 194 195 196 197 198 199 200 201 114 0 202 203 204 \ - 0 126 205 206 207 208 209 210 211 212 213 115 214 215 216 217 \ - 94 0 0 116 117 118 119 120 121 122 218 219 220 221 222 223 \ - 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ - 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ - 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ - 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 -x3270.dbcsConverters.japanese-1390: ibm-1390+ibm-1390,EUC-JP -! Japanese, using code page 1399 for both SBCS and DBCS. -x3270.codepage.japanese-1399: 0x01720577+0x01720577 -x3270.displayCharset.japanese-1399: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 -x3270.charset.japanese-1399: #table\n\ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ - 32 0 161 162 163 164 165 166 167 168 0 46 60 40 43 124 \ - 38 169 170 171 172 173 174 175 176 177 33 36 42 41 59 0 \ - 45 47 178 179 180 181 182 183 184 185 0 44 37 95 62 63 \ - 186 187 188 189 190 191 192 193 194 96 58 35 64 39 61 34 \ - 0 97 98 99 100 101 102 103 104 105 195 196 197 198 199 200 \ - 0 106 107 108 109 110 111 112 113 114 201 202 203 204 205 206 \ - 126 0 115 116 117 118 119 120 121 122 207 208 209 91 210 211 \ - 94 0 92 212 213 214 215 216 217 218 219 220 221 93 222 223 \ - 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ - 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ - 0 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ - 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 -x3270.dbcsConverters.japanese-1399: ibm-1399+ibm-1399,EUC-JP -#endif -! Non-standard Persian support. -x3270.charset.persian: \ - *0x42: 0x0622 \n\ - *0x43: 0x0627 \n\ - *0x44: 0x0628 \n\ - *0x45: 0xfb56 \n\ - *0x46: 0x062a \n\ - *0x47: 0x062b \n\ - *0x48: 0x062c \n\ - *0x49: 0xfb7a \n\ - *0x51: 0x062d \n\ - *0x52: 0x062e \n\ - *0x53: 0x062f \n\ - *0x54: 0x0630 \n\ - *0x55: 0x0631 \n\ - *0x56: 0x0632 \n\ - *0x57: 0xfb8b \n\ - *0x58: 0x0633 \n\ - *0x59: 0x0634 \n\ - *0x62: 0x0635 \n\ - *0x63: 0x0636 \n\ - *0x64: 0x0638 \n\ - *0x65: 0x0639 \n\ - *0x66: 0x063a \n\ - *0x67: 0x063b \n\ - *0x68: 0x063d \n\ - *0x69: 0x063e \n\ - *0x70: 0x063f \n\ - *0x71: 0x06a9 \n\ - *0x72: 0x06af \n\ - *0x73: 0x0641 \n\ - *0x74: 0x0643 \n\ - *0x75: 0x0644 \n\ - *0x76: 0x0646 \n\ - *0x77: 0x0645 \n\ - *0x78: 0x064d \n\ - *0x80: 0x064c \n\ - *0x8c: 0x0621 \n\ - *0x8d: 0x0623 \n\ - *0x8e: 0x0625 \n\ - *0x9c: 0x0629 \n\ - *0x9d: 0x0626 \n\ - *0x9e: 0xfdfc \n\ - *0xcb: 0x061b \n\ - *0xcc: 0x060c \n\ - *0xcd: 0x061f -x3270.codepage.persian: 37 -x3270.displayCharset.persian: iso10646-1 -! IBM codepage 1047, used by Unix System Services -x3270.charset.cp1047: \ - 0xad: [ \n 0xba: Yacute \n\ - 0xbd: ] \n 0xbb: diaeresis \n\ - 0x5f: asciicircum \n 0xb0: notsign -! Spanish character set for x3270. -x3270.codepage.spanish: 284 -x3270.displayCharset.spanish: 3270cg-1a,3270cg-1,iso8859-1 -x3270.charset.spanish: #table\n\ - 0 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \ - 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \ -128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \ -144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \ - 32 160 226 228 224 225 227 229 231 166 91 46 60 40 43 124 \ - 38 233 234 235 232 237 238 239 236 223 93 36 42 41 59 172 \ - 45 47 194 196 192 193 195 197 199 35 241 44 37 95 62 63 \ -248 201 202 203 200 205 206 207 204 96 58 209 64 39 61 34 \ -216 97 98 99 100 101 102 103 104 105 171 187 240 253 254 177 \ -176 106 107 108 109 110 111 112 113 114 170 186 230 184 198 164 \ -181 168 115 116 117 118 119 120 121 122 161 191 208 221 222 174 \ -162 163 165 183 169 167 182 188 189 190 94 33 175 126 180 215 \ -123 65 66 67 68 69 70 71 72 73 173 244 246 242 243 245 \ -125 74 75 76 77 78 79 80 81 82 185 251 252 249 250 255 \ - 92 247 83 84 85 86 87 88 89 90 178 212 214 210 211 213 \ - 48 49 50 51 52 53 54 55 56 57 179 219 220 217 218 159 -! Spanish w/Euro (code page 1145) -x3270.codepage.spanish-euro: 0x02b70479 -x3270.displayCharset.spanish-euro: 3270cg-15a,3270cg-15,iso8859-15 diff --git a/configure.ac b/configure.ac index 660f144..a104567 100644 --- a/configure.ac +++ b/configure.ac @@ -444,10 +444,12 @@ dnl --------------------------------------------------------------------------- dnl Configure which files to generate. dnl --------------------------------------------------------------------------- -AC_CONFIG_FILES(sdk/lib3270.pc) -AC_CONFIG_FILES(src/lib3270/version.c) AC_CONFIG_FILES(Makefile) +AC_CONFIG_FILES(src/lib3270/Makefile) +AC_CONFIG_FILES(src/lib3270/version.c) +AC_CONFIG_FILES(src/lib3270/lib3270.pc) + dnl --------------------------------------------------------------------------- dnl Output the generated config.status script. dnl --------------------------------------------------------------------------- diff --git a/sdk/lib3270.pc.in b/sdk/lib3270.pc.in deleted file mode 100644 index 42f2715..0000000 --- a/sdk/lib3270.pc.in +++ /dev/null @@ -1,16 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -version_major=@PACKAGE_MAJOR_VERSION@ -version_minor=@PACKAGE_MINOR_VERSION@ -sdk_version=@LIB3270_SDK_VERSION@ - -Name: @PACKAGE_NAME@ -Description: @PACKAGE_DESCRIPTION@ -Version: @PACKAGE_VERSION@ -Libs: -L\@libdir@ -l@LIB3270_NAME@ -Libs.private: @LIBSSL_LIBS@ -Cflags: -I@includedir@ - diff --git a/src/lib3270++/local/session.cc b/src/lib3270++/local/session.cc index ef69765..e0df4f5 100644 --- a/src/lib3270++/local/session.cc +++ b/src/lib3270++/local/session.cc @@ -138,7 +138,7 @@ return (ConnectionState) lib3270_get_connection_state(this->hSession); } - /// @brief Set field at current posicion, jumps to next writable field. + /// @brief Set field at current position, jumps to next writable field. TN3270::Session & Local::Session::push(const char *text) { std::lock_guard lock(sync); return *this; diff --git a/src/lib3270/Makefile.in b/src/lib3270/Makefile.in new file mode 100644 index 0000000..c7a6e60 --- /dev/null +++ b/src/lib3270/Makefile.in @@ -0,0 +1,358 @@ +# +# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 +# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a +# aplicativos mainframe. Registro no INPI sob o nome G3270. +# +# Copyright (C) <2008> +# +# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob +# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela +# Free Software Foundation. +# +# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER +# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO +# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para +# obter mais detalhes. +# +# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este +# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple +# Place, Suite 330, Boston, MA, 02111-1307, USA +# +# Contatos: +# +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) +# + +#---[ Library configuration ]------------------------------------------------------------ + +LIBNAME=lib@LIB3270_NAME@ + +SOURCES= \ + $(wildcard *.c) \ + $(wildcard @OSNAME@/*.c) \ + $(wildcard @OSNAME@/*.rc) \ + $(BASEDIR)/.tmp/$(LIBNAME)/fallbacks.c + +TEST_SOURCES= \ + $(wildcard src/testprogram/*.c) + +#---[ Tools ]---------------------------------------------------------------------------- + +CC=@CC@ +HOST_CC=@HOST_CC@ +LD=@CC@ +LN_S=@LN_S@ +MKDIR=@MKDIR_P@ +INSTALL=@INSTALL@ +INSTALL_DATA=@INSTALL_DATA@ +INSTALL_PROGRAM=@INSTALL_PROGRAM@ +XGETTEXT=@XGETTEXT@ +MSGCAT=@MSGCAT@ +WINDRES=@WINDRES@ +AR=@AR@ + +#---[ Paths ]---------------------------------------------------------------------------- + +prefix=@prefix@ +exec_prefix=@exec_prefix@ +bindir=@bindir@ +sbindir=@sbindir@ +libdir=@libdir@ +includedir=@includedir@ +datarootdir=@datarootdir@ +localedir=@localedir@ +docdir=@docdir@ +sysconfdir=@sysconfdir@ + +BASEDIR=@BASEDIR@ + +POTDIR=$(BASEDIR)/.pot + +OBJDIR=$(BASEDIR)/.obj/$(LIBNAME) +OBJDBG=$(OBJDIR)/Debug +OBJRLS=$(OBJDIR)/Release + +BINDIR=$(BASEDIR)/.bin +BINDBG=$(BINDIR)/Debug +BINRLS=$(BINDIR)/Release + +#---[ Rules ]---------------------------------------------------------------------------- + +DEPENDS= \ + Makefile \ + ../include/*.h \ + ../include/lib3270/*.h \ + ../lib3270/*.h + + +CFLAGS= \ + @CFLAGS@ \ + -g \ + -I../include + -DBUILD_DATE=`date +%Y%m%d` \ + @LIBSSL_CFLAGS@ + +LIBS= \ + @LIBS@ \ + @LIBSSL_LIBS@ \ + @LIBICONV@ \ + @INTL_LIBS@ + +#---[ Debug Rules ]---------------------------------------------------------------------- + +$(OBJDBG)/%.o: \ + %.c \ + $(DEPENDS) + + @echo $< ... + @$(MKDIR) `dirname $@` + @$(CC) \ + $(CFLAGS) \ + -Wall -Wextra -fstack-check \ + -DDEBUG=1 \ + -o $@ -c $< + +$(OBJDBG)/%.o: \ + %.rc + + @echo $< ... + @$(MKDIR) `dirname $@` + @$(WINDRES) $< -O coff -o $@ + +#---[ Release Rules ]-------------------------------------------------------------------- + +$(OBJRLS)/%.o: \ + %.c \ + $(DEPENDS) + + @echo $< ... + @$(MKDIR) `dirname $@` + @$(CC) \ + $(CFLAGS) \ + -DNDEBUG=1 \ + -o $@ -c $< + +$(OBJRLS)/%.o: \ + %.rc + + @echo $< ... + @$(MKDIR) `dirname $@` + @$(WINDRES) $< -O coff -o $@ + +#---[ Misc Rules ]----------------------------------------------------------------------- + +$(POTDIR)/$(LIBNAME)/%.pot: \ + %.c + + @echo $(notdir $@) ... + @$(MKDIR) `dirname $@` + @$(XGETTEXT) \ + --language=C \ + --keyword=_ \ + --keyword=N_ \ + --keyword=MSG_:2 \ + --output=$@ \ + $< + @touch $@ + +$(POTDIR)/$(LIBNAME)/%.pot: \ + %.rc + + @echo $< ... + @$(MKDIR) `dirname $@` + @touch $@ + +#---[ Release Targets ]------------------------------------------------------------------ + +all: \ + $(BINRLS)/$(LIBNAME)@DLLEXT@ \ + $(BINRLS)/$(LIBNAME).a \ + $(POTDIR)/$(LIBNAME).pot + + +Release: \ + $(BINRLS)/$(LIBNAME)@DLLEXT@ \ + $(BINRLS)/$(LIBNAME).a + +$(BINRLS)/$(LIBNAME)@DLLEXT@: \ + $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ + + @echo $< ... + @rm -f $@ + @$(LN_S) \ + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ + $@ + +$(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \ + $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ + + @rm -f $@ + @$(LN_S) \ + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ + $@ + +$(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) + + @$(MKDIR) `dirname $@` + @echo $< ... + @$(LD) \ + -shared -Wl,-soname,$(@F) \ + -o $@ \ + $(LDFLAGS) \ + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) \ + $(LIBS) + +$(BINRLS)/$(LIBNAME).a: \ + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) + + @echo $@ ... + @$(MKDIR) `dirname $@` + @$(AR) rcs $@ $^ + + +#---[ Install Targets ]------------------------------------------------------------------ + +install: \ + $(BINRLS)/$(LIBNAME)@DLLEXT@ \ + $(BINRLS)/$(LIBNAME).a + + # Install library + @mkdir -p $(DESTDIR)$(libdir) + + @$(INSTALL_PROGRAM) \ + $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ + $(DESTDIR)$(libdir) + + + @$(LN_S) \ + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ + $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ + + @$(LN_S) \ + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ + $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@ + + # Install static library + @$(INSTALL_DATA) \ + $(BINRLS)/$(LIBNAME).a \ + $(DESTDIR)$(libdir) + + # Install SDK + + @mkdir -p $(DESTDIR)$(includedir)/$(LIBNAME) + + @$(INSTALL_DATA) \ + ../include/$(LIBNAME)/*.h \ + $(DESTDIR)$(includedir)/$(LIBNAME) + + @$(INSTALL_DATA) \ + ../include/$(LIBNAME).h \ + $(DESTDIR)$(includedir)/$(LIBNAME).h + + # Install PKG-CONFIG files + @mkdir -p $(DESTDIR)$(libdir)/pkgconfig + @$(INSTALL_DATA) \ + $(LIBNAME).pc \ + $(DESTDIR)$(libdir)/pkgconfig/$(LIBNAME).pc + + +#---[ Misc Targets ]--------------------------------------------------------------------- + +$(BASEDIR)/.tmp/$(LIBNAME)/fallbacks.c: \ + X3270.xad \ + $(wildcard mkfb/*.c) + + @$(MKDIR) `dirname $@` + @$(MKDIR) $(BINDIR) + @echo $< ... + @$(HOST_CC) -g -o $(BINDIR)/mkfb@EXEEXT@ $(wildcard mkfb/*.c) + @$(BINDIR)/mkfb@EXEEXT@ -c X3270.xad $@ + +$(POTDIR)/$(LIBNAME).pot: \ + $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(LIBNAME)/$(SRC).pot) + + @rm -f $@ + @mkdir -p `dirname $@` + @$(MSGCAT) --sort-output $^ > $@ + +locale: \ + lib$(LIBNAME).pot + + +#---[ Debug Targets ]-------------------------------------------------------------------- + +Debug: \ + $(BINDBG)/$(LIBNAME)@DLLEXT@ + +$(BINDBG)/$(LIBNAME)@EXEEXT@: \ + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \ + $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o) + + @$(MKDIR) `dirname $@` + @echo $< ... + $(LD) -o $@ $^ $(LDFLAGS) $(LIBS) + +run: \ + $(BINDBG)/$(LIBNAME)@EXEEXT@ + + @LD_LIBRARY_PATH=$(BINDBG) \ + $(BINDBG)/$(LIBNAME)@EXEEXT@ + + +$(BINDBG)/$(LIBNAME)@DLLEXT@: \ + $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ + + @echo $< ... + @rm -f $@ + @$(LN_S) \ + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ + $@ + +$(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \ + $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ + + @rm -f $@ + @$(LN_S) \ + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ + $@ + +$(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) + + @$(MKDIR) `dirname $@` + @echo $< ... + @$(LD) \ + -shared -Wl,-soname,$(@F) \ + -o $@ \ + $(LDFLAGS) \ + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \ + $(LIBS) + +#---[ Clean Targets ]-------------------------------------------------------------------- + +clean: \ + cleanDebug \ + cleanRelease + + @rm -fr $(BASEDIR)/.tmp/$(LIBNAME) + @rm -fr $(POTDIR)/$(LIBNAME) + +cleanDebug: + + @rm -fr $(OBJDBG) + @rm -fr $(BINDBG) + +cleanRelease: + + @rm -fr $(OBJRLS) + @rm -fr $(BINRLS) + @rm -fr $(POTDIR) + @rm -f lib$(LIBNAME).pot + +clean: \ + cleanDebug \ + cleanRelease + + diff --git a/src/lib3270/X3270.xad b/src/lib3270/X3270.xad new file mode 100644 index 0000000..f189b6c --- /dev/null +++ b/src/lib3270/X3270.xad @@ -0,0 +1,2426 @@ +! Copyright 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by Paul +! Mattes. +! Permission to use, copy, modify, and distribute this software and its +! documentation for any purpose and without fee is hereby granted, +! provided that the above copyright notice appear in all copies and that +! both that copyright notice and this permission notice appear in +! supporting documentation. +! +! x3270, c3270, s3270 and tcl3270 are distributed in the hope that they will +! be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file LICENSE +! for more details. +! +! x3270 app-defaults file. This file is generally compiled into x3270, rather +! than installed. +! +! This file is in three sections: +! +! (1) User-Modifiable Resources +! Resources that are likeliest to be modified by an end user. +! +! (2) Labels and Messages +! Resources that are likely to be modified for translation into another +! language. +! +! (3) Base-Level Resources +! Resources required for the basic operation of x3270, not for the +! faint-hearted to modify. +! +!============================================================================= +! Section 1: User-Modifiable Resources +! +! Resources that are likeliest to be modified by an end user. +!============================================================================= +! +! Many of the resource definitions are commented out, because they are +! the defaults defined in x3270 itself. They are listed here so you can +! easily uncomment and change them. +#ifndef STANDALONE +! +! Fonts +! *.emulatorFont: 3270 +! +! Color schemes for full-color (3279) mode +! Each scheme is a list of 23 items: +! 0 X color to use for IBM "neutral/black" (also used as ANSI color 0) +! 1 X color to use for IBM "blue" (also used for ANSI color 4) +! 2 X color to use for IBM "red" (also used for ANSI color 1) +! 3 X color to use for IBM "pink" (also used for ANSI color 5) +! 4 X color to use for IBM "green" (also used for ANSI color 2) +! 5 X color to use for IBM "turquoise" +! 6 X color to use for IBM "yellow" (also used for ANSI color 3) +! 7 X color to use for IBM "neutral/white" +! 8 X color to use for IBM "black" +! 9 X color to use for IBM "deep blue" +! 10 X color to use for IBM "orange" +! 11 X color to use for IBM "purple" +! 12 X color to use for IBM "pale green" +! 13 X color to use for IBM "pale turquoise" (also used for ANSI color 6) +! 14 X color to use for IBM "grey" +! 15 X color to use for IBM "white" (also used for ANSI color 7) +! 16 X color to use if one of 0..15 cannot be allocated (white or black) +! 17 X color to use as the default screen background +! 18 X color to use as the select background +! 19 IBM color index (0..15) to use for unprotected, unhighlighted fields +! 20 IBM color index (0..15) to use for unprotected, highlighted fields +! 21 IBM color index (0..15) to use for protected, unhighlighted fields +! 22 IBM color index (0..15) to use for protected, highlighted fields +! +! x3270.colorScheme: default +x3270.colorScheme.default: \ + black deepSkyBlue red pink \ + green turquoise yellow white \ + black blue3 orange purple \ + paleGreen paleTurquoise2 grey white \ + white black dimGrey \ + 4 2 1 15 +x3270.colorScheme.reverse: \ + black blue firebrick pink \ + green4 cadetBlue goldenrod black \ + black blue3 orange purple \ + paleGreen darkTurquoise grey black \ + black white dimGrey \ + 4 2 1 0 +x3270.colorScheme.bright: \ + black blue red magenta \ + green turquoise yellow white \ + black blue3 orange purple \ + paleGreen cyan grey white \ + white black dimGrey \ + 4 2 1 15 +x3270.colorScheme.cpe: \ + black LightBlue1 PaleVioletRed1 \ + pink green turquoise yellow white \ + black LightBlue3 orange MediumPurple1 \ + paleGreen paleTurquoise2 grey80 white \ + white black dimGrey \ + 4 2 1 15 +x3270.colorScheme.greenScreen: \ + green green green green \ + green green green green \ + green green green green \ + green green green green \ + white black dimGrey \ + 4 15 4 15 +#ifdef X3270_MENUS +! Color schemes listed on the Options color menu +x3270.schemeList: Default 3279: default\n\ + Bright: bright\n\ + Reverse: reverse\n\ + Green Screen: greenScreen +! Character sets listed on the Options menu +x3270.charsetList: U.S. English (CP 37): us-intl\n\ + Bracket (CP 37, modified): bracket\n\ + APL (CP 37): apl\n\ + Euro>U.S. English (CP 1140): us-euro\n\ + Euro>Belgian (CP 1148): belgian-euro\n\ + Euro>Finnish (CP 1143): finnish-euro\n\ + Euro>French (CP 1147): french-euro\n\ + Euro>German (CP 1141): german-euro\n\ + Euro>Icelandic (CP 1149): icelandic-euro\n\ + Euro>Italian (CP 1144): italian-euro\n\ + Euro>Norwegian (CP 1142): norwegian-euro\n\ + Euro>Spanish (CP 1145): spanish-euro\n\ + Euro>United Kingdom (CP 1146): uk-euro\n\ + Belgian (CP 500): belgian\n\ + Brazilian (CP 275): brazilian\n\ +#ifdef X3270_DBCS + Chinese Simplified (CP 836+837): simplified-chinese\n\ + Chinese GB 18030 (CP 1388): chinese-gb18030\n\ +#endif + Finnish (CP 278): finnish\n\ + French (CP 297): french\n\ + German (CP 273): german\n\ + Greek (CP 875): greek\n\ + Hebrew (CP 424): hebrew\n\ + Icelandic (CP 871): icelandic\n\ + Italian (CP 280): italian\n\ +#ifdef X3270_DBCS + Japanese>CP 1027+300: japanese\n\ + Japanese>CP 290+300: japanese-290\n\ + Japanese>CP 930: japanese-930\n\ + Japanese>CP 939: japanese-939\n\ + Japanese>CP 1390: japanese-1390\n\ + Japanese>CP 1399: japanese-1399\n\ +#endif + Norwegian (CP 277): norwegian\n\ + Open Systems (CP 1047): cp1047\n\ + Polish (CP 870): cp870\n\ + Russian (CP 880): russian\n\ + Slovenian (CP 870): cp870\n\ + Spanish (CP 284): spanish\n\ + Thai (CP 838): thai\n\ + Turkish (CP 1026): turkish\n\ + United Kingdom (CP 285): uk\n +#endif +! +! Pseudo-colors for 3278 mode +! x3270.colorBackground: black +! x3270.selectBackground: dimGrey +! x3270.normalColor: green +! Note: the following values are the new defaults, which cause 3278's +! to display everything in green. +! x3270.inputColor: green +! x3270.boldColor: green +! To resurrect x3270's Pseudo-Color mode, which was how 3278's were +! displayed up through x3270 3.3.5, set the following resource values: +! x3270.inputColor: orange +! x3270.boldColor: cyan +! +! Cursors +! x3270.normalCursor: top_left_arrow +! x3270.waitCursor: watch +! x3270.lockedCursor: X_cursor +! +! Line-mode Telnet parameters +! x3270.icrnl: true +! x3270.inlcr: false +! x3270.erase: ^? +! x3270.kill: ^U +! x3270.werase: ^W +! x3270.rprnt: ^R +! x3270.lnext: ^V +! x3270.intr: ^C +! x3270.quit: ^\\ +! x3270.eof: ^D +! +! Toggles, using the same names as the "-set" and "-clear" options +! x3270.altCursor: false +! x3270.blankFill: false +! x3270.crosshair: false +! x3270.cursorBlink: false +! x3270.cursorPos: true +! x3270.dsTrace: false +! x3270.eventTrace: false +! x3270.lineWrap: true +! x3270.marginedPaste: false +! x3270.monoCase: false +! x3270.rectangleSelect: false +! x3270.screenTrace: false +! x3270.scrollBar: false +! x3270.showTiming: false +! +! Miscellaneous configuration parameters +! x3270.activeIcon: false +! x3270.allowResize: true +! x3270.bellVolume: 0 +! x3270.charset: bracket +! x3270.composeMap: latin1 +! x3270.connectFileName: ~/.x3270connect +! x3270.doConfirms: true +! x3270.debugTracing: true +! x3270.disconnectClear: false +! x3270.hostsFile: /usr/lib/X11/x3270/ibm_hosts +! x3270.highlightSelect: true +! x3270.idleCommand: +! x3270.idleTimeout: ~7m +! x3270.inputMethod: +! x3270.invertKeypadShift: false +! x3270.keymap: +! x3270.keypad: right +! x3270.keypadOn: false +! x3270.labelIcon: false +! x3270.m3279: false +! x3270.macros: +! x3270.menuBar: true +! x3270.modifiedSel: false +! x3270.modifiedSelColor: 10 +! x3270.model: 4 +! x3270.mono: false +! x3270.numericLock: false +! x3270.once: false +! x3270.pluginCommand: x3270hist.pl +! x3270.port: telnet +! x3270.preeditType: OverTheSpot+1 +! x3270.saveLines: 64 +! x3270.scripted: false +! x3270.suppressHost: false +! x3270.suppressFontMenu: false +! x3270.termName: +! x3270.traceDir: /tmp +! x3270.cursorColor: red +! (note: cursorColor is not used unless useCursorColor is true, below) +! x3270.useCursorColor: false +! x3270.visualBell: false +! x3270.visualSelect: false +! x3270.visualSelectColor: 6 +! +! Fonts listed on the Options menu and for screen resizing +x3270.emulatorFontList.3270cg-1a,3270cg-1,iso8859-1: \ + 3270 Font (14 point): #resize 3270\n\ + 8-point Font: #resize 3270gt8\n\ + 12-point Font: #resize 3270-12\n\ + 16-point Font: #resize 3270gt16\n\ + 20-point Font: #resize 3270-20\n\ + 24-point Font: #resize 3270gt24\n\ + 32-point Font: #resize 3270gt32 +x3270.emulatorFontList.3270cg-15a,3270cg-15,iso8859-15: \ + 3270 Font (14 point): #resize 3270e\n\ + 8-point Font: #resize 3270egt8\n\ + 12-point Font: #resize 3270e-12\n\ + 16-point Font: #resize 3270egt16\n\ + 20-point Font: #resize 3270e-20\n\ + 24-point Font: #resize 3270egt24\n\ + 32-point Font: #resize 3270egt32 +x3270.emulatorFontList.3270cg-1a,3270cg-1,iso8859-1+gb2312.1980-0,iso10646-1: \ + 14-point 3270: 3270+-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0\n\ + 20-point 3270: 3270-20+-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0\n\ + 8x16: 8x16+-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0\n\ + 12x24: 12x24+-isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0 +x3270.emulatorFontList.jisx0201.1976-0+jisx0208.1983-0,iso10646-1: \ + 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\ + 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\ + 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\ + 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 +#endif +! +! Print commands +x3270.printTextCommand: lpr +#ifndef STANDALONE +x3270.printWindowCommand: xwd -id %d | xpr | lpr +! +! System V versions of print commands +! x3270.printTextCommand: lp +! x3270.printWindowCommand: xwd -id %d | xpr | lp +! +! Trace window command +x3270.traceCommand: tail -f +! +! File transfer command +! x3270.ftCommand: ind$file +! +! Printer session options +#endif +#ifdef _WIN32 +x3270.printer.assocCommandLine: wpr3287.exe -assoc %L% %R% %P% %H% +x3270.printer.luCommandLine: wpr3287.exe %R% %P% %L%@%H% +! x3270.printer.name: +#else +x3270.printer.command: lpr +x3270.printer.assocCommandLine: pr3287 -assoc %L% -command "%C%" %R% %P% "%H%" +x3270.printer.luCommandLine: pr3287 -command "%C%" %R% %P% "%L%@%H%" +#endif +#ifndef STANDALONE +! +! Translation table for the '@server' pseudo-keymap, which is the keymap +! you get by default (in addition to the 'base' keymap, below). Maps server +! vendor strings to keymap names. +x3270.serverKeymapList: \ + Sun Microsystems, Inc.: sun_k5\n\ + Hewlett-Packard Company: hp-k1\n\ + International Business Machines: alt\n\ + Silicon Graphics: alt\n\ + The XFree86 Project, Inc: alt\n\ + AT&T Laboratories Cambridge: alt +! +! Keymaps (keyboard and mouse mappings) +! +! Base keymap: What you get by default, in both 3270 and NVT modes. Any other +! user-specified keymap is logically added to this keymap. +x3270.keymap.base: \ + :Multi_key: Compose()\n\ + Ctrl: HandleMenu(fileMenu)\n\ + Ctrl: HandleMenu(optionsMenu)\n\ + Ctrl: HandleMenu(hostMenu,macrosMenu)\n\ + : SelectDown()\n\ + ~Shift: SelectMotion()\n\ + : ignore()\n\ + : ignore()\n\ + : insert-selection(PRIMARY)\n\ + : start-extend()\n\ + : select-extend()\n\ + ~Shift: SelectUp(PRIMARY)\n\ + ShiftInsert: insert-selection(PRIMARY)\n\ + ShiftUp: KybdSelect(Up,PRIMARY)\n\ + ShiftDown: KybdSelect(Down,PRIMARY)\n\ + ShiftLeft: KybdSelect(Left,PRIMARY)\n\ + ShiftRight: KybdSelect(Right,PRIMARY)\n\ + ShiftF1: PF(13)\n\ + ShiftF2: PF(14)\n\ + ShiftF3: PF(15)\n\ + ShiftF4: PF(16)\n\ + ShiftF5: PF(17)\n\ + ShiftF6: PF(18)\n\ + ShiftF7: PF(19)\n\ + ShiftF8: PF(20)\n\ + ShiftF9: PF(21)\n\ + ShiftF10: PF(22)\n\ + ShiftF11: PF(23)\n\ + ShiftF12: PF(24)\n\ + MetaF1: PF(13)\n\ + MetaF2: PF(14)\n\ + MetaF3: PF(15)\n\ + MetaF4: PF(16)\n\ + MetaF5: PF(17)\n\ + MetaF6: PF(18)\n\ + MetaF7: PF(19)\n\ + MetaF8: PF(20)\n\ + MetaF9: PF(21)\n\ + MetaF10: PF(22)\n\ + MetaF11: PF(23)\n\ + MetaF12: PF(24)\n\ + :F1: PF(1)\n\ + :F2: PF(2)\n\ + :F3: PF(3)\n\ + :F4: PF(4)\n\ + :F5: PF(5)\n\ + :F6: PF(6)\n\ + :F7: PF(7)\n\ + :F8: PF(8)\n\ + :F9: PF(9)\n\ + :F10: PF(10)\n\ + :F11: PF(11)\n\ + :F12: PF(12)\n\ + :Print: PrintText()\n\ + Altq: Quit()\n\ + :dead_acute: Compose() Key(apostrophe)\n\ + :dead_grave: Compose() Key(grave)\n\ + :dead_circumflex: Compose() Key(asciicircum)\n\ + :dead_tilde: Compose() Key(asciitilde)\n\ + :dead_diaeresis: Compose() Key(quotedbl)\n +! +! Base keymap for 3270 mode. These mappings are added to the base keymap, +! but only when in 3270 mode. +! These were originally part of the base keymap, but were moved here, because +! they were no-ops in NVT mode, or interfered with NVT-mode data entry. +! +! Note that as yet, there is no x3270.keymap.base.nvt, which would define the +! base keymap extensions for NVT mode. +! +x3270.keymap.base.3270: #override \ + :Ctrl Shift: MouseSelect()\n\ + Shift: MoveCursor()\n\ + ShiftReturn: Newline()\n\ + :Return: Enter()\n\ + :Linefeed: Newline()\n\ + :BackSpace: Erase()\n\ + ShiftTab: BackTab()\n\ + :MetaLeft: PreviousWord()\n\ + :MetaRight: NextWord()\n\ + :Meta1: PA(1)\n\ + :Meta2: PA(2)\n\ + :Meta3: PA(3)\n\ + Metaa: Attn()\n\ + Metab: PrintWindow()\n\ + Metac: Clear()\n\ + Metad: Delete()\n\ + Metae: EraseEOF()\n\ + Metaf: Flip()\n\ + Metah: Home()\n\ + Metai: Insert()\n\ + Metal: Redraw()\n\ + Metap: PrintText()\n\ + Metar: Reset()\n\ + Metau: Unselect()\n\ + Ctrla: SelectAll(PRIMARY)\n\ + Ctrlc: set-select(CLIPBOARD)\n\ + Ctrlu: DeleteField()\n\ + Ctrlw: DeleteWord()\n\ + Ctrlv: insert-selection(CLIPBOARD) +! Keymap that exercises the optional history plugin. +x3270.keymap.hist: + ShiftPrior: Plugin(command,prev)\n\ + ShiftNext: Plugin(command,next) +! Keymap that restores the old (pre 3.3) mouse-click behavior. +x3270.keymap.oldclick: #override\n\ + Ctrl: HandleMenu(fileMenu)\n\ + Ctrl: HandleMenu(optionsMenu)\n\ + Ctrl: HandleMenu(hostMenu,macrosMenu)\n\ + : select-start()\n\ + ~Shift: select-extend()\n\ + : ignore()\n\ + : ignore()\n\ + : insert-selection(PRIMARY)\n\ + : start-extend()\n\ + : select-extend()\n\ + ~Shift: select-end(PRIMARY) +x3270.keymap.oldclick.3270: #override\n\ + :Ctrl Shift: MouseSelect()\n\ + Shift: MoveCursor() +! +! Start of keyboard-specific mappings. +! +! Sun Type 5 keyboard map. Not compatible with earlier Type 3 and Type 4 +! keymaps, but does a better job of mapping intuitive functions to the +! existing key labels, and has fewer surprises. +x3270.keymap.sun_k5: \ + Shift0x1005ff10: PF(23)\n\ + Shift0x1005ff11: PF(24)\n\ + :0x1005ff10: PF(11)\n\ + :0x1005ff11: PF(12)\n\ + ~@Num_LockF27: Home()\n\ + ~@Num_LockF33: FieldEnd()\n\ + :F18: insert-selection(PRIMARY)\n\ + ShiftF22: SysReq()\n\ + :F22: PrintText()\n\ + KP_Enter: Newline()\n +! Sun Type 4 keyboard map, backwards-compatible with earlier versions of x3270. +x3270.keymap.sun_k4: \ + Shift0x1005ff10: PF(23)\n\ + Shift0x1005ff11: PF(24)\n\ + :0x1005ff10: PF(11)\n\ + :0x1005ff11: PF(12)\n\ + :KP_1: Key(1)\n\ + :KP_2: Key(2)\n\ + :KP_3: Key(3)\n\ + :KP_4: Key(4)\n\ + :KP_5: Key(5)\n\ + :KP_6: Key(6)\n\ + :KP_7: Key(7)\n\ + :KP_8: Key(8)\n\ + :KP_9: Key(9)\n\ + :KP_0: Key(0)\n\ + :KP_Decimal: Key(.)\n\ + :F18: insert-selection(PRIMARY)\n\ + :F19: SysReq()\n\ + :F20: FieldMark()\n\ + :F21: PA(1)\n\ + :F22: PA(2)\n\ + :F23: Dup()\n\ + :F24: Reset()\n\ + :F25: EraseEOF()\n\ + :F26: EraseInput()\n\ + :F27: Clear()\n\ + :F29: Redraw()\n\ + :F31: Home()\n\ + :KP_Enter: Newline()\n\ + :F35: Delete()\n +! Sun Type 3 keyboard. +x3270.keymap.sun_k3: \ + ShiftF21: PF(22)\n\ + ShiftF22: PF(23)\n\ + ShiftF23: PF(24)\n\ + :MetaF21: PA(1)\n\ + :MetaF22: PA(2)\n\ + :MetaF23: Dup()\n\ + :F19: SysReq()\n\ + :0x0: FieldMark()\n\ + :F21: PF(10)\n\ + :F22: PF(11)\n\ + :F23: PF(12)\n\ + :F24: Reset()\n\ + :F25: EraseEOF()\n\ + :F26: EraseInput()\n\ + :F27: Clear()\n\ + :F31: Home()\n\ + :F29: Redraw()\n\ + :KP_Enter: Newline()\n\ + :F35: Delete()\n +x3270.keymap.ncd: \ + :F13: Dup()\n\ + :Linefeed: Dup()\n\ + :F14: FieldMark()\n\ + :Break: FieldMark()\n\ + :Home: Home()\n\ + :F17: Home()\n\ + :End: EraseEOF()\n\ + :F15: Reset()\n\ + :Prior: Reset()\n\ + :F16: Newline()\n\ + :Next: Newline()\n\ + :KP_Add: EraseInput()\n\ + :Num_Lock: PF(13)\n\ + :KP_Space: PF(13)\n\ + :KP_Divide: PF(14)\n\ + :KP_Multiply: PF(15)\n\ + :KP_7: PF(16)\n\ + :KP_8: PF(17)\n\ + :KP_9: PF(18)\n\ + :KP_4: PF(19)\n\ + :KP_5: PF(20)\n\ + :KP_6: PF(21)\n\ + :KP_1: PF(22)\n\ + :KP_2: PF(23)\n\ + :KP_3: PF(24)\n\ + :KP_Subtract: SysReq()\n\ + :KP_0: PA(2)\n\ + :KP_Decimal: PA(1)\n\ + :KP_Enter: Clear()\n +x3270.keymap.hp-k1: \ + :KP_Tab: BackTab()\n\ + :KP_Enter: Home()\n\ + :KP_Separator: Delete()\n\ + ShiftDelete: Delete()\n\ + :Menu: EraseEOF()\n\ + :KP_Multiply: PF(13)\n\ + :KP_Divide: PF(14)\n\ + :KP_Add: PF(15)\n\ + :KP_7: PF(16)\n\ + :KP_8: PF(17)\n\ + :KP_9: PF(18)\n\ + :KP_4: PF(19)\n\ + :KP_5: PF(20)\n\ + :KP_6: PF(21)\n\ + :KP_1: PF(22)\n\ + :KP_2: PF(23)\n\ + :KP_3: PF(24)\n\ + :KP_0: PA(2)\n\ + :KP_Decimal: PA(1)\n +! Keymap for HP-PC101 workstation keyboard, Chris P-E +x3270.keymap.hp-pc: \ + :KP_Subtract: Compose()\n\ + :KP_Enter: Enter()\n\ + :Return: Newline()\n\ + !F1: PF(1)\n\ + !F2: PF(2)\n\ + !F3: PF(3)\n\ + !F4: PF(4)\n\ + !F5: PF(5)\n\ + !F6: PF(6)\n\ + !F7: PF(7)\n\ + !F8: PF(8)\n\ + !F9: PF(9)\n\ + !F10: PF(10)\n\ + !F11: PF(11)\n\ + !F12: PF(12)\n\ + !ShifthpSystem: PF(13)\n\ + !ShiftKP_Divide: PF(14)\n\ + !ShiftKP_Multiply: PF(15)\n\ + !ShiftKP_7: PF(16)\n\ + !ShiftKP_8: PF(17)\n\ + !ShiftKP_9: PF(18)\n\ + !ShiftKP_4: PF(19)\n\ + !ShiftKP_5: PF(20)\n\ + !ShiftKP_6: PF(21)\n\ + !ShiftKP_1: PF(22)\n\ + !ShiftKP_2: PF(23)\n\ + !ShiftKP_3: PF(24)\n\ + !hpSystem: PF(1)\n\ + !KP_Divide: PF(2)\n\ + !KP_Multiply: PF(3)\n\ + !KP_7: PF(4)\n\ + !KP_8: PF(5)\n\ + !KP_9: PF(6)\n\ + !KP_4: PF(7)\n\ + !KP_5: PF(8)\n\ + !KP_6: PF(9)\n\ + !KP_1: PF(10)\n\ + !KP_2: PF(11)\n\ + !KP_3: PF(12)\n\ + !Break: Reset()\n\ + !ShiftBreak: Attn()\n\ + !MetaBreak: SysReq()\n\ + !Prior: Dup()\n\ + !Next: FieldMark()\n\ + !Select: EraseEOF()\n\ + !MetahpInsertChar: PA(1)\n\ + !MetaHome: PA(2)\n\ + !MetaPrior: PA(3)\n\ + !hpInsertChar: Insert()\n\ + !hpDeleteChar: Delete()\n\ + !ShiftMenu: PrintWindow()\n\ + !Menu: PrintText()\n +! Keymap for IBM X Terminal, Allan L. Bazinet +x3270.keymap.ibm-xterm: \ + :Execute: Enter()\n\ + !Pause: Clear()\n\ + !BackSpace: BackSpace()\Delete()\n\ + !End: FieldEnd()\n\ + !Altc: Clear()\n\ + !AltPrint: SysReq()\n\ + !CtrlHome: EraseInput()\n\ + !CtrlEnd: EraseEOF()\n\ + !ShiftTab: BackTab()\n\ + :KP_Subtract: PA(1)\n\ + :KP_Add: PA(2)\n\ + :KP_Enter: Enter()\n\ + :Prior: PA(1)\n\ + :Next: PA(2)\n\ + :Escape: Reset()\n\ + :Control_L: Reset()\n\ + :Insert: Insert()\n\ + !ShiftRight: Right2()\n\ + !ShiftLeft: Left2()\n +! Keymap for common 3270 functions on a PC keyboard, from Richard Lennox. +x3270.keymap.rlx: #override \ + Prior: PF(7)\n\ + Next: PF(8)\n\ + Control_R: Enter()\n\ + Return: Newline()\n\ + Pause: Clear()\n\ + ShiftEscape: Attn()\n\ + ShiftLeft: PreviousWord()\n\ + ShiftRight: NextWord()\n\ + CtrlLeft: PreviousWord()\n\ + CtrlRight: NextWord()\n\ + ShiftEnd: EraseEOF()\n\ + End: FieldEnd() +! Keymap modifier for OpenWindows (makes button 2 the extend key; defines the +! Paste and Cut keys; uses CLIPBOARD). +x3270.keymap.ow: #override \ + ~Shift: select-start()\n\ + ~Shift: select-extend()\n\ + : start-extend()\n\ + : select-extend()\n\ + : ignore()\n\ + : ignore()\n\ + : insert-selection(CLIPBOARD,PRIMARY)\n\ + : select-end(PRIMARY)\n\ + :F16: set-select(CLIPBOARD)\n\ + ShiftF18: insert-selection(PRIMARY)\n\ + :F18: insert-selection(CLIPBOARD,PRIMARY)\n\ + :F20: set-select(CLIPBOARD) Cut()\n +! APL keymap modifier. +x3270.keymap.apl: #override \ + !:Altbracketleft: Key(apl_leftarrow)\n\ + !:Altbracketright: Key(apl_rightarrow)\n\ + :bracketleft: Key(apl_bracketleft)\n\ + :bracketright: Key(apl_bracketright)\n\ + !:Alt1: Key(apl_diaeresis)\n\ + !:Alt2: Key(apl_overbar)\n\ + !:Alt3: Key(less)\n\ + !:Alt4: Key(apl_notgreater)\n\ + !:Alt5: Key(equal)\n\ + !:Alt6: Key(apl_notless)\n\ + !:Alt7: Key(greater)\n\ + !:Alt8: Key(apl_notequal)\n\ + !:Alt9: Key(apl_downcaret)\n\ + !:Alt0: Key(apl_upcaret)\n\ + !:Altminus: Key(apl_overbar)\n\ + !:Altunderscore: Key(underscore)\n\ + !:Alt=: Key(apl_multiply)\n\ + !:Alt+: Key(apl_divide)\n\ + !:Altasciitilde: Key(apl_tilde)\n\ + !:Altbackslash: Key(apl_slope)\n\ + !:Altbar: Key(apl_stile)\n\ + :Alta: Key(apl_alpha)\n\ + :Altb: Key(apl_downtack)\n\ + :Altc: Key(apl_upshoe)\n\ + :Altd: Key(apl_downstile)\n\ + :Alte: Key(apl_epsilon)\n\ + :Altf: Key(underscore)\n\ + :Altg: Key(apl_del)\n\ + :Alth: Key(apl_delta)\n\ + :Alti: Key(apl_iota)\n\ + :Altj: Key(apl_jot)\n\ + :Altk: Key(apostrophe)\n\ + :Altl: Key(apl_quad)\n\ + :Altm: Key(apl_stile)\n\ + :Altn: Key(apl_uptack)\n\ + :Alto: Key(apl_circle)\n\ + :Altp: Key(asterisk)\n\ + :Altq: Key(question)\n\ + :Altr: Key(apl_rho)\n\ + :Alts: Key(apl_upstile)\n\ + :Altt: Key(apl_tilde)\n\ + :Altu: Key(apl_downarrow)\n\ + :Altv: Key(apl_downshoe)\n\ + :Altw: Key(apl_omega)\n\ + :Altx: Key(apl_rightshoe)\n\ + :Alty: Key(apl_uparrow)\n\ + :Altz: Key(apl_leftshoe)\n\ + :AltA: Key(apl_Aunderbar)\n\ + :AltB: Key(apl_Bunderbar)\n\ + :AltC: Key(apl_Cunderbar)\n\ + :AltD: Key(apl_Dunderbar)\n\ + :AltE: Key(apl_Eunderbar)\n\ + :AltF: Key(apl_Funderbar)\n\ + :AltG: Key(apl_Gunderbar)\n\ + :AltH: Key(apl_Hunderbar)\n\ + :AltI: Key(apl_Iunderbar)\n\ + :AltJ: Key(apl_Junderbar)\n\ + :AltK: Key(apl_Kunderbar)\n\ + :AltL: Key(apl_Lunderbar)\n\ + :AltM: Key(apl_Munderbar)\n\ + :AltN: Key(apl_Nunderbar)\n\ + :AltO: Key(apl_Ounderbar)\n\ + :AltP: Key(apl_Punderbar)\n\ + :AltQ: Key(apl_Qunderbar)\n\ + :AltR: Key(apl_Runderbar)\n\ + :AltS: Key(apl_Sunderbar)\n\ + :AltT: Key(apl_Tunderbar)\n\ + :AltU: Key(apl_Uunderbar)\n\ + :AltV: Key(apl_Vunderbar)\n\ + :AltW: Key(apl_Wunderbar)\n\ + :AltX: Key(apl_Xunderbar)\n\ + :AltY: Key(apl_Yunderbar)\n\ + :AltZ: Key(apl_Zunderbar)\n +! Temporary keymap for entering Hebrew characters +x3270.keymap.hebrew: \ + ~Ctrl ~Alt ~Meta t: Key(hebrew_aleph)\n\ + ~Ctrl ~Alt ~Meta c: Key(hebrew_bet)\n\ + ~Ctrl ~Alt ~Meta d: Key(hebrew_gimel)\n\ + ~Ctrl ~Alt ~Meta s: Key(hebrew_dalet)\n\ + ~Ctrl ~Alt ~Meta v: Key(hebrew_he)\n\ + ~Ctrl ~Alt ~Meta u: Key(hebrew_waw)\n\ + ~Ctrl ~Alt ~Meta z: Key(hebrew_zain)\n\ + ~Ctrl ~Alt ~Meta j: Key(hebrew_chet)\n\ + ~Ctrl ~Alt ~Meta y: Key(hebrew_tet)\n\ + ~Ctrl ~Alt ~Meta h: Key(hebrew_yod)\n\ + ~Ctrl ~Alt ~Meta l: Key(hebrew_finalkaph)\n\ + ~Ctrl ~Alt ~Meta f: Key(hebrew_kaph)\n\ + ~Ctrl ~Alt ~Meta k: Key(hebrew_lamed)\n\ + ~Ctrl ~Alt ~Meta o: Key(hebrew_finalmem)\n\ + ~Ctrl ~Alt ~Meta n: Key(hebrew_mem)\n\ + ~Ctrl ~Alt ~Meta i: Key(hebrew_finalnun)\n\ + ~Ctrl ~Alt ~Meta b: Key(hebrew_nun)\n\ + ~Ctrl ~Alt ~Meta x: Key(hebrew_samech)\n\ + ~Ctrl ~Alt ~Meta g: Key(hebrew_ayin)\n\ + : ~Ctrl ~Alt ~Meta semicolon: Key(hebrew_finalpe)\n\ + ~Ctrl ~Alt ~Meta p: Key(hebrew_pe)\n\ + : ~Ctrl ~Alt ~Meta comma: Key(hebrew_finalzade)\n\ + ~Ctrl ~Alt ~Meta m: Key(hebrew_zade)\n\ + ~Ctrl ~Alt ~Meta e: Key(hebrew_qoph)\n\ + ~Ctrl ~Alt ~Meta r: Key(hebrew_resh)\n\ + ~Ctrl ~Alt ~Meta a: Key(hebrew_shin)\n\ + : ~Ctrl ~Alt ~Meta period: Key(hebrew_taw)\n +! +! Keymap for the "not" key, assumed to be above the "6" key on U.S. +! keyboards. This used to be part of the 3270 base keymap, but does not +! work properly on non-U.S. keyboards. +x3270.keymap.not.3270: \ + :asciicircum: Key(notsign) +! Keymap modifier for keyboards which lack a Meta key, such as the RS/6000. +x3270.keymap.alt: \ + :AltF1: PF(13)\n\ + :AltF2: PF(14)\n\ + :AltF3: PF(15)\n\ + :AltF4: PF(16)\n\ + :AltF5: PF(17)\n\ + :AltF6: PF(18)\n\ + :AltF7: PF(19)\n\ + :AltF8: PF(20)\n\ + :AltF9: PF(21)\n\ + :AltF10: PF(22)\n\ + :AltF11: PF(23)\n\ + :AltF12: PF(24)\n +x3270.keymap.alt.3270: \ + :AltLeft: Left2()\n\ + :AltRight: Right2()\n\ + :Alt1: PA(1)\n\ + :Alt2: PA(2)\n\ + :Alt3: PA(3)\n\ + Alta: Attn()\n\ + Altb: PrintWindow()\n\ + Altc: Clear()\n\ + Altd: Delete()\n\ + Alte: EraseEOF()\n\ + Alth: Home()\n\ + Alti: Insert()\n\ + Altl: Redraw()\n\ + Altp: PrintText()\n\ + Altq: Quit()\n\ + Altr: Reset()\n\ + Altu: Unselect()\n +! Helpful modifier to disply the translation table. +x3270.keymap.t: \ + Metat: XtDisplayTranslations()\n +! International keymap modifiers. +x3270.keymap.finnish7: \ + :bracketleft: Key("adiaeresis")\n\ + :bracketright: Key("aring")\n\ + :backslash: Key("odiaeresis")\n\ + :braceleft: Key("Adiaeresis")\n\ + :braceright: Key("Aring")\n\ + :bar: Key("Odiaeresis")\n +x3270.keymap.norwegian7: \ + :bracketleft: Key("ae")\n\ + :backslash: Key("oslash")\n\ + :bracketright: Key("aring")\n\ + :braceleft: Key("AE")\n\ + :bar: Key("Ooblique")\n\ + :braceright: Key("Aring")\n\ + :!Metau: Key("udiaeresis")\n\ + :dollar: Key("currency")\n\ + :at: Key("backslash")\n +! "Old" Norwegian keymap, compatible with older versions of x3270. +x3270.keymap.oldnorwegian7: \ + :bracketleft: Key("AE")\n\ + :bracketright: Key("Aring")\n\ + :backslash: Key("Ooblique")\n\ + :braceleft: Key("ae")\n\ + :braceright: Key("aring")\n\ + :bar: Key("oslash")\n +! German keymap courtesy of Karlheinz Kandler +x3270.keymap.german7: \ + :bracketleft: Key("adiaeresis")\n\ + :bracketright: Key("udiaeresis")\n\ + :backslash: Key("odiaeresis")\n\ + :braceleft: Key("Adiaeresis")\n\ + :braceright: Key("Udiaeresis")\n\ + :bar: Key("Odiaeresis")\n\ + :asciicircum: Key("^")\n\ + :asciitilde: Key("ssharp")\n\ + :at: Key("section")\n +! Keymap modifier for RS/6000s with French AZERTY keyboards, which allows +! the diaeresis and circumflex keys to work intuitively (press diaereses, +! press "a", get "adiaeresis, etc.) +x3270.keymap.fr6k: \ + Shiftdead_diaeresis: Compose() Key(quotedbl)\n\ + :dead_circumflex: Compose() Key(asciicircum)\n +! Icelandic keymap, courtesy of Rikhardur Egilsson +x3270.keymap.icelandic: \ + :dead_acute: Compose() Key(apostrophe)\n +! +!============================================================================= +! Section 2: Labels and Messages +! +! These are resources that are likely to be modified for translation +! into another language. +!============================================================================= +! +x3270.errorPopup.title: x3270 Error +x3270.errorPopup*cancelButton.label: Exit +x3270.printerErrorPopup.title: x3270 Printer Error +x3270.childErrorPopup.title: x3270 Child Process Error +#ifdef X3270_MENUS +x3270.infoPopup.title: x3270 Information +x3270.printerInfoPopup.title: x3270 Printer Information +x3270.childInfoPopup.title: x3270 Child Process Information +x3270.connectPopup.title: x3270 Connect +x3270.connectPopup.dialog.label: Enter Hostname +x3270.fontPopup.title: x3270 Font +x3270.fontPopup.dialog.label: Enter Font Name +x3270.keymapPopup.title: x3270 Keymap +x3270.keymapPopup.dialog.label: Enter Keymap Name +x3270.oversizePopup.title: x3270 Oversize +x3270.oversizePopup.dialog.label: Enter Dimensions (cols x rows) +x3270.oversizePopup*confirmButton.label: Resize +#endif +#ifdef X3270_KEYPAD +x3270.keypadPopup.title: x3270 Keypad +#endif +#ifdef X3270_MENUS +x3270.printTextPopup.title: x3270 Screen Print +x3270.printTextPopup.dialog.label: Enter Print Command +x3270.printTextPopup*confirmButton.label: Print +x3270.saveTextPopup.title: x3270 Screen Save +x3270.saveTextPopup.dialog.label: Enter File Name +x3270.saveTextPopup*confirmButton.label: Save as Text +x3270.saveTextPopup*confirm2Button.label: Save as HTML +x3270.printWindowPopup.title: x3270 Window Print +x3270.printWindowPopup.dialog.label: Enter Print Command +x3270.printWindowPopup*confirmButton.label: Print +#endif +#ifdef X3270_TRACE +x3270.tracePopup.title: x3270 Tracing +x3270.tracePopup.dialog.label: Enter Trace File Name +x3270.tracePopup*confirmButton.label: Trace +x3270.tracePopup*confirm2Button.label: No File +x3270.screentracePopup.title: x3270 Screen Image Tracing +x3270.screentracePopup.dialog.label: Enter File Name +x3270.screentracePopup*confirmButton.label: Continuously +x3270.screentracePopup*confirm2Button.label: Once +#endif +#ifdef X3270_MENUS +x3270.executeActionPopup.title: x3270 Execute Action +x3270.executeActionPopup.dialog.label: Enter Action and Parameters +x3270.executeActionPopup*confirmButton.label: Execute +x3270.saveOptionsPopup.title: x3270 Save Changed Options +x3270.saveOptionsPopup.dialog.label: Enter Profile File Name +x3270.saveOptionsPopup*confirmButton.label: Save +x3270.aboutCopyrightPopup.title: x3270 Copyright +x3270.aboutConfigPopup.title: x3270 Configuration +x3270.aboutStatusPopup.title: x3270 Connection Status +x3270.connectPopup*confirmButton.label: Connect +x3270.fontPopup*confirmButton.label: Select Font +x3270.keymapPopup*confirmButton.label: Select Keymap +#endif +#ifdef X3270_FT +x3270.ftPopup.title: x3270 File Transfer +x3270.ftProgressPopup.title: x3270 File Transfer +x3270.ftOverwritePopup.title: x3270 File Transfer +#endif +#ifdef X3270_SCRIPT +x3270.idlePopup.title: x3270 Idle Command +#endif +x3270.kmPopup.title: x3270 Keymap +x3270*confirmButton.label: OK +x3270.printerErrorPopup*cancelButton.label: Abort Printer +x3270.printerInfoPopup*cancelButton.label: Abort Printer +x3270.childErrorPopup*cancelButton.label: Discard Output +x3270.childInfoPopup*cancelButton.label: Discard Output +x3270*cancelButton.label: Cancel +#ifdef X3270_MENUS +x3270*aboutOption.label: About x3270... +x3270*aboutCopyright.label: Copyright +x3270*aboutConfig.label: Configuration +x3270*aboutStatus.label: Connection Status +#ifdef X3270_FT +x3270*ftOption.label: File Transfer... +#endif +#ifdef X3270_PRINTER +x3270*printerOption.label: Printer Session +x3270*assocButton.label: Start, associate with current LU +x3270*luButton.label: Start, specific LU... +x3270*printerOffButton.label: Stop Printer +#endif +x3270*abortScriptOption.label: Abort Scripts/Macros/Strings +x3270*disconnectOption.label: Disconnect +x3270*exitOption.label: Exit x3270 +x3270*exitReallyOption.label: Disconnect and Exit +x3270*printTextOption.label: Print Screen Text +x3270*saveTextOption.label: Save Screen Text in File +x3270*printWindowOption.label: Print Window Bitmap +x3270*executeActionOption.label: Execute an Action +x3270*fileMenuButton.label: File +x3270*fileMenu.label: File +#endif +#ifdef X3270_FT +x3270.ftPopup*justify: left +x3270.ftPopup*send.label: Send to host +x3270.ftPopup*receive.label: Receive from host +x3270.ftPopup*ascii.label: Transfer ASCII file +x3270.ftPopup*cr.label: Add/remove CR at end of line +x3270.ftPopup*binary.label: Transfer binary file +x3270.ftPopup*local.label: Local File Name +x3270.ftPopup*host.label: Host File Name +x3270.ftPopup*append.label: Append to file +x3270.ftPopup*remap.label: Remap ASCII Characters +x3270.ftPopup*vm.label: Host is VM/CMS +x3270.ftPopup*tso.label: Host is TSO +x3270.ftPopup*confirmButton.label: Transfer File +x3270.ftPopup*file.label: Record Format +x3270.ftPopup*recfmDefault.label: Default +x3270.ftPopup*fixed.label: Fixed +x3270.ftPopup*variable.label: Variable +x3270.ftPopup*undefined.label: Undefined +x3270.ftPopup*units.label: Space Allocation Units +x3270.ftPopup*spaceDefault.label: Default +x3270.ftPopup*tracks.label: Tracks +x3270.ftPopup*cylinders.label: Cylinders +x3270.ftPopup*avblock.label: Avblock +x3270.ftPopup*lrecl.label: LRECL +x3270.ftPopup*blksize.label: BLKSIZE +x3270.ftPopup*primspace.label: Primary Space +x3270.ftPopup*secspace.label: Secondary Space +x3270.ftPopup*buffersize.label: DFT Buffer Size +x3270.ftProgressPopup*fromLabel.label: Source: +x3270.ftProgressPopup*fromLabel.justify: right +x3270.ftProgressPopup*toLabel.label: Destination: +x3270.ftProgressPopup*toLabel.justify: right +x3270.ftProgressPopup*filename.justify: left +x3270.ftOverwritePopup*overwriteName.label: Overwrite existing file %s? +x3270.ftProgressPopup*waiting.label: Waiting for host acknowledgment... +x3270.ftProgressPopup*status.label: %lu bytes transferred +x3270.ftProgressPopup*aborting.label: Aborting transfer... +#endif +#ifdef X3270_SCRIPT +x3270.idlePopup*justify: left +x3270.idlePopup*command.label: Command(s) +x3270.idlePopup*timeout.label: Timeout Value +x3270.idlePopup*enable.label: Enable for this session +x3270.idlePopup*enablePerm.label: Enable whenever connected +x3270.idlePopup*disable.label: Disable +x3270.idlePopup*hours.label: Hours +x3270.idlePopup*minutes.label: Minutes +x3270.idlePopup*seconds.label: Seconds +x3270.idlePopup*fuzz.label: Vary time 0..10% +#endif +#ifdef X3270_PRINTER +x3270.printerLuPopup.title: x3270 Printer Session +x3270.printerLuPopup.dialog.label: Enter LU Name +x3270.printerLuPopup*confirmButton.label: Start Session +#endif +#ifdef X3270_MENUS +x3270*optionsMenuButton.label: Options +x3270*optionsMenu.label: Options +x3270*connectMenuButton.label: Connect +x3270*macrosMenuButton.label: Macros +x3270*macrosMenu.label: Macros +x3270*hostMenu.label: Connect +x3270*helpButton.label: Help +x3270*otherHostOption.label: Other... +x3270*togglesOption.label: Toggles +x3270*fontsOption.label: Font +x3270*modelsOption.label: Screen Size +x3270*colorsOption.label: Color Scheme +x3270*charsetOption.label: Character Set +x3270*keymapOption.label: Change Keymap... +x3270*idleCommandOption.label: Configure Idle Command +x3270*keypadOption.label: Keypad +x3270*monocaseOption.label: Monocase +x3270*cursorBlinkOption.label: Blinking Cursor +x3270*showTimingOption.label: Show Timing +x3270*cursorPosOption.label: Track Cursor +x3270*dsTraceOption.label: Trace Data Stream +x3270*eventTraceOption.label: Trace Keyboard/Mouse Events +x3270*screenTraceOption.label: Save Screen(s) in File +x3270*scrollBarOption.label: Scrollbar +x3270*lineWrapOption.label: Wraparound +x3270*marginedPasteOption.label: Paste with Left Margin +x3270*rectangleSelectOption.label: Select by Rectangles +x3270*blankFillOption.label: Blank Fill +x3270*crosshairOption.label: Crosshair Cursor +x3270*visibleControlOption.label: Visible Control Chars +x3270*underlineCursorOption.label: Underline Cursor +x3270*blockCursorOption.label: Block Cursor +x3270*otherFontOption.label: Other... +x3270*lineModeOption.label: Line Mode +x3270*characterModeOption.label: Character Mode +x3270*extendedDsOption.label: Extended 3270 Data Stream +x3270*m3278Option.label: Monochrome (3278) Emulation +x3270*m3279Option.label: Color (3279) Emulation +x3270*model2Option.label: Model 2 (80x24) +x3270*model3Option.label: Model 3 (80x32) +x3270*model4Option.label: Model 4 (80x43) +x3270*model5Option.label: Model 5 (132x27) +x3270*oversizeOption.label: Oversize... +x3270*saveOption.label: Save Changed Options in File +#endif +! +! Messages +#ifdef X3270_MENUS +x3270.message.processId: Process ID: +x3270.message.windowId: Main window ID: +x3270.message.model: Model +x3270.message.rows: rows +x3270.message.columns: columns +x3270.message.mono: monochrome +x3270.message.fullColor: color +x3270.message.pseudoColor: pseudo-color +x3270.message.extendedDs: extended data stream +x3270.message.standardDs: standard data stream +x3270.message.terminalName: Terminal name: +x3270.message.luName: LU name: +x3270.message.emulatorFont: Emulator font: +x3270.message.emulatorFontDbcs: DBCS emulator font: +x3270.message.xFont: standard X11 font +x3270.message.cgFont: special 3270 CG font +x3270.message.characterSet: Host EBCDIC character set: +x3270.message.characterSetDbcs: Host EBCDIC DBCS character set: +x3270.message.defaultCharacterSet: Default (us) EBCDIC character set +x3270.message.displayCharacterSet: Display character set: +x3270.message.displayCharacterSetDbcs: DBCS display character set: +x3270.message.localeCodeset: Locale codeset: +x3270.message.require: require +x3270.message.have: have +x3270.message.keyboardMap: Keyboard map: +x3270.message.defaultKeyboardMap: Default keyboard map +x3270.message.composeMap: Compose-key map: +x3270.message.noComposeMap: No compose-key map +x3270.message.activeIcon: Active icon +x3270.message.iconFont: Icon font: +x3270.message.iconLabelFont: Icon label font: +x3270.message.staticIcon: Static bitmap icon +x3270.message.connectedTo: Connected to: +x3270.message.port: Port: +x3270.message.secure: via TLS/SSL +x3270.message.proxyType: Proxy type: +x3270.message.server: Server: +x3270.message.charMode: NVT character mode +x3270.message.lineMode: NVT line mode +x3270.message.dsMode: 3270 mode +x3270.message.sscpMode: SSCP-LU mode +x3270.message.tn3270eOpts: TN3270E options: +x3270.message.tn3270eNoOpts: No TN3270E options +x3270.message.connectionPending: Connection pending to: +x3270.message.notConnected: Not connected +x3270.message.specialCharacters: Special characters: +x3270.message.hour: hour +x3270.message.hours: hours +x3270.message.minute: minute +x3270.message.minutes: minutes +x3270.message.second: second +x3270.message.seconds: seconds +x3270.message.sent: Sent +x3270.message.Received: Received +x3270.message.received: received +x3270.message.byte: byte +x3270.message.bytes: bytes +x3270.message.record: record +x3270.message.records: records +x3270.message.statusDbcs: DBCS +x3270.message.statusNotConnected: Not Connected +x3270.message.statusTwait: Wait +x3270.message.statusSyswait: System +x3270.message.statusProtected: Protected +x3270.message.statusNumeric: Numeric +x3270.message.statusOverflow: Overflow +x3270.message.statusInhibit: Inhibit +x3270.message.statusScrolled: Scrolled +x3270.message.statusMinus: No Function +#endif +x3270.message.statusConnecting: Connecting +#endif +#ifdef X3270_FT +x3270.message.ftComplete: Transfer complete, %i bytes transferred\n\ +%.2lg Kbytes/sec in %s mode +x3270.message.ftUnable: Cannot begin transfer +x3270.message.ftUserCancel: Transfer cancelled by user +x3270.message.ftHostCancel: Transfer cancelled by host +x3270.message.ftCutUnknownFrame: Unknown frame type from host +x3270.message.ftCutUnknownControl: Unknown FT control code from host +x3270.message.ftCutRetransmit: Transmission error +x3270.message.ftCutConversionError: Data conversion error +x3270.message.ftCutOversize: Illegal frame length +x3270.message.ftDisconnected: Host disconnected, transfer cancelled +x3270.message.ftNot3270: Not in 3270 mode, transfer cancelled +x3270.message.ftDftUnknownOpen: Uknown DFT Open type from host +#endif +x3270.message.inputMethod: X11 Input Method (XIM): +x3270.message.ximState: state: +x3270.message.ximDisabled: failed +x3270.message.ximNotFound: not found +x3270.message.ximActive: active +x3270.message.ximLocale: locale: +x3270.message.ximEncoding: encoding: +#ifndef STANDALONE +x3270.message.kmEvent: Event +x3270.message.kmKeymapLine: Keymap:Line +x3270.message.kmActions: Actions +x3270.message.kmOverridden: \ -- overridden -- +x3270.message.kmKeymap: Keymap +x3270.message.kmTemporaryKeymap: Temporary keymap + +x3270.message.kmFile: from file +x3270.message.kmResource: from resource +x3270.message.kmFromServer: \ (expanded from '@server') +! +!============================================================================= +! Section 3: Base-Level Resources +! +! Resources required for the basic operation of x3270, not for the +! faint-hearted to modify. +!============================================================================= +! +! App-defaults file version +x3270.adVersion: 3.3.4 +! +! Fonts +#ifdef X3270_APL +x3270.aplFont: 3270 +#endif +x3270.debugFont: 3270d +x3270.iconFont: nil2 +x3270.iconLabelFont: 8x13 +#ifdef X3270_KEYPAD +x3270*keyPad*large*font: fixed +x3270*keyPad*small*font: -*-fixed-medium-r-semicondensed-*-12-*-* +#endif +x3270*value*font: fixed +x3270*dataLabel.font: -*-terminal-medium-r-normal--14-*-iso8859-1 +!x3270*smallLabel.font: 5x7 +x3270*smallLabel.font: 6x13 +x3270*filename*font: fixed +x3270*kmPopup*text*font: fixed +x3270*font: -*-helvetica-bold-r-normal--12-*-iso8859-1 +! +! Menu configuration +#ifdef X3270_MENUS +x3270*menuBarContainer.borderWidth: 2 +#endif +#ifdef COLOR +#ifdef X3270_KEYPAD +x3270.keypadBackground: grey +#endif +#ifdef X3270_MENUS +x3270*menuBarContainer.background: grey +x3270*menuBarContainer.borderColor: grey40 +x3270*fileMenuButton*background: grey +x3270*optionsMenuButton*background: grey +x3270*connectMenuButton*background: grey +x3270*macrosMenuButton*background: grey +x3270*helpButton*background: grey +x3270*keypadButton*background: grey +x3270*lockedIcon*background: grey +x3270*lockedIcon*foreground: yellow4 +x3270*lockedIcon*borderColor: grey +x3270*unlockedIcon*background: grey +x3270*unlockedIcon*borderColor: grey +x3270*fileMenuButton*borderColor: grey +x3270*optionsMenuButton*borderColor: grey +x3270*connectMenuButton*borderColor: grey +x3270*macrosMenuButton*borderColor: grey +x3270*helpButton*borderColor: grey +#endif +#else +#ifdef X3270_MENUS +x3270*fileMenuButton*borderColor: XtDefaultBackground +x3270*optionsMenuButton*borderColor: XtDefaultBackground +x3270*connectMenuButton*borderColor: XtDefaultBackground +x3270*macrosMenuButton*borderColor: XtDefaultBackground +x3270*helpButton*borderColor: XtDefaultBackground +#endif +#endif +#ifdef X3270_MENUS +x3270*fileMenuButton*highlightThickness: 1 +x3270*optionsMenuButton*highlightThickness: 1 +x3270*connectMenuButton*highlightThickness: 1 +x3270*macrosMenuButton*highlightThickness: 1 +x3270*helpButton*highlightThickness: 1 +x3270*keypadButton*highlightThickness: 1 +#ifdef COLOR +x3270*fileMenu*background: grey +x3270*exitMenu*background: grey +x3270*optionsMenu*background: grey +x3270*hostMenu*background: grey +x3270*macrosMenu*background: grey +x3270*togglesMenu*background: grey +x3270*fontsMenu*background: grey +x3270*modelsMenu*background: grey +x3270*colorsMenu*background: grey +x3270*charsetMenu*background: grey +x3270*printerMenu*background: grey +#endif +x3270*fileMenu.borderWidth: 2 +x3270*exitMenu.borderWidth: 2 +x3270*optionsMenu.borderWidth: 2 +x3270*hostMenu.borderWidth: 2 +x3270*macrosMenu.borderWidth: 2 +x3270*togglesMenu.borderWidth: 2 +x3270*fontsMenu.borderWidth: 2 +x3270*modelsMenu.borderWidth: 2 +x3270*colorsMenu.borderWidth: 2 +x3270*charsetMenu.borderWidth: 2 +#ifdef COLOR +x3270*fileMenu.borderColor: grey40 +x3270*exitMenu.borderColor: grey40 +x3270*optionsMenu.borderColor: grey40 +x3270*hostMenu.borderColor: grey40 +x3270*macrosMenu.borderColor: grey40 +x3270*togglesMenu.borderColor: grey40 +x3270*fontsMenu.borderColor: grey40 +x3270*modelsMenu.borderColor: grey40 +x3270*colorsMenu.borderColor: grey40 +x3270*charsetMenu.borderColor: grey40 +#endif +x3270*fileMenu*leftMargin: 20 +x3270*fileMenu*rightMargin: 20 +x3270*optionsMenu*rightMargin: 20 +x3270*togglesMenu*leftMargin: 20 +x3270*fontsMenu*leftMargin: 20 +x3270*fontsMenu*rightMargin: 20 +x3270*modelsMenu*leftMargin: 20 +x3270*colorsMenu*leftMargin: 20 +x3270*colorsMenu*rightMargin: 20 +x3270*charsetMenu*leftMargin: 20 +x3270*charsetMenu*rightMargin: 20 +x3270*hostMenu*rightMargin: 20 +x3270*macrosMenu*rightMargin: 20 +#endif +! +! Confirm and cancel buttons +! borderWidth and borderColor are never specified anywhere else, so these +! always apply +x3270*confirmButton.borderWidth: 2 +x3270*confirm2Button*borderWidth: 2 +x3270*cancelButton*borderWidth: 2 +#ifdef COLOR +x3270**confirmButton.borderColor: grey40 +x3270**confirmButton.borderColor: grey40 +x3270**confirm2Button.borderColor: grey40 +x3270**cancelButton.borderColor: grey40 +#endif +! foreground and background are often overridden by other resources, so they +! must be specified explicitly for each instance +#ifdef COLOR +x3270*dialog*confirmButton.foreground: black +x3270*dialog*confirmButton.background: grey80 +x3270*dialog*confirm2Button.background: grey80 +x3270*dialog*cancelButton.foreground: firebrick +x3270*dialog*cancelButton.background: grey80 +#endif +! +! Values +! borderWidth and borderColor are never specified anywhere else, so these +! always apply +#ifdef COLOR +x3270*value.borderWidth: 2 +x3270*value.borderColor: grey40 +#endif +! background is overridden by dialog*background, so it must be specified +! explicitly +#ifdef COLOR +x3270*dialog*value*background: lavender +#endif +! +! Overall defaults for dialog boxes +#ifdef COLOR +x3270*dialog*background: grey +x3270*dialog*foreground: black +#endif +! +! Fixed popup sizes +x3270.errorPopup.width: 500 +x3270.printerErrorPopup.width: 500 +x3270.childErrorPopup.width: 500 +x3270.infoPopup.width: 500 +x3270.printerInfoPopup.width: 500 +x3270.childInfoPopup.width: 500 +x3270.printerLuPopup.width: 300 +x3270.connectPopup.width: 300 +x3270.fontPopup.width: 300 +x3270.keymapPopup.width: 300 +x3270.oversizePopup.width: 300 +x3270.printTextPopup.width: 300 +x3270.saveTextPopup.width: 300 +x3270.printWindowPopup.width: 300 +x3270.tracePopup.width: 300 +x3270.screentracePopup.width: 300 +x3270.executeActionPopup.width: 300 +x3270.saveOptionsPopup.width: 300 +! +! Nondefault definitions for complex pop-ups +#ifdef COLOR +x3270.aboutCopyrightPopup*icon.foreground: darkslateblue +x3270.aboutConfigPopup*icon.foreground: darkslateblue +x3270.aboutStatusPopup*icon.foreground: darkslateblue +x3270.errorPopup*label.foreground: firebrick +x3270.printerErrorPopup*label.foreground: firebrick +x3270.childErrorPopup*label.foreground: firebrick +#ifdef X3270_FT +x3270.ftProgressPopup*filename.borderWidth: 2 +x3270.ftProgressPopup*filename.borderColor: grey40 +x3270.ftProgressPopup*filename.background: lavender +#endif +#endif +! +#ifdef X3270_KEYPAD +! Keypad key dimensions, in pixels +x3270.keypad.keyHeight: 24 +x3270.keypad.keyWidth: 48 +x3270.keypad.pfWidth: 32 +x3270.keypad.paWidth: 36 +x3270.keypad.largeKeyWidth: 56 +#endif +! +! Keymap display pop-up +! +x3270*keymapDisplayOption.label: Display Current Keymap +x3270.kmPopup*label.label: Current Keyboard Map +x3270.kmPopup*sortActionOption.label: Sort by Action +x3270.kmPopup*sortKeymapOption.label: Sort by Keymap +x3270.kmPopup*sortEventOption.label: Sort by Event +x3270.kmPopup*text*background: lavender +x3270.kmPopup*text*foreground: black +x3270.kmPopup*text.height: 250 +x3270.kmPopup*text.width: 500 +! +! Basic event translations -- these should NEVER be changed without significant +! code changes +x3270.translations: #override \n\ + WM_PROTOCOLS: PA-WMProtocols()\n\ + : PA-KeymapNotify()\n\ + WM_STATE: PA-StateChanged()\n\ + : PA-Focus()\n\ + : PA-Focus()\n\ + : PA-ConfigureNotify() +x3270.container.translations: #override \n\ + Shift_L: PA-Shift()\n\ + Shift_L: PA-Shift()\n\ + Shift_R: PA-Shift()\n\ + Shift_R: PA-Shift()\n\ + Meta_L: PA-Shift()\n\ + Meta_L: PA-Shift()\n\ + Meta_R: PA-Shift()\n\ + Meta_R: PA-Shift()\n\ + Alt_L: PA-Shift()\n\ + Alt_L: PA-Shift()\n\ + Alt_R: PA-Shift()\n\ + Alt_R: PA-Shift()\n\ + :: Default()\n\ + :: Default()\n\ + :: Default() +x3270*screen.translations: #override \n\ + : PA-Expose()\n\ + : PA-VisibilityNotify()\n\ + : PA-GraphicsExpose()\n\ + Shift_L: PA-Shift()\n\ + Shift_L: PA-Shift()\n\ + Shift_R: PA-Shift()\n\ + Shift_R: PA-Shift()\n\ + Meta_L: PA-Shift()\n\ + Meta_L: PA-Shift()\n\ + Meta_R: PA-Shift()\n\ + Meta_R: PA-Shift()\n\ + Alt_L: PA-Shift()\n\ + Alt_L: PA-Shift()\n\ + Alt_R: PA-Shift()\n\ + Alt_R: PA-Shift()\n\ + :: Default()\n\ + :: Default()\n\ + :: Default() +x3270icon.translations: #override \n\ + : PA-Expose() +#ifdef X3270_KEYPAD +x3270.keypadPopup.translations: #override \n\ + WM_PROTOCOLS: PA-WMProtocols()\n\ + : PA-KeymapNotify()\n\ + : PA-EnterLeave()\n\ + : PA-EnterLeave() +x3270.keypadPopup.container.translations: #override \n\ + Shift_L: PA-Shift()\n\ + Shift_L: PA-Shift()\n\ + Shift_R: PA-Shift()\n\ + Shift_R: PA-Shift()\n\ + Meta_L: PA-Shift()\n\ + Meta_L: PA-Shift()\n\ + Meta_R: PA-Shift()\n\ + Meta_R: PA-Shift()\n\ + Alt_L: PA-Shift()\n\ + Alt_L: PA-Shift()\n\ + Alt_R: PA-Shift()\n\ + Alt_R: PA-Shift()\n\ + :: Default() +#endif +x3270.errorPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.printerErrorPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.childErrorPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.errorPopup*translations: #override \n\ + Return: PA-confirm() +x3270.printerErrorPopup*translations: #override \n\ + Return: PA-confirm() +x3270.childErrorPopup*translations: #override \n\ + Return: PA-confirm() +x3270.infoPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.printerInfoPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.childInfoPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.infoPopup*translations: #override \n\ + Return: PA-confirm() +x3270.printerInfoPopup*translations: #override \n\ + Return: PA-confirm() +x3270.childInfoPopup*translations: #override \n\ + Return: PA-confirm() +#ifdef X3270_MENUS +x3270.connectPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.fontPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.keymapPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.printTextPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.saveTextPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.printWindowPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.tracePopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.screentracePopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.executeActionPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.saveOptionsPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.aboutCopyrightPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.aboutCopyrightPopup*translations: #override \n\ + Return: PA-confirm() +x3270.aboutConfigPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.aboutConfigPopup*translations: #override \n\ + Return: PA-confirm() +x3270.aboutStatusPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.aboutStatusPopup*translations: #override \n\ + Return: PA-confirm() +x3270.kmPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.kmPopup*translations: #override \n\ + Return: PA-confirm() +x3270.luPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +#endif +#ifdef X3270_FT +x3270.ftPopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +! Note: WM_PROTOCOLS is explicitly not defined for ftPopup, so that the user +! can clear error conditions while a transfer is in progress. +x3270.ftOverwritePopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.ftPopup*value.translations: #override \n\ + Return: PA-dialog-next()\n\ + Tab: PA-dialog-next()\n\ + : PA-dialog-focus() select-start()\n\ + CtrlU: select-all(DUMMY) delete-selection() +#endif +#ifdef X3270_SCRIPT +x3270.idlePopup.translations: \ + WM_PROTOCOLS: PA-WMProtocols() +x3270.idlePopup*value.translations: #override \n\ + Return: PA-dialog-next()\n\ + Tab: PA-dialog-next()\n\ + : PA-dialog-focus() select-start()\n\ + CtrlU: select-all(DUMMY) delete-selection() +#endif +x3270*value.translations: #override \n\ + Return: PA-confirm()\n\ + CtrlU: select-all(DUMMY) delete-selection() +x3270*value.width: 200 +! Workaround for Xaw MenuButton bug that keeps menu items from highlighting +! when CapsLock or NumLock are down. Technically, this would require +! translations for all permutations of all 8 modifiers: shift, lock, control, +! mod1, mod2, mod3, mod4 and mod5. However, we will leave out shift and +! control, since they are "voluntary" key presses and would quadruple the +! size of this resource. +x3270*MenuButton.translations: #override \n\ + Lock: reset() PopupMenu()\n\ + Mod1: reset() PopupMenu()\n\ + Lock Mod1: reset() PopupMenu()\n\ + Mod2: reset() PopupMenu()\n\ + Lock Mod2: reset() PopupMenu()\n\ + Mod1 Mod2: reset() PopupMenu()\n\ + Lock Mod1 Mod2: reset() PopupMenu()\n\ + Mod3: reset() PopupMenu()\n\ + Lock Mod3: reset() PopupMenu()\n\ + Mod1 Mod3: reset() PopupMenu()\n\ + Lock Mod1 Mod3: reset() PopupMenu()\n\ + Mod2 Mod3: reset() PopupMenu()\n\ + Lock Mod2 Mod3: reset() PopupMenu()\n\ + Mod1 Mod2 Mod3: reset() PopupMenu()\n\ + Lock Mod1 Mod2 Mod3: reset() PopupMenu()\n\ + Mod4: reset() PopupMenu()\n\ + Lock Mod4: reset() PopupMenu()\n\ + Mod1 Mod4: reset() PopupMenu()\n\ + Lock Mod1 Mod4: reset() PopupMenu()\n\ + Mod2 Mod4: reset() PopupMenu()\n\ + Lock Mod2 Mod4: reset() PopupMenu()\n\ + Mod1 Mod2 Mod4: reset() PopupMenu()\n\ + Lock Mod1 Mod2 Mod4: reset() PopupMenu()\n\ + Mod3 Mod4: reset() PopupMenu()\n\ + Lock Mod3 Mod4: reset() PopupMenu()\n\ + Mod1 Mod3 Mod4: reset() PopupMenu()\n\ + Lock Mod1 Mod3 Mod4: reset() PopupMenu()\n\ + Mod2 Mod3 Mod4: reset() PopupMenu()\n\ + Lock Mod2 Mod3 Mod4: reset() PopupMenu()\n\ + Mod1 Mod2 Mod3 Mod4: reset() PopupMenu()\n\ + Lock Mod1 Mod2 Mod3 Mod4: reset() PopupMenu()\n\ + Mod5: reset() PopupMenu()\n\ + Lock Mod5: reset() PopupMenu()\n\ + Mod1 Mod5: reset() PopupMenu()\n\ + Lock Mod1 Mod5: reset() PopupMenu()\n\ + Mod2 Mod5: reset() PopupMenu()\n\ + Lock Mod2 Mod5: reset() PopupMenu()\n\ + Mod1 Mod2 Mod5: reset() PopupMenu()\n\ + Lock Mod1 Mod2 Mod5: reset() PopupMenu()\n\ + Mod3 Mod5: reset() PopupMenu()\n\ + Lock Mod3 Mod5: reset() PopupMenu()\n\ + Mod1 Mod3 Mod5: reset() PopupMenu()\n\ + Lock Mod1 Mod3 Mod5: reset() PopupMenu()\n\ + Mod2 Mod3 Mod5: reset() PopupMenu()\n\ + Lock Mod2 Mod3 Mod5: reset() PopupMenu()\n\ + Mod1 Mod2 Mod3 Mod5: reset() PopupMenu()\n\ + Lock Mod1 Mod2 Mod3 Mod5: reset() PopupMenu()\n\ + Mod4 Mod5: reset() PopupMenu()\n\ + Lock Mod4 Mod5: reset() PopupMenu()\n\ + Mod1 Mod4 Mod5: reset() PopupMenu()\n\ + Lock Mod1 Mod4 Mod5: reset() PopupMenu()\n\ + Mod2 Mod4 Mod5: reset() PopupMenu()\n\ + Lock Mod2 Mod4 Mod5: reset() PopupMenu()\n\ + Mod1 Mod2 Mod4 Mod5: reset() PopupMenu()\n\ + Lock Mod1 Mod2 Mod4 Mod5: reset() PopupMenu()\n\ + Mod3 Mod4 Mod5: reset() PopupMenu()\n\ + Lock Mod3 Mod4 Mod5: reset() PopupMenu()\n\ + Mod1 Mod3 Mod4 Mod5: reset() PopupMenu()\n\ + Lock Mod1 Mod3 Mod4 Mod5: reset() PopupMenu()\n\ + Mod2 Mod3 Mod4 Mod5: reset() PopupMenu()\n\ + Lock Mod2 Mod3 Mod4 Mod5: reset() PopupMenu()\n\ + Mod1 Mod2 Mod3 Mod4 Mod5: reset() PopupMenu()\n\ + Lock Mod1 Mod2 Mod3 Mod4 Mod5: reset() PopupMenu() +#endif +! Default compose-key map. +! Each line is of the form "keysym1 + keysym2 = keysym3", meaning "when the +! Compose key is pressed, followed by keysym1 and keysym2 (in either order), +! interpret it as keysym3." The definitions are case-sensitive. +x3270.composeMap.latin1: \ + c + bar = cent \n\ + c + slash = cent \n\ + L + minus = sterling \n\ + Y + equal = yen \n\ + S + S = section \n\ + C + O = copyright \n\ + a + underscore = ordfeminine \n\ + less + less = guillemotleft \n\ + R + O = registered \n\ + plus + minus = plusminus \n\ + o + underscore = masculine \n\ + greater + greater = guillemotright \n\ + 1 + 4 = onequarter \n\ + 1 + 2 = onehalf \n\ + 3 + 4 = threequarters \n\ + bar + bar = brokenbar \n\ + A + grave = Agrave \n\ + A + apostrophe = Aacute \n\ + A + asciicircum = Acircumflex \n\ + A + asciitilde = Atilde \n\ + A + quotedbl = Adiaeresis \n\ + A + asterisk = Aring \n\ + A + E = AE \n\ + C + comma = Ccedilla \n\ + C + apostrophe = Ccedilla \n\ + E + grave = Egrave \n\ + E + apostrophe = Eacute \n\ + E + asciicircum = Ecircumflex \n\ + E + quotedbl = Ediaeresis \n\ + I + grave = Igrave \n\ + I + apostrophe = Iacute \n\ + I + asciicircum = Icircumflex \n\ + I + quotedbl = Idiaeresis \n\ + N + asciitilde = Ntilde \n\ + O + grave = Ograve \n\ + O + apostrophe = Oacute \n\ + O + asciicircum = Ocircumflex \n\ + O + asciitilde = Otilde \n\ + O + quotedbl = Odiaeresis \n\ + O + slash = Ooblique \n\ + U + grave = Ugrave \n\ + U + apostrophe = Uacute \n\ + U + asciicircum = Ucircumflex \n\ + U + quotedbl = Udiaeresis \n\ + Y + apostrophe = Yacute \n\ + s + s = ssharp \n\ + a + grave = agrave \n\ + a + apostrophe = aacute \n\ + a + asciicircum = acircumflex \n\ + a + asciitilde = atilde \n\ + a + quotedbl = adiaeresis \n\ + a + asterisk = aring \n\ + a + e = ae \n\ + c + comma = ccedilla \n\ + c + apostrophe = ccedilla \n\ + e + grave = egrave \n\ + e + apostrophe = eacute \n\ + e + asciicircum = ecircumflex \n\ + e + quotedbl = ediaeresis \n\ + i + grave = igrave \n\ + i + apostrophe = iacute \n\ + i + asciicircum = icircumflex \n\ + i + quotedbl = idiaeresis \n\ + n + asciitilde = ntilde \n\ + o + grave = ograve \n\ + o + apostrophe = oacute \n\ + o + asciicircum = ocircumflex \n\ + o + asciitilde = otilde \n\ + o + quotedbl = odiaeresis \n\ + o + slash = oslash \n\ + u + grave = ugrave \n\ + u + apostrophe = uacute \n\ + u + asciicircum = ucircumflex \n\ + u + quotedbl = udiaeresis \n\ + y + apostrophe = yacute \n\ + y + quotedbl = ydiaeresis \n\ + apostrophe + apostrophe = apostrophe \n\ + apostrophe + space = apostrophe \n\ + asciicircum + asciicircum = asciicircum \n\ + asciicircum + space = asciicircum \n\ + asciitilde + asciitilde = asciitilde \n\ + asciitilde + space = asciitilde \n\ + grave + grave = grave \n\ + grave + space = grave \n\ + quotedbl + quotedbl = quotedbl \n\ + quotedbl + space = quotedbl \n +#ifndef STANDALONE +#ifdef X3270_APL +! +! Compose-key map for APL. +x3270.composeMap.apl: \ + A + underscore = apl_Aunderbar \n\ + B + underscore = apl_Bunderbar \n\ + C + underscore = apl_Cunderbar \n\ + D + underscore = apl_Dunderbar \n\ + E + underscore = apl_Eunderbar \n\ + F + underscore = apl_Funderbar \n\ + G + underscore = apl_Gunderbar \n\ + H + underscore = apl_Hunderbar \n\ + I + underscore = apl_Iunderbar \n\ + J + underscore = apl_Junderbar \n\ + K + underscore = apl_Kunderbar \n\ + L + underscore = apl_Lunderbar \n\ + M + underscore = apl_Munderbar \n\ + N + underscore = apl_Nunderbar \n\ + O + underscore = apl_Ounderbar \n\ + P + underscore = apl_Punderbar \n\ + Q + underscore = apl_Qunderbar \n\ + R + underscore = apl_Runderbar \n\ + S + underscore = apl_Sunderbar \n\ + T + underscore = apl_Tunderbar \n\ + U + underscore = apl_Uunderbar \n\ + V + underscore = apl_Vunderbar \n\ + W + underscore = apl_Wunderbar \n\ + X + underscore = apl_Xunderbar \n\ + Y + underscore = apl_Yunderbar \n\ + Z + underscore = apl_Zunderbar \n\ + apl_upcaret + apl_downcaret = apl_diamond \n\ + apl_quad + apl_jot = apl_quadjot \n\ + apl_iota + underscore = apl_iotaunderbar \n\ + apl_epsilon + underscore = apl_epsilonunderbar \n\ + less + equal = apl_notgreater \n\ + plus + minus = apl_plusminus \n\ + greater + equal = apl_notless \n\ + equal + slash = apl_notequal \n\ + apl_upcaret + apl_tilde = apl_upcarettilde \n\ + apl_upcaret + asciitilde = apl_upcarettilde \n\ + apl_downcaret + apl_tilde = apl_downcarettilde \n\ + apl_downcaret + asciitilde = apl_downcarettilde \n\ + apl_circle + apl_stile = apl_circlestile \n\ + apl_circle + bar = apl_circlestile \n\ + apl_quad + apl_slope = apl_slopequad \n\ + apl_quad + backslash = apl_slopequad \n\ + apl_circle + apl_slope = apl_circleslope \n\ + apl_circle + backslash = apl_circleslope \n\ + apl_downtack + apl_uptack = apl_downtackup \n\ + apostrophe + period = apl_quotedot \n\ + apl_del + apl_stile = apl_delstile \n\ + apl_del + bar = apl_delstile \n\ + apl_delta + apl_stile = apl_deltastile \n\ + apl_delta + bar = apl_deltastile \n\ + apl_quad + apostrophe = apl_quadquote \n\ + apl_upshoe + apl_jot = apl_upshoejot \n\ + slash + minus = apl_slashbar \n\ + apl_slope + minus = apl_slopebar \n\ + backslash + minus = apl_slopebar \n\ + apl_diaeresis + period = apl_diaeresisdot \n\ + apl_circle + minus = apl_circlebar \n\ + apl_quad + apl_divide = apl_quaddivide \n\ + apl_uptack + apl_jot = apl_uptackjot \n\ + apl_del + apl_tilde = apl_deltilde \n\ + apl_del + asciitilde = apl_deltilde \n\ + apl_delta + underscore = apl_deltaunderbar \n\ + apl_circle + asterisk = apl_circlestar \n\ + apl_downtack + apl_jot = apl_downtackjot \n\ + equal + underscore = apl_equalunderbar \n\ + apl_quad + apl_quad = apl_squad \n\ + apl_diaeresis + apl_jot = apl_diaeresisjot \n\ + apl_diaeresis + apl_circle = apl_diaeresiscircle \n\ + comma + minus = apl_commabar \n\ + c + equal = apl_euro \n\ + C + equal = apl_euro \n\ + minus + parenleft = apl_lefttack \n\ + minus + parenright = apl_righttack \n +#endif +#endif +#ifdef STANDALONE +#ifdef _WIN32 +! wc3270 keymap for more 3270-ish behavior: The Enter key is Newline and the +! Right-Ctrl key is Enter. +x3270.keymap.rctrl.3270: \ + RightCtrlCTRL: Enter()\n\ + Return: Newline() +#endif +#endif +! +! EBCDIC character sets. +! A charset is a series of newline-separated strings that define how an EBCDIC +! national character set differs from IBM's standard U.S.-International set +! (table 01). Each string is a number, a colon, and a symbol. The number is +! the EBCDIC code, and the symbol is an ASCII character or ISO Latin-1 name of +! the graphic it represents. +! +! U.S.-International (table 01) +x3270.charset.us-intl: \n +x3270.codepage.us-intl: 37 +! alias for 'us-intl' (backwards compatibility) +x3270.charset.us: \n +x3270.codepage.us: 37 +! U.S. English w/Euro (code page 1140) +x3270.codepage.us-euro: 0x02b70474 +x3270.displayCharset.us-euro: 3270cg-15a,3270cg-15,iso8859-15 +! +! APL character set (same as us-intl, no remapping required) +x3270.charset.apl: \n +x3270.codepage.apl: 37 +x3270.displayCharset.apl: 3270cg-1a +x3270.emulatorFontList.3270cg-1a: 3270 +! +! EBCDIC map for hosts that put '[' and ']' in non-standard positions (X'AD' +! and X'BD'). This is the default x3270 character set, because these hosts +! are so common in the U.S. +! Note that those hosts tend to display '[' and ']' as GE X'AD' and GE X'BD', +! which are the APL bracket characters. +x3270.charset.bracket: \ + 0xad: [ \n 0xba: Yacute \n\ + 0xbd: ] \n 0xbb: diaeresis \n +! The codepage for 'bracket' is a lie, but there is no real codepage that +! corresponds to it. +x3270.codepage.bracket: 37 +! alias for 'bracket' (backwards compatibility) +x3270.charset.oldibm: \ + 0xad: [ \n 0xba: Yacute \n\ + 0xbd: ] \n 0xbb: diaeresis \n +x3270.codepage.oldibm: 37 +! +! Each entry below is derived from IBM GA27-3831-03, Fourth Edition. +! Austrian/German (table 03) +x3270.charset.german: \ + 0x43: { \n 0x4a: Adiaeresis \n\ + 0x4f: ! \n 0x59: ~ \n\ + 0x5a: Udiaeresis \n 0x5f: ^ \n\ + 0x63: [ \n 0x6a: odiaeresis \n\ + 0x7c: section \n 0xa1: ssharp \n\ + 0xb0: cent \n 0xb5: @ \n\ + 0xba: notsign \n 0xbb: bar \n\ + 0xc0: adiaeresis \n 0xcc: brokenbar \n\ + 0xd0: udiaeresis \n 0xdc: } \n\ + 0xe0: Odiaeresis \n 0xec: backslash \n\ + 0xfc: ] \n +x3270.codepage.german: 273 +! German w/Euro (code page 1141) +x3270.codepage.german-euro: 0x02b70475 +x3270.displayCharset.german-euro: 3270cg-15a,3270cg-15,iso8859-15 +! Finnish (table 09) +x3270.charset.finnish: \ + 0x43: { \n 0x47: } \n\ + 0x4a: section \n 0x4f: ! \n\ + 0x51: ` \n 0x5a: currency \n\ + 0x5b: Aring \n 0x5f: ^ \n\ + 0x63: # \n 0x67: $ \n\ + 0x6a: odiaeresis \n 0x71: backslash \n\ + 0x79: eacute \n 0x7b: Adiaeresis \n\ + 0x7c: Odiaeresis \n 0x9f: ] \n\ + 0xa1: udiaeresis \n 0xb1: cent \n\ + 0xb5: [ \n 0xba: notsign \n\ + 0xbb: | \n 0xc0: adiaeresis \n\ + 0xcc: brokenbar \n 0xd0: aring \n\ + 0xdc: ~ \n 0xe0: Eacute \n\ + 0xec: @ \n +x3270.codepage.finnish: 278 +! Finnish w/Euro (code page 1143) +x3270.codepage.finnish-euro: 0x02b70477 +x3270.displayCharset.finnish-euro: 3270cg-15a,3270cg-15,iso8859-15 +! U.K. (table 22) +x3270.charset.uk: \ + 0x4a: $ \n 0x5b: sterling \n\ + 0xa1: macron \n 0xb0: cent \n\ + 0xb1: [ \n 0xba: ^ \n\ + 0xbc: ~ \n +x3270.codepage.uk: 285 +! U.K w/Euro (code page 1146) +x3270.codepage.uk-euro: 0x02b7047a +x3270.displayCharset.uk-euro: 3270cg-15a,3270cg-15,iso8859-15 +! Norwegian (table 23) +x3270.charset.norwegian: \ + 0x47: } \n 0x4a: # \n\ + 0x4f: ! \n 0x5a: currency \n\ + 0x5b: Aring \n 0x5f: ^ \n\ + 0x67: $ \n 0x6a: oslash \n\ + 0x70: brokenbar \n 0x7b: AE \n\ + 0x7c: Ooblique \n 0x80: @ \n\ + 0x9c: { \n 0x9e: [ \n\ + 0x9f: ] \n 0xa1: udiaeresis \n\ + 0xb0: cent \n 0xba: notsign \n\ + 0xbb: bar \n 0xc0: ae \n\ + 0xd0: aring \n 0xdc: ~ \n +x3270.codepage.norwegian: 277 +! Norwegian w/Euro (code page 1142) +x3270.codepage.norwegian-euro: 0x02b70476 +x3270.displayCharset.norwegian-euro: 3270cg-15a,3270cg-15,iso8859-15 +! French (table 30) +x3270.charset.french: \ + 0x44: @ \n 0x48: backslash \n\ + 0x4a: degree \n 0x4f: ! \n\ + 0x51: { \n 0x54: } \n\ + 0x5a: section \n 0x5f: ^ \n\ + 0x6a: ugrave \n 0x79: mu \n\ + 0x7b: sterling \n 0x7c: agrave \n\ + 0x90: [ \n 0xa0: grave \n\ + 0xa1: diaeresis \n 0xb0: cent \n\ + 0xb1: numbersign \n 0xb5: ] \n\ + 0xba: notsign \n 0xbb: bar \n\ + 0xbd: ~ \n 0xc0: eacute \n\ + 0xd0: egrave \n 0xe0: ccedilla \n +x3270.codepage.french: 297 +! French w/Euro (code page 1147) +x3270.codepage.french-euro: 0x02b7047b +x3270.displayCharset.french-euro: 3270cg-15a,3270cg-15,iso8859-15 +! Icelandic, courtesy of Rikhardur Egilsson +x3270.charset.icelandic: \ + 0xa1: odiaeresis \n 0x5f: Odiaeresis \n\ + 0x79: eth \n 0x7c: Eth \n\ + 0xc0: thorn \n 0x4a: Thorn \n\ + 0xd0: ae \n 0x5a: AE \n\ + 0xcc: ~ \n 0x4f: ! \n\ + 0x8e: { \n 0x9c: } \n\ + 0xae: [ \n 0x9e: ] \n\ + 0xac: @ \n 0xbe: \\ \n\ + 0x7d: apostrophe \n 0x8c: ` \n\ + 0x6a: | \n +x3270.codepage.icelandic: 871 +! Icelandic w/Euro (code page 1149) +x3270.codepage.icelandic-euro: 0x02b7047d +x3270.displayCharset.icelandic-euro: 3270cg-15a,3270cg-15,iso8859-15 +! Belgian, with the help of Peter Govaerts +x3270.charset.belgian: \ + 0x4a: [ \n 0x4f: ! \n\ + 0x5a: ] \n 0x5f: ^ \n\ + 0xb0: cent \n 0xba: notsign \n\ + 0xbb: bar \n +x3270.codepage.belgian: 500 +! Belgian w/Euro (code page 1148) +x3270.codepage.belgian-euro: 0x02b7047c +x3270.displayCharset.belgian-euro: 3270cg-15a,3270cg-15,iso8859-15 +! Italian, courtesy of Claudio Maniscalco and Daniele Patoner +x3270.charset.italian: \ + 0x44: braceleft \n 0x48: backslash \n\ + 0x4a: degree \n 0x4f: exclam \n\ + 0x51: bracketright \n 0x54: braceright \n\ + 0x58: asciitilde \n 0x5a: eacute \n\ + 0x5f: asciicircum \n 0x6a: ograve \n\ + 0x7b: sterling \n 0x7c: section \n\ + 0x79: ugrave \n 0x90: bracketleft \n\ + 0xa1: igrave \n 0xb0: cent \n\ + 0xb1: numbersign \n 0xb5: at \n\ + 0xba: notsign \n 0xbb: bar \n\ + 0xc0: agrave \n 0xcd: brokenbar \n\ + 0xd0: egrave \n 0xdd: grave \n\ + 0xe0: ccedilla \n +x3270.codepage.italian: 280 +! Italian w/Euro (code page 1144) +x3270.codepage.italian-euro: 0x02b70478 +x3270.displayCharset.italian-euro: 3270cg-15a,3270cg-15,iso8859-15 +! Turkish, uses standard ISO 8859-9 fonts +x3270.charset.turkish: \ + 0x48: { \n 0x4a: 0xc7 \n 0x4f: ! \n 0x5a: 0xd0 \n\ + 0x5b: 0xdd \n 0x5f: ^ \n 0x68: [ \n 0x6a: 0xfe \n\ + 0x79: 0xfd \n 0x7b: 0xd6 \n 0x7c: 0xde \n 0x7f: 0xdc \n\ + 0x8c: } \n 0x8d: 0x91 \n 0x8e: 0xa6 \n 0xa1: 0xf6 \n\ + 0xac: ] \n 0xad: $ \n 0xae: @ \n 0xb0: 0xa2 \n\ + 0xba: 0xac \n 0xbb: | \n 0xbe: 0x92 \n 0xc0: 0xe7 \n\ + 0xcc: ~ \n 0xd0: 0xf0 \n 0xdc: 0x5c \n 0xe0: 0xfc \n\ + 0xec: # \n 0xfc: " +x3270.codepage.turkish: 0x04800402 +x3270.displayCharset.turkish: iso8859-9 +! Hebrew, uses standard ISO 8859-8 fonts +x3270.charset.hebrew: #table\n\ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 32 224 225 226 227 228 229 230 231 232 162 46 60 40 43 124 \ + 38 233 234 235 236 237 238 239 240 241 33 36 42 41 59 172 \ + 45 47 242 243 244 245 246 247 248 249 166 44 37 95 62 63 \ + 0 250 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \ + 0 97 98 99 100 101 102 103 104 105 171 187 0 0 0 177 \ +176 106 107 108 109 110 111 112 113 114 0 0 0 184 0 164 \ +181 126 115 116 117 118 119 120 121 122 0 0 0 0 0 174 \ + 94 163 165 183 169 167 182 188 189 190 91 93 175 168 180 170 \ +123 65 66 67 68 69 70 71 72 73 173 0 0 0 0 0 \ +125 74 75 76 77 78 79 80 81 82 185 0 0 0 0 0 \ + 92 186 83 84 85 86 87 88 89 90 178 0 0 0 0 0 \ + 48 49 50 51 52 53 54 55 56 57 179 0 0 0 0 159 +x3270.codepage.hebrew: 0x03ad01a8 +x3270.displayCharset.hebrew: 3270cg-8,iso8859-8 +x3270.emulatorFontList.3270cg-8,iso8859-8: Hebrew 14-point 3270 Font: 3270h +x3270.xkSelector.hebrew: 0x0c +x3270.autoKeymap.hebrew: true +! Brazilian character set for x3270. +! With invaluable help from Ricardo Dias de Pinho - Rio de Janeiro(RJ) BRAZIL. +x3270.codepage.brazilian: 275 +x3270.displayCharset.brazilian: 3270cg-1a,3270cg-1,iso8859-1 +x3270.charset.brazilian: #table\n\ + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ + 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ + 0x00 0x5b 0x5d 0xa3 0xa5 0xb6 0xa4 0xdf \ + 0xa7 0xaf 0xc9 0x2e 0x3c 0x28 0x2b 0x21 \ + 0x26 0xb0 0x00 0xac 0xa8 0xb4 0xb8 0xe0 \ + *0xe8 *0xec 0x24 0xc7 0x2a 0x29 0x3b 0x5e \ + 0x2d 0x2f *0xf2 *0xf9 0x60 0x7b 0xff *0xe0 \ + 0xe8 0xe9 0xe7 0x2c 0x25 0x5f 0x3e 0x3f \ + 0xec 0xf2 0xf9 *0xfc *0xe7 0xe4 0xeb 0xef \ + 0xf6 0xe3 0x3a 0xd5 0xc3 0x27 0x3d 0x22 \ + 0xfc 0x61 0x62 0x63 0x64 0x65 0x66 0x67 \ + 0x68 0x69 0xe2 0xea 0xee 0xf4 0xfb 0xe1 \ + 0x7d 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f 0x70 \ + 0x71 0x72 0xed 0xf3 0xfa 0xf1 0xc0 0xc8 \ + 0xcc 0x7e 0x73 0x74 0x75 0x76 0x77 0x78 \ + 0x79 0x7a 0xd2 0xd9 0x40 0x23 *0x59 *0x41 \ + *0x45 *0x45 *0x49 *0x4f *0x55 *0x59 *0x43 0xc4 \ + 0xcb 0xcf 0xd6 0xdc 0xc2 0xca 0xce 0xd4 \ + 0xf5 0x41 0x42 0x43 0x44 0x45 0x46 0x47 \ + 0x48 0x49 0xdb 0xc1 0xa2 0xcd 0x00 0x00 \ + *0xe9 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 \ + 0x51 0x52 0xd3 0xda 0xd1 0x00 0x00 0x00 \ + 0x5c 0x00 0x53 0x54 0x55 0x56 0x57 0x58 \ + 0x59 0x5a 0xf8 0xe5 0xa6 0x00 0x00 0x00 \ + 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 \ + 0x38 0x39 0xc6 0xd8 0xc5 0x7c 0x00 0x00 +! Greek, requires the 3270gr font +! Courtesty of Mantzios Achilleus +x3270.charset.greek: #table \ + 0 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \n\ + 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \n\ +128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \n\ +144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \n\ + 32 193 194 195 196 197 198 199 200 201 91 46 60 40 43 33 \n\ + 38 202 203 204 205 206 207 208 209 211 93 36 42 41 59 94 \n\ + 45 47 212 213 214 215 216 217 218 219 174 44 37 95 62 63 \n\ +168 182 184 185 210 186 188 190 191 96 58 35 64 39 61 34 \n\ +181 97 98 99 100 101 102 103 104 105 225 226 227 228 229 230 \n\ +176 106 107 108 109 110 111 112 113 114 231 232 233 234 235 236 \n\ +180 126 115 116 117 118 119 120 121 122 237 238 239 240 241 243 \n\ +163 220 221 222 250 223 252 253 251 254 242 244 245 246 247 248 \n\ +123 65 66 67 68 69 70 71 72 73 173 249 192 224 164 175 \n\ +125 74 75 76 77 78 79 80 81 82 177 189 124 183 162 166 \n\ + 92 161 83 84 85 86 87 88 89 90 178 167 255 170 171 172 \n\ + 48 49 50 51 52 53 54 55 56 57 179 169 165 160 187 159 +x3270.codepage.greek: 0x0464036b +x3270.displayCharset.greek: 3270cg-7,iso8859-7 +x3270.xkSelector.greek: 0x07 +x3270.emulatorFontList.3270cg-7,iso8859-7: 3270gr +! Russian character set for x3270. +x3270.codepage.russian: 880 +x3270.displayCharset.russian: koi8-r +x3270.xkSelector.russian: 0x06 +x3270.charset.russian: #table\n\ + 0 1 2 3 158 9 170 127 182 96 147 11 12 13 14 15 \ + 16 17 18 19 171 126 8 175 24 25 150 125 28 29 30 31 \ + 124 174 129 123 160 10 23 27 172 154 184 173 146 5 6 7 \ + 180 181 22 183 155 156 157 4 178 131 169 148 20 21 149 26 \ + 32 166 167 128 163 139 140 141 142 143 91 46 60 40 43 33 \ + 38 176 177 186 187 188 189 255 191 144 93 36 42 41 59 94 \ + 45 47 130 179 132 133 134 135 136 137 145 44 37 95 62 63 \ + 151 152 153 162 138 164 192 193 194 168 58 35 64 39 61 34 \ + 195 97 98 99 100 101 102 103 104 105 196 197 198 199 200 201 \ + 202 106 107 108 109 110 111 112 113 114 203 204 205 206 207 208 \ + 209 161 115 116 117 118 119 120 121 122 210 211 212 213 214 215 \ + 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 \ + 165 65 66 67 68 69 70 71 72 73 232 233 234 235 236 237 \ + 159 74 75 76 77 78 79 80 81 82 238 239 240 241 242 243 \ + 92 185 83 84 85 86 87 88 89 90 244 245 246 247 248 249 \ + 48 49 50 51 52 53 54 55 56 57 250 251 252 253 254 190 +! Code page 870 for Slovenian, Croatian, Serbian (Latin) and Polish. +x3270.codepage.cp870: 0x03bf0366 +x3270.displayCharset.cp870: iso8859-2 +x3270.xkSelector.cp870: 0x01 +x3270.charset.cp870: #table\n\ + 0 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \ + 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \ + 128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \ + 144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \ + 32 160 226 228 254 225 227 232 231 230 91 46 60 40 43 33 \ + 38 233 234 235 249 237 238 181 229 223 93 36 42 41 59 94 \ + 45 47 194 196 189 193 195 200 199 198 124 44 37 95 62 63 \ + 183 201 202 203 217 205 206 165 197 96 58 35 64 39 61 34 \ + 162 97 98 99 100 101 102 103 104 105 182 242 240 253 248 186 \ + 176 106 107 108 109 110 111 112 113 114 179 241 185 184 178 164 \ + 177 126 115 116 117 118 119 120 121 122 166 210 208 221 216 170 \ + 255 161 191 222 175 167 190 188 174 172 163 209 169 168 180 215 \ + 123 65 66 67 68 69 70 71 72 73 173 244 246 224 243 245 \ + 125 74 75 76 77 78 79 80 81 82 204 251 252 187 250 236 \ + 92 247 83 84 85 86 87 88 89 90 239 212 214 192 211 213 \ + 48 49 50 51 52 53 54 55 56 57 207 219 220 171 218 159 +#ifdef _WIN32 +! Host codepage 37 / Windows codepage 437 (US OEM) +x3270.codepage.bracket437: 37 +x3270.displayCharset.bracket437: windows-437 +x3270.charset.bracket437: #table\n\ + 0 1 2 3 0 9 0 127 0 0 0 11 12 13 14 15 \ + 16 17 18 19 0 0 8 0 24 25 0 0 28 29 30 31 \ + 0 0 0 0 0 10 23 27 0 0 0 0 0 5 6 7 \ + 0 0 22 0 0 0 0 4 0 0 0 0 20 21 0 26 \ + 32 255 131 132 133 160 0 134 135 164 155 46 60 40 43 124 \ + 38 130 136 137 138 161 140 139 141 225 33 36 42 41 59 170 \ + 45 47 0 142 0 0 0 143 128 165 0 44 37 95 62 63 \ + 0 144 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \ + 0 97 98 99 100 101 102 103 104 105 174 175 0 0 0 241 \ +248 106 107 108 109 110 111 112 113 114 166 167 145 0 146 0 \ +230 126 115 116 117 118 119 120 121 122 173 168 0 91 0 0 \ + 94 156 157 250 0 0 0 172 171 0 0 0 0 93 0 0 \ +123 65 66 67 68 69 70 71 72 73 0 147 148 149 162 0 \ +125 74 75 76 77 78 79 80 81 82 0 150 129 151 163 152 \ + 92 246 83 84 85 86 87 88 89 90 253 0 153 0 0 0 \ + 48 49 50 51 52 53 54 55 56 57 0 0 154 0 0 0 +x3270.aplMap.437: \ + 0xaf: 0xf8\n 0xd4: 0xd9\n 0xd5: 0xbf\n 0xc5: 0xda\n\ + 0xc4: 0xc0\n 0xd3: 0xc5\n 0xa2: 0xc4\n 0xc6: 0xc3\n\ + 0xd6: 0xb4\n 0xc7: 0xc1\n 0xd7: 0xc2\n 0x85: 0xb3\n\ + 0x8c: 0xf3\n 0xae: 0xf2\n 0xbe: 0x00\n 0xa3: 0xf9\n\ + 0xad: 0x5b\n 0xbd: 0x5d +! Host codepage 1153/1375 / Windows codepage 1250 (Central Europe) +x3270.codepage.cp1153: 0x055f0481 +x3270.displayCharset.cp1153: windows-1250 +x3270.charset.cp1153: #table\n\ + 0 1 2 3 156 9 134 127 151 0 0 11 12 13 14 15 \ + 16 17 18 19 0 133 8 135 24 25 146 0 28 29 30 31 \ + 0 0 0 131 132 10 23 27 136 137 0 139 0 5 6 7 \ + 144 145 22 147 148 149 150 4 152 153 0 155 20 21 158 26 \ + 32 160 226 228 254 225 227 232 231 230 91 46 60 40 43 33 \ + 38 233 234 235 249 237 238 190 229 223 93 36 42 41 59 94 \ + 45 47 194 196 189 193 195 200 199 198 124 44 37 95 62 63 \ + 161 201 202 203 217 205 206 188 197 96 58 35 64 39 61 34 \ + 162 97 98 99 100 101 102 103 104 105 156 242 240 253 248 186 \ + 176 106 107 108 109 110 111 112 113 114 179 241 154 184 178 128 \ + 185 126 115 116 117 118 119 120 121 122 140 210 208 221 216 170 \ + 255 165 191 222 175 167 158 159 142 143 163 209 138 168 180 215 \ + 123 65 66 67 68 69 70 71 72 73 173 244 246 224 243 245 \ + 125 74 75 76 77 78 79 80 81 82 204 251 252 157 250 236 \ + 92 247 83 84 85 86 87 88 89 90 239 212 214 192 211 213 \ + 48 49 50 51 52 53 54 55 56 57 207 219 220 141 218 0 +#endif +! Thai character set for x3270 +x3270.codepage.thai: 0x03aa0346 +x3270.displayCharset.thai: iso8859-11,tis620.2529-0 +x3270.xkSelector.thai: 0x0d +x3270.charset.thai: #table\n\ + 32 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \ + 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \ + 128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \ + 144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \ + 32 32 161 162 163 164 165 166 167 168 213 46 60 40 43 124 \ + 38 169 168 169 170 171 172 173 174 177 33 36 42 41 59 126 \ + 45 47 175 176 177 178 179 180 181 185 203 44 37 95 62 63 \ + 223 238 182 183 184 185 186 187 188 96 58 35 64 39 61 34 \ + 239 97 98 99 100 101 102 103 104 105 189 190 191 192 193 194 \ + 250 106 107 108 109 110 111 112 113 114 195 196 197 198 199 200 \ + 251 229 115 116 117 118 119 120 121 122 201 202 203 204 205 206 \ + 240 241 242 243 244 245 246 247 248 249 207 208 209 210 211 212 \ + 123 65 66 67 68 69 70 71 72 73 232 213 214 215 216 217 \ + 125 74 75 76 77 78 79 80 81 82 218 224 225 226 227 228 \ + 92 159 83 84 85 86 87 88 89 90 229 230 231 232 233 234 \ + 48 49 50 51 52 53 54 55 56 57 235 236 237 253 254 255 +#ifdef X3270_DBCS +! Simplified Chinese. +! Note that the 'charset' definition applies only to the single-byte character +! set (836), not the double-byte character set (837). +x3270.codepage.simplified-chinese: 0x04960344+0xffff0345 +x3270.displayCharset.simplified-chinese: 3270cg-1a,3270cg-1,iso8859-1+gb2312.1980-0,iso10646-1 +x3270.charset.simplified-chinese: #table\n\ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 32 0 0 0 0 0 0 0 0 0 163 46 60 40 43 124 \ + 38 0 0 0 0 0 0 0 0 0 33 165 42 41 59 172 \ + 45 47 0 0 0 0 0 0 0 0 166 44 37 95 62 63 \ + 0 0 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \ + 0 97 98 99 100 101 102 103 104 105 0 0 0 0 0 0 \ + 0 106 107 108 109 110 111 112 113 114 0 0 0 0 0 0 \ + 126 175 115 116 117 118 119 120 121 122 0 0 0 0 0 0 \ + 94 0 92 0 0 0 0 0 0 0 91 93 0 0 0 0 \ + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ + 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 +! dbcsConverters are ICU converter names, of the form: +! [host-SBCS-converter+]host-DBCS-converter,display-font-converter +x3270.dbcsConverters.simplified-chinese: ibm-837_P100-2000,gb2312-1980 +! Simplified Chinese, using GB18030 and code page 1388 (same code page for +! SBCS and DBCS). +x3270.codepage.chinese-gb18030: 0xffff056c+0xffff056c +x3270.displayCharset.chinese-gb18030: 3270cg-1a,3270cg-1,iso8859-1+gb18030.2000-1,iso10646-1 +x3270.charset.chinese-gb18030: #table\n\ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 32 0 0 0 0 0 0 0 0 0 163 46 60 40 43 124 \ + 38 0 0 0 0 0 0 0 0 0 33 165 42 41 59 172 \ + 45 47 0 0 0 0 0 0 0 0 166 44 37 95 62 63 \ + 0 0 0 0 0 0 0 0 0 96 58 35 64 39 61 34 \ + 0 97 98 99 100 101 102 103 104 105 0 0 0 0 0 0 \ + 0 106 107 108 109 110 111 112 113 114 0 0 0 0 0 0 \ + 126 175 115 116 117 118 119 120 121 122 0 0 0 0 0 0 \ + 94 0 92 0 0 0 0 0 0 0 91 93 0 0 0 0 \ + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ + 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 +x3270.dbcsConverters.chinese-gb18030: ibm-1388_P103-2001+ibm-1388_P103-2001,gb18030 +! Japanese. +! Note that the 'charset' definition applies only to the single-byte character +! set (1027), not the double-byte character set (300). +x3270.codepage.japanese: 0x04940403+0x0172012c +x3270.displayCharset.japanese: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 +x3270.charset.japanese: #table\n\ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 32 0 161 162 163 164 165 166 167 168 0 46 60 40 43 124 \ + 38 169 170 171 172 173 174 175 176 177 33 36 42 41 59 0 \ + 45 47 178 179 180 181 182 183 184 185 0 44 37 95 62 63 \ + 186 187 188 189 190 191 192 193 194 96 58 35 64 39 61 34 \ + 0 97 98 99 100 101 102 103 104 105 195 196 197 198 199 200 \ + 0 106 107 108 109 110 111 112 113 114 201 202 203 204 205 206 \ + 126 0 115 116 117 118 119 120 121 122 207 208 209 91 210 211 \ + 94 0 92 212 213 214 215 216 217 218 219 220 221 93 222 223 \ + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ + 0 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 +x3270.dbcsConverters.japanese: ibm-1027_P100-1995+ibm-300_P110-1997,EUC-JP +! Japanese, using code page 290 for SBCS. +x3270.codepage.japanese-290: 0x04940122+0x0172012c +x3270.displayCharset.japanese-290: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 +x3270.charset.japanese-290: #table\n\ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 32 161 162 163 164 165 166 167 168 169 0 46 60 40 43 124 \ + 38 170 171 172 173 174 175 0 176 0 33 92 42 41 59 0 \ + 45 47 97 98 99 100 101 102 103 104 0 44 37 95 62 63 \ + 91 105 106 107 108 109 110 111 112 96 58 35 64 39 61 34 \ + 93 177 178 179 180 181 182 183 184 185 186 113 187 188 189 190 \ + 191 192 193 194 195 196 197 198 199 200 201 114 0 202 203 204 \ + 0 126 205 206 207 208 209 210 211 212 213 115 214 215 216 217 \ + 94 0 0 116 117 118 119 120 121 122 218 219 220 221 222 223 \ + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ + 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 +x3270.dbcsConverters.japanese-290: ibm-290+ibm-300_P110-1997,EUC-JP +! Japanese, using code page 930 for both SBCS and DBCS. +x3270.codepage.japanese-930: 0x017203a2+0x017203a2 +x3270.displayCharset.japanese-930: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 +x3270.charset.japanese-930: #table\n\ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 32 161 162 163 164 165 166 167 168 169 0 46 60 40 43 124 \ + 38 170 171 172 173 174 175 0 176 0 33 92 42 41 59 0 \ + 45 47 97 98 99 100 101 102 103 104 0 44 37 95 62 63 \ + 91 105 106 107 108 109 110 111 112 96 58 35 64 39 61 34 \ + 93 177 178 179 180 181 182 183 184 185 186 113 187 188 189 190 \ + 191 192 193 194 195 196 197 198 199 200 201 114 0 202 203 204 \ + 0 126 205 206 207 208 209 210 211 212 213 115 214 215 216 217 \ + 94 0 0 116 117 118 119 120 121 122 218 219 220 221 222 223 \ + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ + 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 +x3270.dbcsConverters.japanese-930: ibm-930+ibm-930,EUC-JP +! Japanese, using code page 939 for both SBCS and DBCS. +x3270.codepage.japanese-939: 0x017203ab+0x017203ab +x3270.displayCharset.japanese-939: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 +x3270.charset.japanese-939: #table\n\ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 32 0 161 162 163 164 165 166 167 168 0 46 60 40 43 124 \ + 38 169 170 171 172 173 174 175 176 177 33 36 42 41 59 0 \ + 45 47 178 179 180 181 182 183 184 185 0 44 37 95 62 63 \ + 186 187 188 189 190 191 192 193 194 96 58 35 64 39 61 34 \ + 0 97 98 99 100 101 102 103 104 105 195 196 197 198 199 200 \ + 0 106 107 108 109 110 111 112 113 114 201 202 203 204 205 206 \ + 126 0 115 116 117 118 119 120 121 122 207 208 209 91 210 211 \ + 94 0 92 212 213 214 215 216 217 218 219 220 221 93 222 223 \ + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ + 0 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 +x3270.dbcsConverters.japanese-939: ibm-939+ibm-939,EUC-JP +! Japanese, using code page 1390 for both SBCS and DBCS. +x3270.codepage.japanese-1390: 0x0172056e+0x0172056e +x3270.displayCharset.japanese-1390: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 +x3270.charset.japanese-1390: #table\n\ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 32 161 162 163 164 165 166 167 168 169 0 46 60 40 43 124 \ + 38 170 171 172 173 174 175 0 176 0 33 92 42 41 59 0 \ + 45 47 97 98 99 100 101 102 103 104 0 44 37 95 62 63 \ + 91 105 106 107 108 109 110 111 112 96 58 35 64 39 61 34 \ + 93 177 178 179 180 181 182 183 184 185 186 113 187 188 189 190 \ + 191 192 193 194 195 196 197 198 199 200 201 114 0 202 203 204 \ + 0 126 205 206 207 208 209 210 211 212 213 115 214 215 216 217 \ + 94 0 0 116 117 118 119 120 121 122 218 219 220 221 222 223 \ + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ + 36 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 +x3270.dbcsConverters.japanese-1390: ibm-1390+ibm-1390,EUC-JP +! Japanese, using code page 1399 for both SBCS and DBCS. +x3270.codepage.japanese-1399: 0x01720577+0x01720577 +x3270.displayCharset.japanese-1399: jisx0201.1976-0+jisx0208.1983-0,iso10646-1 +x3270.charset.japanese-1399: #table\n\ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ + 32 0 161 162 163 164 165 166 167 168 0 46 60 40 43 124 \ + 38 169 170 171 172 173 174 175 176 177 33 36 42 41 59 0 \ + 45 47 178 179 180 181 182 183 184 185 0 44 37 95 62 63 \ + 186 187 188 189 190 191 192 193 194 96 58 35 64 39 61 34 \ + 0 97 98 99 100 101 102 103 104 105 195 196 197 198 199 200 \ + 0 106 107 108 109 110 111 112 113 114 201 202 203 204 205 206 \ + 126 0 115 116 117 118 119 120 121 122 207 208 209 91 210 211 \ + 94 0 92 212 213 214 215 216 217 218 219 220 221 93 222 223 \ + 123 65 66 67 68 69 70 71 72 73 0 0 0 0 0 0 \ + 125 74 75 76 77 78 79 80 81 82 0 0 0 0 0 0 \ + 0 0 83 84 85 86 87 88 89 90 0 0 0 0 0 0 \ + 48 49 50 51 52 53 54 55 56 57 0 0 0 0 0 0 +x3270.dbcsConverters.japanese-1399: ibm-1399+ibm-1399,EUC-JP +#endif +! Non-standard Persian support. +x3270.charset.persian: \ + *0x42: 0x0622 \n\ + *0x43: 0x0627 \n\ + *0x44: 0x0628 \n\ + *0x45: 0xfb56 \n\ + *0x46: 0x062a \n\ + *0x47: 0x062b \n\ + *0x48: 0x062c \n\ + *0x49: 0xfb7a \n\ + *0x51: 0x062d \n\ + *0x52: 0x062e \n\ + *0x53: 0x062f \n\ + *0x54: 0x0630 \n\ + *0x55: 0x0631 \n\ + *0x56: 0x0632 \n\ + *0x57: 0xfb8b \n\ + *0x58: 0x0633 \n\ + *0x59: 0x0634 \n\ + *0x62: 0x0635 \n\ + *0x63: 0x0636 \n\ + *0x64: 0x0638 \n\ + *0x65: 0x0639 \n\ + *0x66: 0x063a \n\ + *0x67: 0x063b \n\ + *0x68: 0x063d \n\ + *0x69: 0x063e \n\ + *0x70: 0x063f \n\ + *0x71: 0x06a9 \n\ + *0x72: 0x06af \n\ + *0x73: 0x0641 \n\ + *0x74: 0x0643 \n\ + *0x75: 0x0644 \n\ + *0x76: 0x0646 \n\ + *0x77: 0x0645 \n\ + *0x78: 0x064d \n\ + *0x80: 0x064c \n\ + *0x8c: 0x0621 \n\ + *0x8d: 0x0623 \n\ + *0x8e: 0x0625 \n\ + *0x9c: 0x0629 \n\ + *0x9d: 0x0626 \n\ + *0x9e: 0xfdfc \n\ + *0xcb: 0x061b \n\ + *0xcc: 0x060c \n\ + *0xcd: 0x061f +x3270.codepage.persian: 37 +x3270.displayCharset.persian: iso10646-1 +! IBM codepage 1047, used by Unix System Services +x3270.charset.cp1047: \ + 0xad: [ \n 0xba: Yacute \n\ + 0xbd: ] \n 0xbb: diaeresis \n\ + 0x5f: asciicircum \n 0xb0: notsign +! Spanish character set for x3270. +x3270.codepage.spanish: 284 +x3270.displayCharset.spanish: 3270cg-1a,3270cg-1,iso8859-1 +x3270.charset.spanish: #table\n\ + 0 1 2 3 156 9 134 127 151 141 142 11 12 13 14 15 \ + 16 17 18 19 157 133 8 135 24 25 146 143 28 29 30 31 \ +128 129 130 131 132 10 23 27 136 137 138 139 140 5 6 7 \ +144 145 22 147 148 149 150 4 152 153 154 155 20 21 158 26 \ + 32 160 226 228 224 225 227 229 231 166 91 46 60 40 43 124 \ + 38 233 234 235 232 237 238 239 236 223 93 36 42 41 59 172 \ + 45 47 194 196 192 193 195 197 199 35 241 44 37 95 62 63 \ +248 201 202 203 200 205 206 207 204 96 58 209 64 39 61 34 \ +216 97 98 99 100 101 102 103 104 105 171 187 240 253 254 177 \ +176 106 107 108 109 110 111 112 113 114 170 186 230 184 198 164 \ +181 168 115 116 117 118 119 120 121 122 161 191 208 221 222 174 \ +162 163 165 183 169 167 182 188 189 190 94 33 175 126 180 215 \ +123 65 66 67 68 69 70 71 72 73 173 244 246 242 243 245 \ +125 74 75 76 77 78 79 80 81 82 185 251 252 249 250 255 \ + 92 247 83 84 85 86 87 88 89 90 178 212 214 210 211 213 \ + 48 49 50 51 52 53 54 55 56 57 179 219 220 217 218 159 +! Spanish w/Euro (code page 1145) +x3270.codepage.spanish-euro: 0x02b70479 +x3270.displayCharset.spanish-euro: 3270cg-15a,3270cg-15,iso8859-15 diff --git a/src/lib3270/lib3270.pc.in b/src/lib3270/lib3270.pc.in new file mode 100644 index 0000000..42f2715 --- /dev/null +++ b/src/lib3270/lib3270.pc.in @@ -0,0 +1,16 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +version_major=@PACKAGE_MAJOR_VERSION@ +version_minor=@PACKAGE_MINOR_VERSION@ +sdk_version=@LIB3270_SDK_VERSION@ + +Name: @PACKAGE_NAME@ +Description: @PACKAGE_DESCRIPTION@ +Version: @PACKAGE_VERSION@ +Libs: -L\@libdir@ -l@LIB3270_NAME@ +Libs.private: @LIBSSL_LIBS@ +Cflags: -I@includedir@ + diff --git a/src/lib3270/mkfb/mkfb.c b/src/lib3270/mkfb/mkfb.c new file mode 100644 index 0000000..8b49f79 --- /dev/null +++ b/src/lib3270/mkfb/mkfb.c @@ -0,0 +1,662 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + * St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Este programa está nomeado como mkfb.c e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + +/* + * mkfb.c + * Utility to create RDB string definitions from a simple #ifdef'd .ad + * file + */ + +#include "../../include/config.h" + + +#if defined( WIN32 ) + #include + #define tmpfile w32_tmpfile +#elif defined( __APPLE__ ) + #define tmpfile osx_tmpfile +#endif // OS + +#include +#include + +#include +#include +#include +#include +#include + +#define BUFSZ 1024 /* input line buffer size */ +#define ARRSZ 8192 /* output array size */ +#define SSSZ 10 /* maximum nested ifdef */ + +unsigned aix[ARRSZ]; /* fallback array indices */ +unsigned xlno[ARRSZ]; /* fallback array line numbers */ +unsigned n_fallbacks = 0; /* number of fallback entries */ + +/* ifdef state stack */ +#define MODE_COLOR 0x00000001 +#define MODE_FT 0x00000002 +#define MODE_TRACE 0x00000004 +#define MODE_MENUS 0x00000008 +#define MODE_ANSI 0x00000010 +#define MODE_KEYPAD 0x00000020 +#define MODE_APL 0x00000040 +#define MODE_PRINTER 0x00000080 +#define MODE_STANDALONE 0x00000100 +#define MODE_SCRIPT 0x00000200 +#define MODE_DBCS 0x00000400 +#define MODE__WIN32 0x00000800 + +#define MODEMASK 0x00000fff + +struct { + unsigned long ifdefs; + unsigned long ifndefs; + unsigned lno; +} ss[SSSZ]; +int ssp = 0; + +struct { + const char *name; + unsigned long mask; +} parts[] = { + { "COLOR", MODE_COLOR }, + { "X3270_FT", MODE_FT }, + { "X3270_TRACE", MODE_TRACE }, + { "X3270_MENUS", MODE_MENUS }, + { "X3270_ANSI", MODE_ANSI }, + { "X3270_KEYPAD", MODE_KEYPAD }, + { "X3270_APL", MODE_APL }, + { "X3270_PRINTER", MODE_PRINTER }, + { "STANDALONE", MODE_STANDALONE }, + { "X3270_SCRIPT", MODE_SCRIPT }, + { "X3270_DBCS", MODE_DBCS }, + { "_WIN32", MODE__WIN32 } +}; +#define NPARTS (sizeof(parts)/sizeof(parts[0])) + +unsigned long is_defined = + MODE_COLOR | +#if defined(X3270_FT) + MODE_FT +#else + 0 +#endif +| +#if defined(X3270_TRACE) + MODE_TRACE +#else + 0 +#endif +| +#if defined(X3270_MENUS) + MODE_MENUS +#else + 0 +#endif +| +#if defined(X3270_ANSI) + MODE_ANSI +#else + 0 +#endif +| +#if defined(X3270_KEYPAD) + MODE_KEYPAD +#else + 0 +#endif +| +#if defined(X3270_APL) + MODE_APL +#else + 0 +#endif +| +#if defined(X3270_PRINTER) + MODE_PRINTER +#else + 0 +#endif +| +#if defined(X3270_SCRIPT) + MODE_SCRIPT +#else + 0 +#endif +| +#if defined(X3270_DBCS) + MODE_DBCS +#else + 0 +#endif +| +#if defined(_WIN32) + MODE__WIN32 +#else + 0 +#endif + ; +unsigned long is_undefined; + +char *me; + +void emit(FILE *t, int ix, char c); + +void +usage(void) +{ + fprintf(stderr, "usage: %s [infile [outfile]]\n", me); + exit(1); +} + +int +main(int argc, char *argv[]) +{ + char buf[BUFSZ]; + int lno = 0; + int cc = 0; + int i; + int continued = 0; + const char *filename = "standard input"; + FILE *u, *t, *tc = NULL, *tm = NULL, *o; + int cmode = 0; + unsigned long ifdefs; + unsigned long ifndefs; + int last_continue = 0; + + /* Parse arguments. */ + if ((me = strrchr(argv[0], '/')) != (char *)NULL) + me++; + else + me = argv[0]; + if (argc > 1 && !strcmp(argv[1], "-c")) { + cmode = 1; + is_defined |= MODE_STANDALONE; + argc--; + argv++; + } + switch (argc) { + case 1: + break; + case 2: + case 3: + if (strcmp(argv[1], "-")) { + if (freopen(argv[1], "r", stdin) == (FILE *)NULL) { + perror(argv[1]); + exit(1); + } + filename = argv[1]; + } + break; + default: + usage(); + } + + is_undefined = MODE_COLOR | (~is_defined & MODEMASK); + + /* Do #ifdef, comment and whitespace processing first. */ + u = tmpfile(); + if (u == NULL) { + perror("tmpfile"); + exit(1); + } + + while (fgets(buf, BUFSZ, stdin) != (char *)NULL) { + char *s = buf; + int sl; + int i; + + lno++; + + /* Skip leading white space. */ + while (isspace(*s)) + s++; + if (cmode && + (!strncmp(s, "x3270.", 6) || !strncmp(s, "x3270*", 6))) { + s += 6; + } + + /* Remove trailing white space. */ + while ((sl = strlen(s)) && isspace(s[sl-1])) + s[sl-1] = '\0'; + + /* Skip comments and empty lines. */ + if ((!last_continue && *s == '!') || !*s) + continue; + + /* Check for simple if[n]defs. */ + if (*s == '#') { + int ifnd = 1; + + if (!strncmp(s, "#ifdef ", 7) || + !(ifnd = strncmp(s, "#ifndef ", 8))) { + char *tk; + + if (ssp >= SSSZ) { + fprintf(stderr, + "%s, line %d: Stack overflow\n", + filename, lno); + exit(1); + } + ss[ssp].ifdefs = 0L; + ss[ssp].ifndefs = 0L; + ss[ssp].lno = lno; + + tk = s + 7 + !ifnd; + for (i = 0; i < NPARTS; i++) { + if (!strcmp(tk, parts[i].name)) { + if (!ifnd) + ss[ssp++].ifndefs = + parts[i].mask; + else + ss[ssp++].ifdefs = + parts[i].mask; + break; + } + } + if (i >= NPARTS) { + fprintf(stderr, + "%s, line %d: Unknown condition\n", + filename, lno); + exit(1); + } + continue; + } + + else if (!strcmp(s, "#else")) { + unsigned long tmp; + + if (!ssp) { + fprintf(stderr, + "%s, line %d: Missing #if[n]def\n", + filename, lno); + exit(1); + } + tmp = ss[ssp-1].ifdefs; + ss[ssp-1].ifdefs = ss[ssp-1].ifndefs; + ss[ssp-1].ifndefs = tmp; + } else if (!strcmp(s, "#endif")) { + if (!ssp) { + fprintf(stderr, + "%s, line %d: Missing #if[n]def\n", + filename, lno); + exit(1); + } + ssp--; + } else { + fprintf(stderr, + "%s, line %d: Unrecognized # directive\n", + filename, lno); + exit(1); + } + continue; + } + + /* Figure out if there's anything to emit. */ + + /* First, look for contradictions. */ + ifdefs = 0; + ifndefs = 0; + for (i = 0; i < ssp; i++) { + ifdefs |= ss[i].ifdefs; + ifndefs |= ss[i].ifndefs; + } + if (ifdefs & ifndefs) { +#ifdef DEBUG_IFDEFS + fprintf(stderr, "contradiction, line %d\n", lno); +#endif + continue; + } + + /* Then, apply the actual values. */ + if (ifdefs && (ifdefs & is_defined) != ifdefs) { +#ifdef DEBUG_IFDEFS + fprintf(stderr, "ifdef failed, line %d\n", lno); +#endif + continue; + } + if (ifndefs && (ifndefs & is_undefined) != ifndefs) { +#ifdef DEBUG_IFDEFS + fprintf(stderr, "ifndef failed, line %d\n", lno); +#endif + continue; + } + + /* Emit the text. */ + fprintf(u, "%lx %lx %d\n%s\n", ifdefs, ifndefs, lno, s); + last_continue = strlen(s) > 0 && s[strlen(s) - 1] == '\\'; + } + if (ssp) { + fprintf(stderr, "%d missing #endif(s) in %s\n", ssp, filename); + fprintf(stderr, "last #ifdef was at line %u\n", ss[ssp-1].lno); + exit(1); + } + + /* Re-scan, emitting code this time. */ + rewind(u); + t = tmpfile(); + if (t == NULL) { + perror("tmpfile"); + exit(1); + } + if (!cmode) { + tc = tmpfile(); + if (tc == NULL) { + perror("tmpfile"); + exit(1); + } + tm = tmpfile(); + if (tm == NULL) { + perror("tmpfile"); + exit(1); + } + } + + /* Emit the initial boilerplate. */ + fprintf(t, "/* This file was created automatically from %s by mkfb. */\n\n", + filename); + if (cmode) { + fprintf(t, "#include \"../../src/lib3270/private.h\"\n"); + fprintf(t, "static unsigned char fsd[] = {\n"); + } else { + fprintf(t, "unsigned char common_fallbacks[] = {\n"); + fprintf(tc, "unsigned char color_fallbacks[] = {\n"); + fprintf(tm, "unsigned char mono_fallbacks[] = {\n"); + } + + /* Scan the file, emitting the fsd array and creating the indices. */ + while (fscanf(u, "%lx %lx %d\n", &ifdefs, &ifndefs, &lno) == 3) { + char *s = buf; + char c; + int white; + FILE *t_this = t; + int ix = 0; + + if (fgets(buf, BUFSZ, u) == NULL) + break; + if (strlen(buf) > 0 && buf[strlen(buf)-1] == '\n') + buf[strlen(buf)-1] = '\0'; + +#if 0 + fprintf(stderr, "%lx %lx %d %s\n", ifdefs, ifndefs, lno, buf); +#endif + + /* Add array offsets. */ + if (cmode) { + /* Ignore color. Accumulate offsets into an array. */ + if (n_fallbacks >= ARRSZ) { + fprintf(stderr, "%s, line %d: Buffer overflow\n", filename, lno); + exit(1); + } + aix[n_fallbacks] = cc; + xlno[n_fallbacks++] = lno; + } else { + /* Use color to decide which file to write into. */ + if (!(ifdefs & MODE_COLOR) && !(ifndefs & MODE_COLOR)) { + /* Both. */ + t_this = t; + ix = 0; + } else if (ifdefs & MODE_COLOR) { + /* Just color. */ + t_this = tc; + ix = 1; + } else { + /* Just mono. */ + t_this = tm; + ix = 2; + } + } + + continued = 0; + white = 0; + while ((c = *s++) != '\0') { + if (c == ' ' || c == '\t') + white++; + else if (white) { + emit(t_this, ix, ' '); + cc++; + white = 0; + } + switch (c) { + case ' ': + case '\t': + break; + case '#': + if (!cmode) { + emit(t_this, ix, '\\'); + emit(t_this, ix, '#'); + cc += 2; + } else { + emit(t_this, ix, c); + cc++; + } + break; + case '\\': + if (*s == '\0') { + continued = 1; + break; + } else if (cmode) { + switch ((c = *s++)) { + case 't': + c = '\t'; + break; + case 'n': + c = '\n'; + break; + default: + break; + } + } + /* else fall through */ + default: + emit(t_this, ix, c); + cc++; + break; + } + } + if (white) { + emit(t_this, ix, ' '); + cc++; + white = 0; + } + if (!continued) { + if (cmode) + emit(t_this, ix, 0); + else + emit(t_this, ix, '\n'); + cc++; + } + } + fclose(u); + if (cmode) + fprintf(t, "};\n\n"); + else { + emit(t, 0, 0); + fprintf(t, "};\n\n"); + emit(tc, 0, 0); + fprintf(tc, "};\n\n"); + emit(tm, 0, 0); + fprintf(tm, "};\n\n"); + } + + + /* Open the output file. */ + if (argc == 3) { + o = fopen(argv[2], "w"); + if (o == NULL) { + perror(argv[2]); + exit(1); + } + } else + o = stdout; + + /* Copy tmp to output. */ + rewind(t); + if (!cmode) { + rewind(tc); + rewind(tm); + } + while (fgets(buf, sizeof(buf), t) != NULL) { + fprintf(o, "%s", buf); + } + if (!cmode) { + while (fgets(buf, sizeof(buf), tc) != NULL) { + fprintf(o, "%s", buf); + } + while (fgets(buf, sizeof(buf), tm) != NULL) { + fprintf(o, "%s", buf); + } + } + + if (cmode) { + /* Emit the fallback array. */ + fprintf(o, "String fallbacks[%u] = {\n", n_fallbacks + 1); + for (i = 0; i < n_fallbacks; i++) { + fprintf(o, "\t(String)&fsd[%u], /* line %u */\n", + aix[i], + xlno[i]); + } + fprintf(o, "\t(String)NULL\n};\n\n"); + + /* Emit some test code. */ + fprintf(o, "%s", "#if defined(DUMP) /*[*/\n\ +#include \n\ +int\n\ +main(int argc, char *argv[])\n\ +{\n\ + int i;\n\ +\n\ + for (i = 0; fallbacks[i] != NULL; i++)\n\ + printf(\"%d: %s\\n\", i, fallbacks[i]);\n\ + return 0;\n\ +}\n"); + fprintf(o, "#endif /*]*/\n\n"); + } + + if (o != stdout) + fclose(o); + fclose(t); + if (!cmode) { + fclose(tc); + fclose(tm); + } + + return 0; +} + +static int n_out[3] = { 0, 0, 0 }; + +void +emit(FILE *t, int ix, char c) +{ + if (n_out[ix] >= 19) { + fprintf(t, "\n"); + n_out[ix] = 0; + } + fprintf(t, "%3d,", (unsigned char)c); + n_out[ix]++; +} + +#if defined(_WIN32) +FILE * w32_tmpfile( void ) +{ + char *dir; + char *xtemplate; + DWORD retval; + size_t len; + int fd; + FILE *file = NULL; + + dir = (char *) malloc(PATH_MAX); + xtemplate = (char *) malloc(PATH_MAX); + + /* Find Windows temporary file directory. + We provide this as the directory argument to path_search + because Windows defines P_tmpdir to "\\" and will therefore + try to put all temporary files in the root (unless $TMPDIR + is set). */ + retval = GetTempPath (PATH_MAX, dir); + if (retval == 0 || retval >= PATH_MAX - 1) + goto done; + + do + { + char *tempname = tempnam(dir,"XXXXXX"); + if(!tempname) + goto done; + + fd = _open (tempname,_O_BINARY | _O_CREAT | _O_TEMPORARY | _O_EXCL | _O_RDWR,_S_IREAD | _S_IWRITE); + } + while (fd < 0 && errno == EEXIST); + + if (fd < 0) + goto done; + + file = _fdopen (fd, "w+b"); + if (file == NULL) + { + int save_errno = errno; + _close (fd); + errno = save_errno; + } + + done: + free(xtemplate); + free(dir); + return file; +} +#elif defined( __APPLE__ ) +FILE * osx_tmpfile( void ) +{ + int fd = -1; + FILE *file = NULL; + + do + { + char *tempname = tempnam(NULL,"XXXXXX"); + if(!tempname) + return NULL; + fd = open (tempname,O_CREAT | O_EXCL | O_RDWR,S_IREAD | S_IWRITE); + } while (fd < 0 && errno == EEXIST); + + + file = fdopen (fd, "w+b"); + if (file == NULL) + { + int save_errno = errno; + close (fd); + errno = save_errno; + } + + return file; +} + +#endif // _WIN32 diff --git a/src/mkfb/mkfb.c b/src/mkfb/mkfb.c deleted file mode 100644 index 6e8fc95..0000000 --- a/src/mkfb/mkfb.c +++ /dev/null @@ -1,662 +0,0 @@ -/* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. - * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. - * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin - * St, Fifth Floor, Boston, MA 02110-1301 USA - * - * Este programa está nomeado como mkfb.c e possui - linhas de código. - * - * Contatos: - * - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) - * - */ - -/* - * mkfb.c - * Utility to create RDB string definitions from a simple #ifdef'd .ad - * file - */ - -#include "../include/config.h" - - -#if defined( WIN32 ) - #include - #define tmpfile w32_tmpfile -#elif defined( __APPLE__ ) - #define tmpfile osx_tmpfile -#endif // OS - -#include -#include - -#include -#include -#include -#include -#include - -#define BUFSZ 1024 /* input line buffer size */ -#define ARRSZ 8192 /* output array size */ -#define SSSZ 10 /* maximum nested ifdef */ - -unsigned aix[ARRSZ]; /* fallback array indices */ -unsigned xlno[ARRSZ]; /* fallback array line numbers */ -unsigned n_fallbacks = 0; /* number of fallback entries */ - -/* ifdef state stack */ -#define MODE_COLOR 0x00000001 -#define MODE_FT 0x00000002 -#define MODE_TRACE 0x00000004 -#define MODE_MENUS 0x00000008 -#define MODE_ANSI 0x00000010 -#define MODE_KEYPAD 0x00000020 -#define MODE_APL 0x00000040 -#define MODE_PRINTER 0x00000080 -#define MODE_STANDALONE 0x00000100 -#define MODE_SCRIPT 0x00000200 -#define MODE_DBCS 0x00000400 -#define MODE__WIN32 0x00000800 - -#define MODEMASK 0x00000fff - -struct { - unsigned long ifdefs; - unsigned long ifndefs; - unsigned lno; -} ss[SSSZ]; -int ssp = 0; - -struct { - const char *name; - unsigned long mask; -} parts[] = { - { "COLOR", MODE_COLOR }, - { "X3270_FT", MODE_FT }, - { "X3270_TRACE", MODE_TRACE }, - { "X3270_MENUS", MODE_MENUS }, - { "X3270_ANSI", MODE_ANSI }, - { "X3270_KEYPAD", MODE_KEYPAD }, - { "X3270_APL", MODE_APL }, - { "X3270_PRINTER", MODE_PRINTER }, - { "STANDALONE", MODE_STANDALONE }, - { "X3270_SCRIPT", MODE_SCRIPT }, - { "X3270_DBCS", MODE_DBCS }, - { "_WIN32", MODE__WIN32 } -}; -#define NPARTS (sizeof(parts)/sizeof(parts[0])) - -unsigned long is_defined = - MODE_COLOR | -#if defined(X3270_FT) - MODE_FT -#else - 0 -#endif -| -#if defined(X3270_TRACE) - MODE_TRACE -#else - 0 -#endif -| -#if defined(X3270_MENUS) - MODE_MENUS -#else - 0 -#endif -| -#if defined(X3270_ANSI) - MODE_ANSI -#else - 0 -#endif -| -#if defined(X3270_KEYPAD) - MODE_KEYPAD -#else - 0 -#endif -| -#if defined(X3270_APL) - MODE_APL -#else - 0 -#endif -| -#if defined(X3270_PRINTER) - MODE_PRINTER -#else - 0 -#endif -| -#if defined(X3270_SCRIPT) - MODE_SCRIPT -#else - 0 -#endif -| -#if defined(X3270_DBCS) - MODE_DBCS -#else - 0 -#endif -| -#if defined(_WIN32) - MODE__WIN32 -#else - 0 -#endif - ; -unsigned long is_undefined; - -char *me; - -void emit(FILE *t, int ix, char c); - -void -usage(void) -{ - fprintf(stderr, "usage: %s [infile [outfile]]\n", me); - exit(1); -} - -int -main(int argc, char *argv[]) -{ - char buf[BUFSZ]; - int lno = 0; - int cc = 0; - int i; - int continued = 0; - const char *filename = "standard input"; - FILE *u, *t, *tc = NULL, *tm = NULL, *o; - int cmode = 0; - unsigned long ifdefs; - unsigned long ifndefs; - int last_continue = 0; - - /* Parse arguments. */ - if ((me = strrchr(argv[0], '/')) != (char *)NULL) - me++; - else - me = argv[0]; - if (argc > 1 && !strcmp(argv[1], "-c")) { - cmode = 1; - is_defined |= MODE_STANDALONE; - argc--; - argv++; - } - switch (argc) { - case 1: - break; - case 2: - case 3: - if (strcmp(argv[1], "-")) { - if (freopen(argv[1], "r", stdin) == (FILE *)NULL) { - perror(argv[1]); - exit(1); - } - filename = argv[1]; - } - break; - default: - usage(); - } - - is_undefined = MODE_COLOR | (~is_defined & MODEMASK); - - /* Do #ifdef, comment and whitespace processing first. */ - u = tmpfile(); - if (u == NULL) { - perror("tmpfile"); - exit(1); - } - - while (fgets(buf, BUFSZ, stdin) != (char *)NULL) { - char *s = buf; - int sl; - int i; - - lno++; - - /* Skip leading white space. */ - while (isspace(*s)) - s++; - if (cmode && - (!strncmp(s, "x3270.", 6) || !strncmp(s, "x3270*", 6))) { - s += 6; - } - - /* Remove trailing white space. */ - while ((sl = strlen(s)) && isspace(s[sl-1])) - s[sl-1] = '\0'; - - /* Skip comments and empty lines. */ - if ((!last_continue && *s == '!') || !*s) - continue; - - /* Check for simple if[n]defs. */ - if (*s == '#') { - int ifnd = 1; - - if (!strncmp(s, "#ifdef ", 7) || - !(ifnd = strncmp(s, "#ifndef ", 8))) { - char *tk; - - if (ssp >= SSSZ) { - fprintf(stderr, - "%s, line %d: Stack overflow\n", - filename, lno); - exit(1); - } - ss[ssp].ifdefs = 0L; - ss[ssp].ifndefs = 0L; - ss[ssp].lno = lno; - - tk = s + 7 + !ifnd; - for (i = 0; i < NPARTS; i++) { - if (!strcmp(tk, parts[i].name)) { - if (!ifnd) - ss[ssp++].ifndefs = - parts[i].mask; - else - ss[ssp++].ifdefs = - parts[i].mask; - break; - } - } - if (i >= NPARTS) { - fprintf(stderr, - "%s, line %d: Unknown condition\n", - filename, lno); - exit(1); - } - continue; - } - - else if (!strcmp(s, "#else")) { - unsigned long tmp; - - if (!ssp) { - fprintf(stderr, - "%s, line %d: Missing #if[n]def\n", - filename, lno); - exit(1); - } - tmp = ss[ssp-1].ifdefs; - ss[ssp-1].ifdefs = ss[ssp-1].ifndefs; - ss[ssp-1].ifndefs = tmp; - } else if (!strcmp(s, "#endif")) { - if (!ssp) { - fprintf(stderr, - "%s, line %d: Missing #if[n]def\n", - filename, lno); - exit(1); - } - ssp--; - } else { - fprintf(stderr, - "%s, line %d: Unrecognized # directive\n", - filename, lno); - exit(1); - } - continue; - } - - /* Figure out if there's anything to emit. */ - - /* First, look for contradictions. */ - ifdefs = 0; - ifndefs = 0; - for (i = 0; i < ssp; i++) { - ifdefs |= ss[i].ifdefs; - ifndefs |= ss[i].ifndefs; - } - if (ifdefs & ifndefs) { -#ifdef DEBUG_IFDEFS - fprintf(stderr, "contradiction, line %d\n", lno); -#endif - continue; - } - - /* Then, apply the actual values. */ - if (ifdefs && (ifdefs & is_defined) != ifdefs) { -#ifdef DEBUG_IFDEFS - fprintf(stderr, "ifdef failed, line %d\n", lno); -#endif - continue; - } - if (ifndefs && (ifndefs & is_undefined) != ifndefs) { -#ifdef DEBUG_IFDEFS - fprintf(stderr, "ifndef failed, line %d\n", lno); -#endif - continue; - } - - /* Emit the text. */ - fprintf(u, "%lx %lx %d\n%s\n", ifdefs, ifndefs, lno, s); - last_continue = strlen(s) > 0 && s[strlen(s) - 1] == '\\'; - } - if (ssp) { - fprintf(stderr, "%d missing #endif(s) in %s\n", ssp, filename); - fprintf(stderr, "last #ifdef was at line %u\n", ss[ssp-1].lno); - exit(1); - } - - /* Re-scan, emitting code this time. */ - rewind(u); - t = tmpfile(); - if (t == NULL) { - perror("tmpfile"); - exit(1); - } - if (!cmode) { - tc = tmpfile(); - if (tc == NULL) { - perror("tmpfile"); - exit(1); - } - tm = tmpfile(); - if (tm == NULL) { - perror("tmpfile"); - exit(1); - } - } - - /* Emit the initial boilerplate. */ - fprintf(t, "/* This file was created automatically from %s by mkfb. */\n\n", - filename); - if (cmode) { - fprintf(t, "#include \"../../src/lib3270/private.h\"\n"); - fprintf(t, "static unsigned char fsd[] = {\n"); - } else { - fprintf(t, "unsigned char common_fallbacks[] = {\n"); - fprintf(tc, "unsigned char color_fallbacks[] = {\n"); - fprintf(tm, "unsigned char mono_fallbacks[] = {\n"); - } - - /* Scan the file, emitting the fsd array and creating the indices. */ - while (fscanf(u, "%lx %lx %d\n", &ifdefs, &ifndefs, &lno) == 3) { - char *s = buf; - char c; - int white; - FILE *t_this = t; - int ix = 0; - - if (fgets(buf, BUFSZ, u) == NULL) - break; - if (strlen(buf) > 0 && buf[strlen(buf)-1] == '\n') - buf[strlen(buf)-1] = '\0'; - -#if 0 - fprintf(stderr, "%lx %lx %d %s\n", ifdefs, ifndefs, lno, buf); -#endif - - /* Add array offsets. */ - if (cmode) { - /* Ignore color. Accumulate offsets into an array. */ - if (n_fallbacks >= ARRSZ) { - fprintf(stderr, "%s, line %d: Buffer overflow\n", filename, lno); - exit(1); - } - aix[n_fallbacks] = cc; - xlno[n_fallbacks++] = lno; - } else { - /* Use color to decide which file to write into. */ - if (!(ifdefs & MODE_COLOR) && !(ifndefs & MODE_COLOR)) { - /* Both. */ - t_this = t; - ix = 0; - } else if (ifdefs & MODE_COLOR) { - /* Just color. */ - t_this = tc; - ix = 1; - } else { - /* Just mono. */ - t_this = tm; - ix = 2; - } - } - - continued = 0; - white = 0; - while ((c = *s++) != '\0') { - if (c == ' ' || c == '\t') - white++; - else if (white) { - emit(t_this, ix, ' '); - cc++; - white = 0; - } - switch (c) { - case ' ': - case '\t': - break; - case '#': - if (!cmode) { - emit(t_this, ix, '\\'); - emit(t_this, ix, '#'); - cc += 2; - } else { - emit(t_this, ix, c); - cc++; - } - break; - case '\\': - if (*s == '\0') { - continued = 1; - break; - } else if (cmode) { - switch ((c = *s++)) { - case 't': - c = '\t'; - break; - case 'n': - c = '\n'; - break; - default: - break; - } - } - /* else fall through */ - default: - emit(t_this, ix, c); - cc++; - break; - } - } - if (white) { - emit(t_this, ix, ' '); - cc++; - white = 0; - } - if (!continued) { - if (cmode) - emit(t_this, ix, 0); - else - emit(t_this, ix, '\n'); - cc++; - } - } - fclose(u); - if (cmode) - fprintf(t, "};\n\n"); - else { - emit(t, 0, 0); - fprintf(t, "};\n\n"); - emit(tc, 0, 0); - fprintf(tc, "};\n\n"); - emit(tm, 0, 0); - fprintf(tm, "};\n\n"); - } - - - /* Open the output file. */ - if (argc == 3) { - o = fopen(argv[2], "w"); - if (o == NULL) { - perror(argv[2]); - exit(1); - } - } else - o = stdout; - - /* Copy tmp to output. */ - rewind(t); - if (!cmode) { - rewind(tc); - rewind(tm); - } - while (fgets(buf, sizeof(buf), t) != NULL) { - fprintf(o, "%s", buf); - } - if (!cmode) { - while (fgets(buf, sizeof(buf), tc) != NULL) { - fprintf(o, "%s", buf); - } - while (fgets(buf, sizeof(buf), tm) != NULL) { - fprintf(o, "%s", buf); - } - } - - if (cmode) { - /* Emit the fallback array. */ - fprintf(o, "String fallbacks[%u] = {\n", n_fallbacks + 1); - for (i = 0; i < n_fallbacks; i++) { - fprintf(o, "\t(String)&fsd[%u], /* line %u */\n", - aix[i], - xlno[i]); - } - fprintf(o, "\t(String)NULL\n};\n\n"); - - /* Emit some test code. */ - fprintf(o, "%s", "#if defined(DUMP) /*[*/\n\ -#include \n\ -int\n\ -main(int argc, char *argv[])\n\ -{\n\ - int i;\n\ -\n\ - for (i = 0; fallbacks[i] != NULL; i++)\n\ - printf(\"%d: %s\\n\", i, fallbacks[i]);\n\ - return 0;\n\ -}\n"); - fprintf(o, "#endif /*]*/\n\n"); - } - - if (o != stdout) - fclose(o); - fclose(t); - if (!cmode) { - fclose(tc); - fclose(tm); - } - - return 0; -} - -static int n_out[3] = { 0, 0, 0 }; - -void -emit(FILE *t, int ix, char c) -{ - if (n_out[ix] >= 19) { - fprintf(t, "\n"); - n_out[ix] = 0; - } - fprintf(t, "%3d,", (unsigned char)c); - n_out[ix]++; -} - -#if defined(_WIN32) -FILE * w32_tmpfile( void ) -{ - char *dir; - char *xtemplate; - DWORD retval; - size_t len; - int fd; - FILE *file = NULL; - - dir = (char *) malloc(PATH_MAX); - xtemplate = (char *) malloc(PATH_MAX); - - /* Find Windows temporary file directory. - We provide this as the directory argument to path_search - because Windows defines P_tmpdir to "\\" and will therefore - try to put all temporary files in the root (unless $TMPDIR - is set). */ - retval = GetTempPath (PATH_MAX, dir); - if (retval == 0 || retval >= PATH_MAX - 1) - goto done; - - do - { - char *tempname = tempnam(dir,"XXXXXX"); - if(!tempname) - goto done; - - fd = _open (tempname,_O_BINARY | _O_CREAT | _O_TEMPORARY | _O_EXCL | _O_RDWR,_S_IREAD | _S_IWRITE); - } - while (fd < 0 && errno == EEXIST); - - if (fd < 0) - goto done; - - file = _fdopen (fd, "w+b"); - if (file == NULL) - { - int save_errno = errno; - _close (fd); - errno = save_errno; - } - - done: - free(xtemplate); - free(dir); - return file; -} -#elif defined( __APPLE__ ) -FILE * osx_tmpfile( void ) -{ - int fd = -1; - FILE *file = NULL; - - do - { - char *tempname = tempnam(NULL,"XXXXXX"); - if(!tempname) - return NULL; - fd = open (tempname,O_CREAT | O_EXCL | O_RDWR,S_IREAD | S_IWRITE); - } while (fd < 0 && errno == EEXIST); - - - file = fdopen (fd, "w+b"); - if (file == NULL) - { - int save_errno = errno; - close (fd); - errno = save_errno; - } - - return file; -} - -#endif // _WIN32 -- libgit2 0.21.2