home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / apollo / 4165 < prev    next >
Encoding:
Internet Message Format  |  1992-12-21  |  21.4 KB

  1. Path: sparky!uunet!cs.utexas.edu!sun-barr!news2me.EBay.Sun.COM!cronkite.Central.Sun.COM!texsun!digi!kgallagh
  2. From: kgallagh@digi.lonestar.org (Kevin Gallagher)
  3. Newsgroups: comp.sys.apollo
  4. Subject: Preserving bind-apollo-function-key when running under X
  5. Message-ID: <1992Dec18.202606.14879@digi.lonestar.org>
  6. Date: 18 Dec 92 20:26:06 GMT
  7. Organization: DSC Communications Corp, Plano, TX
  8. Lines: 398
  9.  
  10. We have been using Leonard N Zubkoff's (lnz@lucid.com) Apollo customized
  11. versions of GNU Emacs on our Apollos for some time now (latest version we have
  12. installed is 18.57).  A month ago I started using X.  I quickly discovered
  13. that all my Apollo function key and keypad key bindings (the gray keys), no
  14. longer worked.  These bindings were made in my .emacs file using Zubkoff's
  15. supplied function, bind-apollo-function-key, which is defined in
  16. /gnuemacs/etc/apollo.el.
  17.  
  18. This meant, I first thought, that I would have to go through the painful
  19. process of figuring out how to bind emacs functions to the gray keys under X
  20. and then modify my .emacs file accordingly.  After talking to others who had
  21. done this, I felt there had to be a better way, and there is!
  22.  
  23. The attached file, x-apollo-keys.el, solves the problem.  All Apollo keyboard
  24. gray key bindings made in your .emacs file, which work under the DM, will now
  25. work under X, as well.  The same .emacs will work for both.
  26.  
  27. All you have to do is place x-apollo-keys.el in your emacs load path and then
  28. add the following line to your .emacs file:
  29.  
  30.                         (load "x-apollo-keys" nil t)
  31.         
  32. BEFORE any call to bind-apollo-function-key in your .emacs file.
  33.  
  34. That's it!
  35.  
  36. ============================ CUT HERE ===========================
  37. ;;; File:  x-apollo-keys.el, v 1.0
  38. ;;;
  39. ;;;            -----------   ---------------   -   ---------------
  40. ;;;            A p o l l o   K e y b o a r d   X   B i n d i n g s
  41. ;;;            -----------   ---------------   -   ---------------
  42. ;;;
  43. ;;; Copyright (C) 1992 Kevin Gallagher
  44. ;;;
  45. ;;; GNU Emacs is distributed in the hope that it will be useful, but
  46. ;;; WITHOUT ANY WARRANTY.  No author or distributor accepts
  47. ;;; RESPONSIBILITY TO anyone for the consequences of using it or for
  48. ;;; whether it serves any particular purpose or works at all, unless 
  49. ;;; he says so in writing.  Refer to the GNU Emacs General Public
  50. ;;; License for full details.
  51. ;;;
  52. ;;;  Send bug reports and suggestions for improvement to Kevin Gallagher
  53. ;;;  (kgallagh@digi.lonestar.org).
  54. ;;;
  55. ;;; Everyone is granted permission to copy, modify and redistribute
  56. ;;; GNU Emacs, but only under the conditions described in the GNU
  57. ;;; Emacs General Public License.  A copy of this license is supposed
  58. ;;; to have been given to you along with GNU Emacs so you can know
  59. ;;; your rights and responsibilities.  It should be in a file named
  60. ;;; COPYING.  Among other things, the Copyright notice and this notice
  61. ;;; must be preserved on all copies.
  62. ;;;
  63. ;;; ====================================================================
  64.  
  65. ;;  X rebindings for an Apollo keyboard.  
  66. ;;  
  67. ;;  This file is for people who have have been using Leonard N Zubkoff's
  68. ;;  (lnz@lucid.com) Apollo customized version of GNU Emacs under the
  69. ;;  Display Manager (DM) window system and are in the process of moving
  70. ;;  (or will be moving) to X.
  71. ;;  
  72. ;;  The first time you bring up GNU Emacs under X, you discover that
  73. ;;  you have lost all your customized function key and keypad key
  74. ;;  bindings that you (or you site admin) made using the supplied
  75. ;;  function bind-apollo-function-key.  This makes the migration to X
  76. ;;  painful, as each user has to start over learning how to customize
  77. ;;  the apollo function keys via x-rebind-key.
  78. ;;
  79. ;;  If you use the rebindings in this file, MOST of your non-DM
  80. ;;  specific function key bindings made with bind-apollo-function-key
  81. ;;  will continue to work in an xterm window.  (Support for upstroke
  82. ;;  bindings on function keys is NOT provided, but control and shift
  83. ;;  bindings are supported.)
  84. ;;  
  85. ;;  This file should work with GNU Emacs 18.55 and above.  It has been
  86. ;;  tested with GNU Emacs 18.55 and 18.57.
  87. ;;
  88. ;;  Support is included for Control, Caps_Lock, and Shift modified
  89. ;;  function key strokes.  It treats the left and right shift keys as
  90. ;;  the same.  It does NOT add the bindings for the left and right Alt
  91. ;;  keys found on the newer Apollo keyboards, however.
  92. ;;
  93. ;;  NOTE: The function x-rebind-key appears to take only ONE modifier
  94. ;;        key.  This means that there is no way to tell emacs to
  95. ;;        rebind control, alt, and shift modified function key strokes
  96. ;;        when the Caps_Lock key has been toggled on.  So control,
  97. ;;        alt, and shift function key bindings don't work under X when
  98. ;;        the Caps Lock key is toggled on, with the implementation of
  99. ;;        x-rebind-key in 18.55 and 18.57 Apollo GNU Emacs.  Perhaps
  100. ;;        someone will generate a fix for this.
  101. ;;
  102. ;;
  103. ;;  INSTALLATION:  Place this file, x-apollo-key.el, in your emacs
  104. ;;                 load path.  Then, in your .emacs file, which you
  105. ;;                 currently use when running GNU Emacs under DM, add
  106. ;;                 the following line BEFORE any invocation of
  107. ;;                 function bind-apollo-function-key:
  108. ;;
  109. ;;                        (load "x-apollo-keys" nil t)
  110. ;;
  111. ;;                 Now there is no need to make conditional
  112. ;;                 keybindings in your .emacs file based upon which
  113. ;;                 windowing system is in use.  You get the
  114. ;;                 benefit of having all of the default DM function
  115. ;;                 key bindings made in emacs/etc/apollo.el and the
  116. ;;                 use of the non-DM related functions defined
  117. ;;                 therein.
  118. ;;
  119. ;; ========================================================================
  120.  
  121. ;;
  122. ;;    Key names are found in /usr/lib/X11/XKeysymDB and by executing
  123. ;;   
  124. ;;                        xmodmap -pk
  125. ;;
  126. ;;    at a shell prompt.  
  127. ;;
  128. ;;  Format:
  129. ;;           (x-rebind-key KeySym ModifierSym NEWSTRING)
  130. ;;  where
  131. ;;           KeySym        = String Representing Apollo X Keycap Name
  132. ;;           ModifierSym   = String Representing Apollo X Modifier Keycap Name
  133. ;;           NEWSTRING     = String to be Generated When KeySym is Pressed.
  134. ;;
  135. ;;  Common modifiers to use with x-rebind-key:
  136. ;;
  137. ;;      Shift_L Shift_R Control_L Control_R Caps_Lock
  138. ;;
  139.  
  140.  
  141. (if (string= window-system "x")
  142.     (progn
  143.       (load "../etc/apollo" nil t)
  144.       (require 'x-mouse) ; Just to be helpful to the user.
  145.  
  146.       ;; Emacs, when run under DM, is hardwired, in the Apollo mods to
  147.       ;; the Emacs source code, to have the Back Space key behave as a
  148.       ;; Del key.  The Del key is rebound here to behave the same way.
  149.       ;; 
  150.       (x-rebind-key "BackSpace"       nil           "\C-?") 
  151.       (x-rebind-key "BackSpace"       "Caps_Lock"   "\C-?") 
  152.       (x-rebind-key "BackSpace"       "Shift_R"     "\C-?") 
  153.       (x-rebind-key "BackSpace"       "Shift_L"     "\C-?") 
  154.       (x-rebind-key "BackSpace"       "Control_L"   "\C-?") 
  155.  
  156.       ;; Left Functions Keys
  157.       (x-rebind-key "Select"          nil           "\C-^HA") ; Ins/Mark
  158.       (x-rebind-key "Select"          "Caps_Lock"   "\C-^HA") ; Ins/Mark
  159.       (x-rebind-key "Insert"          "Shift_R"     "\C-^IA") ; Ins/Mark
  160.       (x-rebind-key "Insert"          "Shift_L"     "\C-^IA") ; Ins/Mark
  161.       (x-rebind-key "Select"          "Control_L"   "\C-^JA") ; Ins/Mark
  162.       (x-rebind-key "LineDel"          nil           "\C-^HB")
  163.       (x-rebind-key "LineDel"          "Caps_Lock"   "\C-^HB")
  164.       (x-rebind-key "LineDel"         "Shift_R"     "\C-^IB")
  165.       (x-rebind-key "LineDel"         "Shift_L"     "\C-^IB")
  166.       (x-rebind-key "LineDel"          "Control_L"   "\C-^JB")
  167.       (x-rebind-key "CharDel"          nil           "\C-^HC")
  168.       (x-rebind-key "CharDel"          "Caps_Lock"   "\C-^HC")
  169.       (x-rebind-key "CharDel"         "Shift_R"     "\C-^IC")
  170.       (x-rebind-key "CharDel"         "Shift_L"     "\C-^IC")
  171.       (x-rebind-key "CharDel"          "Control_L"   "\C-^JC")
  172.       (x-rebind-key "Copy"          nil           "\C-^HD")
  173.       (x-rebind-key "Copy"          "Caps_Lock"   "\C-^HD")
  174.       (x-rebind-key "Cut"                "Shift_R"     "\C-^ID")
  175.       (x-rebind-key "Cut"                "Shift_L"     "\C-^ID")
  176.       (x-rebind-key "Copy"          "Control_L"   "\C-^JD")
  177.       (x-rebind-key "Paste"          nil           "\C-^HE")
  178.       (x-rebind-key "Paste"          "Caps_Lock"   "\C-^HE")
  179.       (x-rebind-key "Undo"          "Shift_R"     "\C-^IE")
  180.       (x-rebind-key "Undo"          "Shift_L"     "\C-^IE")
  181.       (x-rebind-key "Paste"          "Control_L"   "\C-^JE")
  182.       (x-rebind-key "Grow"          nil           "\C-^HF")
  183.       (x-rebind-key "Grow"          "Caps_Lock"   "\C-^HF")
  184.       (x-rebind-key "Move"          "Shift_R"     "\C-^IF")
  185.       (x-rebind-key "Move"          "Shift_L"     "\C-^IF")
  186.       (x-rebind-key "Grow"          "Control_L"   "\C-^JF")
  187.       (x-rebind-key "LeftBar"          nil           "\C-^HG")
  188.       (x-rebind-key "LeftBar"          "Caps_Lock"   "\C-^HG")
  189.       (x-rebind-key "LeftBar"          "Shift_R"     "\C-^IG")
  190.       (x-rebind-key "LeftBar"          "Shift_L"     "\C-^IG")
  191.       (x-rebind-key "LeftBar"          "Control_L"   "\C-^JG")
  192.       (x-rebind-key "Cmd"          nil           "\C-^HH")
  193.       (x-rebind-key "Cmd"          "Caps_Lock"   "\C-^HH")
  194.       (x-rebind-key "Shell"          "Shift_R"     "\C-^IH")
  195.       (x-rebind-key "Shell"          "Shift_L"     "\C-^IH")
  196.       (x-rebind-key "Cmd"          "Control_L"   "\C-^JH")
  197.       (x-rebind-key "RightBar"          nil           "\C-^HI")
  198.       (x-rebind-key "RightBar"          "Caps_Lock"   "\C-^HI")
  199.       (x-rebind-key "RightBar"        "Shift_R"     "\C-^II")
  200.       (x-rebind-key "RightBar"        "Shift_L"     "\C-^II")
  201.       (x-rebind-key "RightBar"          "Control_L"   "\C-^JI")
  202.       (x-rebind-key "LeftBox"          nil           "\C-^HJ")
  203.       (x-rebind-key "LeftBox"          "Caps_Lock"   "\C-^HJ")
  204.       (x-rebind-key "LeftBox"          "Shift_R"     "\C-^IJ")
  205.       (x-rebind-key "LeftBox"          "Shift_L"     "\C-^IJ")
  206.       (x-rebind-key "LeftBox"          "Control_L"   "\C-^JJ")
  207.       (x-rebind-key "Up"              nil           "\C-^HK")
  208.       (x-rebind-key "Up"              "Caps_Lock"   "\C-^HK")
  209.       (x-rebind-key "Up"              "Shift_L"     "\C-^IK")
  210.       (x-rebind-key "Up"              "Shift_R"     "\C-^IK")
  211.       (x-rebind-key "Up"              "Control_L"   "\C-^JK")
  212.       (x-rebind-key "RightBox"          nil           "\C-^HL")
  213.       (x-rebind-key "RightBox"          "Caps_Lock"   "\C-^HL")
  214.       (x-rebind-key "RightBox"          "Shift_R"     "\C-^IL")
  215.       (x-rebind-key "RightBox"          "Shift_L"     "\C-^IL")
  216.       (x-rebind-key "RightBox"          "Control_L"   "\C-^JL")
  217.       (x-rebind-key "Left"            nil           "\C-^HM")
  218.       (x-rebind-key "Left"            "Caps_Lock"   "\C-^HM")
  219.       (x-rebind-key "Left"            "Shift_L"     "\C-^IM")
  220.       (x-rebind-key "Left"            "Shift_R"     "\C-^IM")
  221.       (x-rebind-key "Left"            "Control_L"   "\C-^JM")
  222.       (x-rebind-key "Next"          nil           "\C-^HN")
  223.       (x-rebind-key "Next"          "Caps_Lock"   "\C-^HN")
  224.       (x-rebind-key "Next"          "Shift_R"     "\C-^IN")
  225.       (x-rebind-key "Next"          "Shift_L"     "\C-^IN")
  226.       (x-rebind-key "Next"          "Control_L"   "\C-^JN")
  227.       (x-rebind-key "Right"           nil           "\C-^HO")
  228.       (x-rebind-key "Right"           "Caps_Lock"   "\C-^HO")
  229.       (x-rebind-key "Right"           "Shift_L"     "\C-^IO")
  230.       (x-rebind-key "Right"           "Shift_R"     "\C-^IO")
  231.       (x-rebind-key "Right"           "Control_L"   "\C-^JO")
  232.       (x-rebind-key "UpBox"          nil           "\C-^HP")
  233.       (x-rebind-key "UpBox"          "Caps_Lock"   "\C-^HP")
  234.       (x-rebind-key "UpBox"          "Shift_R"     "\C-^IP")
  235.       (x-rebind-key "UpBox"          "Shift_L"     "\C-^IP")
  236.       (x-rebind-key "UpBox"          "Control_L"   "\C-^JP")
  237.       (x-rebind-key "Down"            nil           "\C-^HQ")
  238.       (x-rebind-key "Down"            "Caps_Lock"   "\C-^HQ")
  239.       (x-rebind-key "Down"            "Shift_L"     "\C-^IQ")
  240.       (x-rebind-key "Down"            "Shift_R"     "\C-^IQ")
  241.       (x-rebind-key "Down"            "Control_L"   "\C-^JQ")
  242.       (x-rebind-key "DownBox"          nil           "\C-^HR")
  243.       (x-rebind-key "DownBox"          "Caps_Lock"   "\C-^HR")
  244.       (x-rebind-key "DownBox"          "Shift_R"     "\C-^IR")
  245.       (x-rebind-key "DownBox"          "Shift_L"     "\C-^IR")
  246.       (x-rebind-key "DownBox"          "Control_L"   "\C-^JR")
  247.  
  248.  
  249.       ;; Right Function Keys
  250.       (x-rebind-key "Redo"          nil           "\C-^H^") ; AGAIN
  251.       (x-rebind-key "Redo"          "Caps_Lock"   "\C-^H^") ; AGAIN
  252.       (x-rebind-key "Redo"          "Shift_R"     "\C-^I^") ; AGAIN
  253.       (x-rebind-key "Redo"          "Shift_L"     "\C-^I^") ; AGAIN
  254.       (x-rebind-key "Redo"          "Control_L"   "\C-^J^") ; AGAIN
  255.       (x-rebind-key "Read"            nil           "\C-^H_")
  256.       (x-rebind-key "Read"            "Caps_Lock"   "\C-^H_")
  257.       (x-rebind-key "Read"          "Shift_R"     "\C-^I_")
  258.       (x-rebind-key "Read"          "Shift_L"     "\C-^I_")
  259.       (x-rebind-key "Read"            "Control_L"   "\C-^J_")
  260.       (x-rebind-key "Edit"            nil           "\C-^H`")
  261.       (x-rebind-key "Edit"            "Caps_Lock"   "\C-^H`")
  262.       (x-rebind-key "Save"          "Shift_R"     "\C-^I`")
  263.       (x-rebind-key "Save"          "Shift_L"     "\C-^I`")
  264.       (x-rebind-key "Edit"            "Control_L"   "\C-^J`")
  265.       (x-rebind-key "Exit"            nil           "\C-^Ha")
  266.       (x-rebind-key "Exit"            "Caps_Lock"   "\C-^Ha")
  267.       (x-rebind-key "Cancel"          "Shift_L"     "\C-^Ia"); Abort
  268.       (x-rebind-key "Cancel"          "Shift_R"     "\C-^Ia"); Abort
  269.       (x-rebind-key "Exit"            "Control_L"   "\C-^Ja")
  270.       (x-rebind-key "Pause"           nil           "\C-^Hb"); Hold
  271.       (x-rebind-key "Pause"           "Caps_Lock"   "\C-^Hb"); Hold
  272.       (x-rebind-key "Help"          "Shift_L"     "\C-^Ib") 
  273.       (x-rebind-key "Help"          "Shift_R"     "\C-^Ib") 
  274.       (x-rebind-key "Pause"           "Control_L"   "\C-^Jb"); Hold
  275.  
  276.  
  277.       ;; Keypad keys
  278.       (x-rebind-key "KP_Enter"        nil           "\C-^Hq")
  279.       (x-rebind-key "KP_Enter"        "Caps_Lock"   "\C-^Hq")
  280.       (x-rebind-key "KP_Enter"        "Shift_L"     "\C-^Iq")
  281.       (x-rebind-key "KP_Enter"        "Shift_R"     "\C-^Iq")
  282.       (x-rebind-key "KP_Enter"        "Control_L"   "\C-^Jq")
  283.       (x-rebind-key "KP_Subtract"     nil           "\C-^Hr")
  284.       (x-rebind-key "KP_Subtract"     "Caps_Lock"   "\C-^Hr")
  285.       (x-rebind-key "KP_Subtract"     "Shift_L"     "\C-^Ir")
  286.       (x-rebind-key "KP_Subtract"     "Shift_R"     "\C-^Ir")
  287.       (x-rebind-key "KP_Subtract"     "Control_L"   "\C-^Jr")
  288.       (x-rebind-key "KP_Add"          nil           "\C-^Hs")
  289.       (x-rebind-key "KP_Add"          "Caps_Lock"   "\C-^Hs")
  290.       (x-rebind-key "KP_Add"          "Shift_L"     "\C-^Is")
  291.       (x-rebind-key "KP_Add"          "Shift_R"     "\C-^Is")
  292.       (x-rebind-key "KP_Add"          "Control_L"   "\C-^Js")
  293.       (x-rebind-key "KP_Decimal"      nil           "\C-^Ht")
  294.       (x-rebind-key "KP_Decimal"      "Caps_Lock"   "\C-^Ht")
  295.       (x-rebind-key "KP_Decimal"      "Shift_L"     "\C-^It")
  296.       (x-rebind-key "KP_Decimal"      "Shift_R"     "\C-^It")
  297.       (x-rebind-key "KP_Decimal"      "Control_L"   "\C-^Jt")
  298.       (x-rebind-key "KP_0"            nil           "\C-^Hc")
  299.       (x-rebind-key "KP_0"            "Caps_Lock"   "\C-^Hc")
  300.       (x-rebind-key "KP_0"            "Shift_L"     "\C-^Ic")
  301.       (x-rebind-key "KP_0"            "Shift_R"     "\C-^Ic")
  302.       (x-rebind-key "KP_0"            "Control_L"   "\C-^Jc")
  303.       (x-rebind-key "KP_1"            nil           "\C-^Hd")
  304.       (x-rebind-key "KP_1"            "Caps_Lock"   "\C-^Hd")
  305.       (x-rebind-key "KP_0"            "Shift_L"     "\C-^Id")
  306.       (x-rebind-key "KP_0"            "Shift_R"     "\C-^Id")
  307.       (x-rebind-key "KP_1"            "Control_L"   "\C-^Jd")
  308.       (x-rebind-key "KP_2"            nil           "\C-^He")
  309.       (x-rebind-key "KP_2"            "Caps_Lock"   "\C-^He")
  310.       (x-rebind-key "KP_2"            "Shift_L"     "\C-^Ie")
  311.       (x-rebind-key "KP_2"            "Shift_R"     "\C-^Ie")
  312.       (x-rebind-key "KP_2"            "Control_L"   "\C-^Je")
  313.       (x-rebind-key "KP_3"            nil           "\C-^Hf")
  314.       (x-rebind-key "KP_3"            "Caps_Lock"   "\C-^Hf")
  315.       (x-rebind-key "KP_3"            "Shift_L"     "\C-^If")
  316.       (x-rebind-key "KP_3"            "Shift_R"     "\C-^If")
  317.       (x-rebind-key "KP_3"            "Control_L"   "\C-^Jf")
  318.       (x-rebind-key "KP_4"            nil           "\C-^Hg")
  319.       (x-rebind-key "KP_4"            "Caps_Lock"   "\C-^Hg")
  320.       (x-rebind-key "KP_4"            "Shift_L"     "\C-^Ig")
  321.       (x-rebind-key "KP_4"            "Shift_R"     "\C-^Ig")
  322.       (x-rebind-key "KP_4"            "Control_L"   "\C-^Jg")
  323.       (x-rebind-key "KP_5"            nil           "\C-^Hh")
  324.       (x-rebind-key "KP_5"            "Caps_Lock"   "\C-^Hh")
  325.       (x-rebind-key "KP_5"            "Shift_L"     "\C-^Ih")
  326.       (x-rebind-key "KP_5"            "Shift_R"     "\C-^Ih")
  327.       (x-rebind-key "KP_5"            "Control_L"   "\C-^Jh")
  328.       (x-rebind-key "KP_6"            nil           "\C-^Hi")
  329.       (x-rebind-key "KP_6"            "Caps_Lock"   "\C-^Hi")
  330.       (x-rebind-key "KP_6"            "Shift_L"     "\C-^Ii")
  331.       (x-rebind-key "KP_6"            "Shift_R"     "\C-^Ii")
  332.       (x-rebind-key "KP_6"            "Control_L"   "\C-^Ji")
  333.       (x-rebind-key "KP_7"            nil           "\C-^Hj")
  334.       (x-rebind-key "KP_7"            "Caps_Lock"   "\C-^Hj")
  335.       (x-rebind-key "KP_7"            "Shift_L"     "\C-^Ij")
  336.       (x-rebind-key "KP_7"            "Shift_R"     "\C-^Ij")
  337.       (x-rebind-key "KP_7"            "Control_L"   "\C-^Jj")
  338.       (x-rebind-key "KP_8"            nil           "\C-^Hk")
  339.       (x-rebind-key "KP_8"            "Caps_Lock"   "\C-^Hk")
  340.       (x-rebind-key "KP_8"            "Shift_L"     "\C-^Ik")
  341.       (x-rebind-key "KP_8"            "Shift_R"     "\C-^Ik")
  342.       (x-rebind-key "KP_8"            "Control_L"   "\C-^Jk")
  343.       (x-rebind-key "KP_9"            nil           "\C-^Hl")
  344.       (x-rebind-key "KP_9"            "Caps_Lock"   "\C-^Hl")
  345.       (x-rebind-key "KP_9"            "Shift_L"     "\C-^Il")
  346.       (x-rebind-key "KP_9"            "Shift_R"     "\C-^Il")
  347.       (x-rebind-key "KP_9"            "Control_L"   "\C-^Jl")
  348.       
  349.       
  350.       ;; Function keys
  351.       (x-rebind-key "F1"              nil           "\C-^HT")
  352.       (x-rebind-key "F1"              "Caps_Lock"   "\C-^HT")
  353.       (x-rebind-key "F1"              "Shift_R"     "\C-^IT") 
  354.       (x-rebind-key "F1"              "Shift_L"     "\C-^IT") 
  355.       (x-rebind-key "F1"              "Control_L"   "\C-^JT")
  356.       (x-rebind-key "F2"              nil           "\C-^HU")
  357.       (x-rebind-key "F2"              "Caps_Lock"   "\C-^HU")
  358.       (x-rebind-key "F2"              "Shift_R"     "\C-^IU") 
  359.       (x-rebind-key "F2"              "Shift_L"     "\C-^IU") 
  360.       (x-rebind-key "F2"              "Control_L"   "\C-^JU")
  361.       (x-rebind-key "F3"              nil           "\C-^HV")
  362.       (x-rebind-key "F3"              "Caps_Lock"   "\C-^HV")
  363.       (x-rebind-key "F3"              "Shift_R"     "\C-^IV") 
  364.       (x-rebind-key "F3"              "Shift_L"     "\C-^IV") 
  365.       (x-rebind-key "F3"              "Control_L"   "\C-^JV")
  366.       (x-rebind-key "F4"              nil           "\C-^HW")
  367.       (x-rebind-key "F4"              "Caps_Lock"   "\C-^HW")
  368.       (x-rebind-key "F4"              "Shift_R"     "\C-^IW") 
  369.       (x-rebind-key "F4"              "Shift_L"     "\C-^IW") 
  370.       (x-rebind-key "F4"              "Control_L"   "\C-^JW")
  371.       (x-rebind-key "F5"              nil           "\C-^HX")
  372.       (x-rebind-key "F5"              "Caps_Lock"   "\C-^HX")
  373.       (x-rebind-key "F5"              "Shift_R"     "\C-^IX") 
  374.       (x-rebind-key "F5"              "Shift_L"     "\C-^IX") 
  375.       (x-rebind-key "F5"              "Control_L"   "\C-^JX")
  376.       (x-rebind-key "F6"              nil           "\C-^HY")
  377.       (x-rebind-key "F6"              "Caps_Lock"   "\C-^HY")
  378.       (x-rebind-key "F6"              "Shift_R"     "\C-^IY") 
  379.       (x-rebind-key "F6"              "Shift_L"     "\C-^IY") 
  380.       (x-rebind-key "F6"              "Control_L"   "\C-^JY")
  381.       (x-rebind-key "F7"              nil           "\C-^HZ")
  382.       (x-rebind-key "F7"              "Caps_Lock"   "\C-^HZ")
  383.       (x-rebind-key "F7"              "Shift_R"     "\C-^IZ") 
  384.       (x-rebind-key "F7"              "Shift_L"     "\C-^IZ") 
  385.       (x-rebind-key "F7"              "Control_L"   "\C-^JZ")
  386.       (x-rebind-key "F8"              nil           "\C-^H[")
  387.       (x-rebind-key "F8"              "Caps_Lock"   "\C-^H[")
  388.       (x-rebind-key "F8"              "Shift_R"     "\C-^I[") 
  389.       (x-rebind-key "F8"              "Shift_L"     "\C-^I[") 
  390.       (x-rebind-key "F8"              "Control_L"   "\C-^J[")
  391.       (x-rebind-key "F9"              nil           "\C-^H\\")
  392.       (x-rebind-key "F9"              "Caps_Lock"   "\C-^H\\")
  393.       (x-rebind-key "F9"              "Shift_R"     "\C-^I\\")
  394.       (x-rebind-key "F9"              "Shift_L"     "\C-^I\\")
  395.       (x-rebind-key "F9"              "Control_L"   "\C-^J\\")
  396.       (x-rebind-key "F10"             nil           "\C-^HS") ; F0
  397.       (x-rebind-key "F10"             "Caps_Lock"   "\C-^HS") ; F0
  398.       (x-rebind-key "F10"             "Shift_R"     "\C-^IS") ; F0
  399.       (x-rebind-key "F10"             "Shift_L"     "\C-^IS") ; F0
  400.       (x-rebind-key "F10"             "Control_L"   "\C-^JS") ; F0
  401.       )
  402.     )
  403. -- 
  404. ----------------------------------------------------------------------------
  405. Kevin Gallagher        kgallagh@digi.lonestar.org OR ...!uunet!digi!kgallagh
  406. DSC Communications Corporation   Addr: MS 152, 1000 Coit Rd, Plano, TX 75075
  407. ----------------------------------------------------------------------------
  408.