--- xc/programs/xterm/XTerm.ad.orig 2006-04-10 02:34:36.000000000 +0200 +++ xc/programs/xterm/XTerm.ad 2006-06-11 03:08:24.065471976 +0200 @@ -115,6 +115,183 @@ *tek4014*font3: 6x13 *tek4014*fontSmall: 6x10 +! This file causes when loaded using xrdb correct behaviour of xterm +! if you are using enclosed xterm.tcap and xterm.ti. +! Some keys would never normally work if they weren't here (like Alt +! something), some key definitions differ from one termcap/terminfo +! to the other. You may delete any line if you find out that mc +! sends exactly that string which is mentioned here. +! See xterm(1). +! Either put this into your ~/.Xdefaults, or to app-defaults/XTerm +! or wherever it will be loaded into xrm from. +! To know, why this works, see Xt documentation (appendix B). +! On some systems you may want to replace the a (alt) modifiers with +! m (meta) modifier in front of some events. +*vt100.translations: #override \ + Alt Ctrl: string(0x1b) string("OA")\n\ + Alt Ctrl: string(0x1b) string("OB")\n\ + Alt: string(0x1b) string("OA") string(0x1b) string("OA") string(0x1b) string("OA") string(0x1b) string("OA") string(0x1b) string("OA")\n\ + Alt: string(0x1b) string("OB") string(0x1b) string("OB") string(0x1b) string("OB") string(0x1b) string("OB") string(0x1b) string("OB")\n\ + Shift: scroll-back(1,page)\n\ + Shift: scroll-forw(1,page)\n\ + Ctrl: scroll-back(1,line)\n\ + Ctrl: scroll-forw(1,line)\n\ + : scroll-back(5,line)\n\ + : scroll-forw(5,line)\n\ + @Num_LockKP_0: string(0)\n\ + @Num_LockKP_1: string(1)\n\ + @Num_LockKP_2: string(2)\n\ + @Num_LockKP_3: string(3)\n\ + @Num_LockKP_4: string(4)\n\ + @Num_LockKP_5: string(5)\n\ + @Num_LockKP_6: string(6)\n\ + @Num_LockKP_7: string(7)\n\ + @Num_LockKP_8: string(8)\n\ + @Num_LockKP_9: string(9)\n\ + @Num_LockKP_Add: string(+)\n\ + @Num_LockKP_Decimal: string(.)\n\ + @Num_LockKP_Divide: string(/)\n\ + @Num_LockKP_Enter: string(\015)\n\ + @Num_LockKP_Equal: string(=)\n\ + @Num_LockKP_Multiply: string(*)\n\ + @Num_LockKP_Subtract: string(-)\n\ + KP_Add: string(+)\n\ + KP_Divide: string(/)\n\ + KP_Enter: string(\015)\n\ + KP_Equal: string(=)\n\ + KP_Multiply: string(*)\n\ + KP_Subtract: string(-)\n\ + ShiftKP_Home: scroll-back(100,page)\n\ + ShiftKP_End: scroll-forw(100,page)\n\ + ShiftPrior:scroll-back(1,page)\n\ + ShiftNext:scroll-forw(1,page)\n\ + F16: start-extend() select-end(PRIMARY, CUT_BUFFER0, CLIPBOARD)\n\ + F18: insert-selection(PRIMARY, CLIPBOARD)\n\ + F27: scroll-back(100,page)\n\ + R13: scroll-forw(100,page)\n\ + CtrlHome: string(0x1b) string("[1;5H")\n\ + ShiftHome: string(0x1b) string("[1;2H")\n\ + CtrlEnd: string(0x1b) string("[1;5F")\n\ + ShiftEnd: string(0x1b) string("[1;2F")\n\ + CtrlInsert: string(0x1b) string("[2;5~")\n\ + ShiftInsert: string(0x1b) string("[2;2~")\n\ + ~MetaInsert: string(0x1b) string("[2~")\n\ + MetaInsert: string(0x1b) string(0x1b) string("[2~")\n\ + CtrlDelete: string(0x1b) string("[3;5~")\n\ + ShiftDelete: string(0x1b) string("[3;2~")\n\ + ~MetaDelete: string(0x1b) string("[3~")\n\ + MetaDelete: string(0x1b) string(0x1b) string("[3~")\n\ + CtrlPage_Up: string(0x1b) string("[5;5~")\n\ + ~MetaPage_Up: string(0x1b) string("[5~")\n\ + MetaPage_Up: string(0x1b) string(0x1b) string("[5~")\n\ + CtrlPage_Down: string(0x1b) string("[6;5~")\n\ + ~MetaPage_Down: string(0x1b) string("[6~")\n\ + MetaPage_Down: string(0x1b) string(0x1b) string("[6~")\n\ + ~MetaBackSpace: string(0x08)\n\ + MetaBackSpace: string(0x1b) string(0x08)\n\ + Ctrl ShiftUp: string(0x1b) string("[1;6A")\n\ + CtrlUp: string(0x1b) string("[1;5A")\n\ + ShiftUp: string(0x1b) string("O2A")\n\ + ~MetaUp: string(0x1b) string("OA")\n\ + MetaUp: string(0x1b) string(0x1b) string("OA")\n\ + Ctrl ShiftDown: string(0x1b) string("[1;6B")\n\ + CtrlDown: string(0x1b) string("[1;5B")\n\ + ShiftDown: string(0x1b) string("O2B")\n\ + ~MetaDown: string(0x1b) string("OB")\n\ + MetaDown: string(0x1b) string(0x1b) string("OB")\n\ + Ctrl ShiftLeft: string(0x1b) string("[1;6D")\n\ + CtrlLeft: string(0x1b) string("[1;5D")\n\ + ShiftLeft: string(0x1b) string("O2D")\n\ + Mod5Left: string(0x1b) string("b")\n\ + ~MetaLeft: string(0x1b) string("OD")\n\ + MetaLeft: string(0x1b) string(0x1b) string("OD")\n\ + Ctrl ShiftRight: string(0x1b) string("[1;6C")\n\ + CtrlRight: string(0x1b) string("[1;5C")\n\ + ShiftRight: string(0x1b) string("O2C")\n\ + Mod5Right: string(0x1b) string("f")\n\ + ~MetaRight: string(0x1b) string("OC")\n\ + MetaRight: string(0x1b) string(0x1b) string("OC")\n\ + ~MetaReturn: string(0x0d)\n\ + MetaReturn: string(0x1b) string(0x0d)\n\ + CtrlTab: string(0x1b) string(0x09)\n\ + Mod5Tab: string(0x1b) string(0x09)\n\ + ~MetaTab: string(0x09)\n\ + MetaTab: string(0x1b) string(0x09)\n\ + ~sF1: string(0x1b) string("[11~")\n\ + ~sF2: string(0x1b) string("[12~")\n\ + ~sF3: string(0x1b) string("[13~")\n\ + ~sF4: string(0x1b) string("[14~")\n\ + ~sF5: string(0x1b) string("[15~")\n\ + ~sF6: string(0x1b) string("[17~")\n\ + ~sF7: string(0x1b) string("[18~")\n\ + ~sF8: string(0x1b) string("[19~")\n\ + ~sF9: string(0x1b) string("[20~")\n\ + ~sF10: string(0x1b) string("[21~")\n\ + F11: string(0x1b) string("[23~")\n\ + F12: string(0x1b) string("[24~")\n\ + F13: string(0x1b) string("[25~")\n\ + F14: string(0x1b) string("[26~")\n\ + F15: string(0x1b) string("[28~")\n\ + F16: string(0x1b) string("[29~")\n\ + F17: string(0x1b) string("[31~")\n\ + F18: string(0x1b) string("[32~")\n\ + F19: string(0x1b) string("[33~")\n\ + F20: string(0x1b) string("[34~")\n\ + sF1: string(0x1b) string("[23~")\n\ + sF2: string(0x1b) string("[24~")\n\ + sF3: string(0x1b) string("[25~")\n\ + sF4: string(0x1b) string("[26~")\n\ + sF5: string(0x1b) string("[28~")\n\ + sF6: string(0x1b) string("[29~")\n\ + sF7: string(0x1b) string("[31~")\n\ + sF8: string(0x1b) string("[32~")\n\ + sF9: string(0x1b) string("[33~")\n\ + sF10: string(0x1b) string("[34~")\n\ + aReturn: string(0x1b) string(0x0d)\n\ + aTab: string(0x1b) string(0x09)\n\ + aspace: string(0x1b) string(" ")\n\ + a squestion: string(0x1b) string("?")\n\ + a sexclam: string(0x1b) string("!")\n\ + a period: string(0x1b) string(".")\n\ + a`: string(0x1b) string("`")\n\ + a1: string(0x1b) string("1")\n\ + a2: string(0x1b) string("2")\n\ + a3: string(0x1b) string("3")\n\ + a4: string(0x1b) string("4")\n\ + a5: string(0x1b) string("5")\n\ + a6: string(0x1b) string("6")\n\ + a7: string(0x1b) string("7")\n\ + a8: string(0x1b) string("8")\n\ + a9: string(0x1b) string("9")\n\ + a0: string(0x1b) string("0")\n\ + aa: string(0x1b) string("a")\n\ + ab: string(0x1b) string("b")\n\ + ac: string(0x1b) string("c")\n\ + ad: string(0x1b) string("d")\n\ + ae: string(0x1b) string("e")\n\ + af: string(0x1b) string("f")\n\ + ag: string(0x1b) string("g")\n\ + a sh: string(0x1b) string("H")\n\ + ah: string(0x1b) string("h")\n\ + ai: string(0x1b) string("i")\n\ + aj: string(0x1b) string("j")\n\ + ak: string(0x1b) string("k")\n\ + al: string(0x1b) string("l")\n\ + am: string(0x1b) string("m")\n\ + an: string(0x1b) string("n")\n\ + ao: string(0x1b) string("o")\n\ + ap: string(0x1b) string("p")\n\ + aq: string(0x1b) string("q")\n\ + ar: string(0x1b) string("r")\n\ + as: string(0x1b) string("s")\n\ + at: string(0x1b) string("t")\n\ + au: string(0x1b) string("u")\n\ + av: string(0x1b) string("v")\n\ + aw: string(0x1b) string("w")\n\ + ax: string(0x1b) string("x")\n\ + ay: string(0x1b) string("y")\n\ + az: string(0x1b) string("z") + ! If xterm is built with a toolbar, the widget hierarchy looks like this, ! showing widget name / class names. The complete menu hierarchy is built ! at startup because it is needed to make the layout work for the menubar: