home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / unix / aix / 11739 < prev    next >
Encoding:
Text File  |  1992-11-19  |  12.9 KB  |  283 lines

  1. Newsgroups: comp.unix.aix
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!moe.ksu.ksu.edu!mimbres.cs.unm.edu!constellation!phyast!baron
  3. From: baron@phyast.nhn.uoknor.edu (Eddie Baron)
  4. Subject: Re: GNU emacs
  5. Originator: usenet@kittyhawk.ecn.uoknor.edu
  6. Sender: usenet@constellation.ecn.uoknor.edu (Usenet Administrator)
  7. Message-ID: <baron.722184949@phyast.nhn.uoknor.edu>
  8. Date: Thu, 19 Nov 1992 14:55:49 GMT
  9. References: <1992Nov17.034640.28336@chpc.utexas.edu> <eaton-181192134048@markeatonmac.pacersoft.com>
  10. Nntp-Posting-Host: kittyhawk.ecn.uoknor.edu
  11. Organization: Engineering Computer Network, University of Oklahoma, Norman, OK, USA
  12. Lines: 269
  13.  
  14. Here are the files aixterm.el, and .emacskeys
  15. I didn't write them but got them from
  16. various places.
  17. It would be nice if the gnu project would pick these up...
  18.  
  19. ; @(#)hft.el    1.3  com/gnuemacs/lisp/term,3.1,9005 2/6/90 17:16:22
  20. ;;;-------------------------------------------------------------------------
  21. ;;;
  22. ;;;    AIX key bindings for HFT and X
  23. ;;;
  24. ;;;----------------------------------------------------------------
  25.  
  26. (define-key esc-map "[" (make-sparse-keymap))
  27. (global-unset-key "[")
  28.  
  29. ;;;----------------------------------------------------------------
  30. ;;;
  31. ;;; HFT outboard control keys
  32. ;;;
  33. ;;;----------------------------------------------------------------
  34. (global-set-key "[A"    'previous-line)           ;  up
  35. (global-set-key "[161q" 'unassigned)                  ;s-up 
  36. (global-set-key "[162q" 'unassigned)            ;c-up 
  37. (global-set-key "[163q" 'unassigned)              ;a-up 
  38.  
  39. (global-set-key "[B"    'next-line)            ;  down 
  40. (global-set-key "[164q" 'unassigned)                  ;s-down 
  41. (global-set-key "[165q" 'unassigned)            ;c-down 
  42. (global-set-key "[166q" 'unassigned)              ;a-down 
  43.  
  44. (global-set-key "[C"    'forward-char)        ;  right 
  45. (global-set-key "[167q" 'unassigned)          ;s-right 
  46. (global-set-key "[168q" 'unassigned)                ;c-right 
  47. (global-set-key "[169q" 'unassigned)          ;a-right 
  48.  
  49. (global-set-key "[D"    'backward-char)        ;  left 
  50. (global-set-key "[158q" 'unassigned)          ;s-left 
  51. (global-set-key "[159q" 'unassigned)          ;c-left 
  52. (global-set-key "[160q" 'unassigned)          ;a-left 
  53. ;;;----------------------------------------------------------------
  54. (global-set-key "[150q" 'scroll-down)            ;  page up
  55. (global-set-key "[151q" 'unassigned)              ;s-page up
  56. (global-set-key "[152q" 'unassigned)            ;c-page up
  57. (global-set-key "[153q" 'unassigned)              ;a-page up
  58.  
  59. (global-set-key "[154q" 'scroll-up)            ;  page down
  60. (global-set-key "[155q" 'unassigned)            ;s-page down
  61. (global-set-key "[156q" 'unassigned)            ;c-page down
  62. (global-set-key "[157q" 'unassigned)              ;a-page down
  63. ;;;----------------------------------------------------------------
  64. (global-set-key "[H"    'beginning-of-line)        ;  home
  65. (global-set-key "[143q" 'unassigned)          ;s-home
  66. (global-set-key "[144q" 'unassigned)          ;c-home
  67. (global-set-key "[145q" 'unassigned)            ;a-home
  68. ;;;----------------------------------------------------------------
  69. (global-set-key "[146q" 'end-of-line)            ;  end
  70. (global-set-key "[147q" 'unassigned)          ;s-end
  71. (global-set-key "[148q" 'unassigned)          ;c-end
  72. (global-set-key "[149q" 'unassigned)            ;a-end
  73. ;;;----------------------------------------------------------------
  74. (global-set-key "[139q" 'overwrite-mode)         ; insert
  75. (global-set-key "[140q" 'unassigned)          ;c-insert
  76. (global-set-key "[141q" 'unassigned)            ;a-insert
  77. ;;;----------------------------------------------------------------
  78. (global-set-key "[P"    'delete-char)            ;  delete
  79. (global-set-key "[142q" 'unassigned)          ;c-delete
  80. (global-set-key "[M"    'unassigned)          ;a-delete
  81. ;;;----------------------------------------------------------------
  82. (global-set-key "[209q" 'unassigned)          ;  print screen
  83. (global-set-key "[210q" 'unassigned)          ;s-print screen
  84. (global-set-key "[211q" 'unassigned)            ;c-print screen
  85. (global-set-key "[212q" 'unassigned)          ;a-print screen
  86. ;;;----------------------------------------------------------------
  87. (global-set-key "[213q" 'unassigned)          ;  scroll lock
  88. (global-set-key "[214q" 'unassigned)                ;s-scroll lock
  89. (global-set-key "[215q" 'unassigned)          ;c-scroll lock
  90. (global-set-key "[216q" 'unassigned)            ;a-scroll lock
  91. ;;;----------------------------------------------------------------
  92. (global-set-key "[217q" 'unassigned)                ;  pause
  93. (global-set-key "[218q" 'unassigned)            ;s-pause
  94. ;;;----------------------------------------------------------------
  95. (global-set-key "[114q" 'unassigned)                ;  action
  96.  
  97. ;;;----------------------------------------------------------------
  98. ;;;
  99. ;;; HFT PF keys 
  100. ;;;
  101. ;;;----------------------------------------------------------------
  102. (global-set-key "[001q" 'unassigned)            ;  f1
  103. (global-set-key "[002q" 'unassigned)              ;  f2
  104. (global-set-key "[003q" 'unassigned)          ;  f3
  105. (global-set-key "[004q" 'unassigned)               ;  f4
  106. (global-set-key "[005q" 'unassigned)            ;  f5
  107. (global-set-key "[006q" 'unassigned)              ;  f6
  108. (global-set-key "[007q" 'unassigned)            ;  f7
  109. (global-set-key "[008q" 'unassigned)                ;  f8
  110. (global-set-key "[009q" 'unassigned)              ;  f9
  111. (global-set-key "[010q" 'unassigned)          ;  f10
  112. (global-set-key "[011q" 'unassigned)              ;  f11
  113. (global-set-key "[012q" 'unassigned)          ;  f12
  114. ;;;----------------------------------------------------------------
  115. (global-set-key "[013q" 'unassigned)          ;s-f1
  116. (global-set-key "[014q" 'unassigned)          ;s-f2
  117. (global-set-key "[015q" 'unassigned)              ;s-f3
  118. (global-set-key "[016q" 'unassigned)          ;s-f4
  119. (global-set-key "[017q" 'unassigned)            ;s-f5
  120. (global-set-key "[018q" 'unassigned)                  ;s-f6
  121. (global-set-key "[019q" 'unassigned)          ;s-f7
  122. (global-set-key "[020q" 'unassigned)                  ;s-f8
  123. (global-set-key "[021q" 'unassigned)            ;s-f9
  124. (global-set-key "[022q" 'unassigned)            ;s-f10
  125. (global-set-key "[023q" 'unassigned)            ;s-f11
  126. (global-set-key "[024q" 'unassigned)            ;s-f12
  127. ;;;----------------------------------------------------------------
  128. (global-set-key "[025q" 'unassigned)          ;c-f1
  129. (global-set-key "[026q" 'unassigned)            ;c-f2
  130. (global-set-key "[027q" 'unassigned)            ;c-f3
  131. (global-set-key "[028q" 'unassigned)            ;c-f4
  132. (global-set-key "[029q" 'unassigned)            ;c-f5
  133. (global-set-key "[030q" 'unassinged)            ;c-f6
  134. (global-set-key "[031q" 'unassigned)            ;c-f7
  135. (global-set-key "[032q" 'unassigned)            ;c-f8
  136. (global-set-key "[033q" 'unassigned)            ;c-f9
  137. (global-set-key "[034q" 'unassigned)            ;c-f10
  138. (global-set-key "[035q" 'unassigned)            ;c-f11
  139. (global-set-key "[036q" 'unassinged)              ;c-f12
  140. ;;;----------------------------------------------------------------
  141. (global-set-key "[037q" 'unassigned)            ;a-f1
  142. (global-set-key "[038q" 'unassigned)            ;a-f2
  143. (global-set-key "[039q" 'unassigned)            ;a-f3
  144. (global-set-key "[040q" 'unassigned)            ;a-f4
  145. (global-set-key "[041q" 'unassinged)            ;a-f5
  146. (global-set-key "[042q" 'unassigned)            ;a-f6
  147. (global-set-key "[043q" 'unassigned)            ;a-f7
  148. (global-set-key "[044q" 'unassigned)            ;a-f8
  149. (global-set-key "[045q" 'unassigned)            ;a-f9
  150. (global-set-key "[046q" 'unassigned)            ;a-f10
  151. (global-set-key "[047q" 'unassigned)            ;a-f11
  152. (global-set-key "[048q" 'unassigned)            ;a-f12
  153.  
  154. ;;;--------------------------------------------------------------------
  155. ;;;
  156. ;;; Emulate META key with ALT key for AIX
  157. ;;;
  158. ;;;--------------------------------------------------------------------
  159. (define-key global-map "\033[087q" 'backward-sentence)             ;a-a
  160. (define-key global-map "\033[105q" 'backward-word)                 ;a-b 
  161. (define-key global-map "\033[103q" 'capitalize-word)               ;a-c
  162. (define-key global-map "\033[089q" 'kill-word)                     ;a-d
  163. (define-key global-map "\033[076q" 'forward-sentence)              ;a-e
  164. (define-key global-map "\033[090q" 'forward-word)                  ;a-f
  165. (define-key global-map "\033[091q" 'fill-region)                   ;a-g
  166. (define-key global-map "\033[092q" 'mark-paragraph)                ;a-h
  167. (define-key global-map "\033[081q" 'tab-to-tab-stop)               ;a-i
  168. (define-key global-map "\033[093q" 'indent-new-comment-line)        ;a-j 
  169. (define-key global-map "\033[094q" 'kill-sentence)                 ;a-k
  170. (define-key global-map "\033[095q" 'downcase-word)                ;a-l 
  171. (define-key global-map "\033[107q" 'back-to-indentation)        ;a-m 
  172. (define-key global-map "\033[106q" 'unassigned)               ;a-n 
  173. (define-key global-map "\033[082q" 'unassigned)                ;a-o 
  174. (define-key global-map "\033[083q" 'unassigned)                 ;a-p 
  175. (define-key global-map "\033[074q" 'fill-paragraph)                ;a-q 
  176. (define-key global-map "\033[077q" 'move-to-window-line)        ;a-r 
  177. (define-key global-map "\033[088q" 'unassigned)                 ;a-s 
  178. (define-key global-map "\033[078q" 'transpose-words)               ;a-t 
  179. (define-key global-map "\033[080q" 'upcase-word)                 ;a-u 
  180. (define-key global-map "\033[104q" 'scroll-down)                 ;a-v 
  181. (define-key global-map "\033[075q" 'copy-region-as-kill)        ;a-w 
  182. (define-key global-map "\033[102q" 'execute-extended-command)        ;a-x 
  183. (define-key global-map "\033[079q" 'yank-pop)                 ;a-y 
  184. (define-key global-map "\033[101q" 'zap-to-char)              ;a-z 
  185.  
  186. ;;;------------------------------------------------------------------------------
  187. ;;;
  188. ;;; The HFT support does not allow the ALT, SHIFT, and CONTROL keys to 
  189. ;;; be combined.  The following attempts to map the ALT-key to the best 
  190. ;;; mapping without SHIFT and CONTROL conbinations
  191. ;;;
  192. ;;;------------------------------------------------------------------------------
  193. (define-key global-map "\033[115q" 'not-modified)                   ;a-~ 
  194. (define-key global-map "\033[058q" 'shell-command)                  ;a-! 
  195. (define-key global-map "\033[059q" 'mark-word)                      ;a-@
  196. (define-key global-map "\033[060q" 'unassigned)                    ;a-#
  197. (define-key global-map "\033[061q" 'spell-word)                     ;a-$
  198. (define-key global-map "\033[062q" 'query-replace)                  ;a-%
  199. (define-key global-map "\033[063q" 'delete-indentation)             ;a-^
  200. (define-key global-map "\033[064q" 'unassigned)                     ;a-&
  201. (define-key global-map "\033[065q" 'unassigned)                            ;a-*
  202. (define-key global-map "\033[066q" 'insert-parentheses)             ;a-(
  203. (define-key global-map "\033[067q" 'move-past-close-and-reindent)    ;a-)
  204. (define-key global-map "\033[068q" 'negative-argument)                ;a--
  205. (define-key global-map "\033[070q" 'count-lines-region)                ;a-=
  206. (define-key global-map "\033[084q" 'backward-paragraph)                ;a-[
  207. (define-key global-map "\033[085q" 'forward-paragraph)                ;a-]
  208. (define-key global-map "\033[086q" 'shell-command-on-region)            ;a-|
  209.  
  210. (define-key global-map "\033[097q" 'indent-for-comment)                ;a-;
  211. (define-key global-map "\033[099q" 'abbrev-prefix-mark)                ;a-'
  212.  
  213. (define-key global-map "\033[109q" 'beginning-of-buffer)            ;a-<
  214. (define-key global-map "\033[111q" 'end-of-buffer)                ;a->
  215. (define-key global-map "\033[113q" 'dabbrev-expand)                ;a-/
  216.  
  217. (define-key global-map "\033[071q" 'backward-kill-word)                ;a-bsp
  218.  
  219. ;;;---------------------------------------------------------------------------
  220. ;;; use private key remapping is .emacskeys file in $HOME directory
  221. ;;;---------------------------------------------------------------------------
  222.  
  223. (if (file-readable-p "~/.emacskeys") (load-file "~/.emacskeys"))
  224.  
  225. ;;;---------------------------------------------------------------------------
  226. ;;; end of key definitions 
  227. ;;;---------------------------------------------------------------------------
  228.  
  229.  
  230. and the file .emacskeys which swaps ^H and ^? i.e. it makes backspace
  231. work and help for help maps to delete
  232.  
  233.     (defun swap-keys (key1 key2)
  234.       "Swap keys KEY1 and KEY2 using map-key."
  235.       (map-key key1 key2 t)
  236.       (map-key key2 key1))
  237.   
  238.     (defvar map-keys-alist nil
  239.       "Association list of key mappings currently in effect.
  240.     If (FROM . TO) is an element, that means key FROM is currently mapped to TO.")
  241.   
  242.     (defun map-key (from to &optional no-update)
  243.       "Make key FROM behave as though key TO was typed instead.
  244.     If optional argument NO-UPDATE is non-nil, the key-mapping does not take
  245.     effect until a subsequent map-key or unmap-key."
  246.       (let ((alist-entry (assq from map-keys-alist)))
  247.     (if alist-entry
  248.         (setcdr alist-entry to)
  249.       (setq map-keys-alist (cons (cons from to) map-keys-alist))))
  250.       (or no-update (map-keys-update)))
  251.   
  252.     (defun unmap-key (key)
  253.       "Undo any mapping of key KEY."
  254.       (setq map-keys-alist (delq (assq key map-keys-alist) map-keys-alist))
  255.       (map-keys-update))
  256.   
  257.     ;; Makes keyboard-translate-table reflect the key mappings in
  258.     ;; map-keys-alist.
  259.   
  260.     (defun map-keys-update ()
  261.       (if (null map-keys-alist)
  262.       ;; Emacs runs fasted if keyboard-translate-table is nil
  263.       (setq keyboard-translate-table nil)
  264.     (let ((max-key-mapped
  265.            ;; Find the mapped key with largest value
  266.            (apply 'max
  267.               (mapcar
  268.                (function
  269.             (lambda (x)
  270.               (car x)))
  271.                map-keys-alist)))
  272.           (i 0))
  273.       ;; keyboard-translate-table doesn't have to be any longer than
  274.       ;; necessary.  This speeds up Emacs.
  275.       (setq keyboard-translate-table (make-string (1+ max-key-mapped) 0))
  276.       (while (<= i max-key-mapped)
  277.         (aset keyboard-translate-table i (or (cdr (assq i map-keys-alist)) i))
  278.         (setq i (1+ i))))))
  279.   
  280.      (if (string-equal (getenv "TERM") "aixterm")
  281.      (swap-keys ?\^h ?\^? ))
  282.  
  283.