home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / languages / elisp / modes / dvorak-mode.el < prev    next >
Encoding:
Text File  |  1990-07-22  |  4.7 KB  |  122 lines

  1. ;From ark1!uakari.primate.wisc.edu!uflorida!mephisto!rutgers!njin!princeton!phoenix!tbrakitz Tue May  8 14:22:38 1990
  2. ;Article 1883 of comp.emacs:
  3. ;Path: ark1!uakari.primate.wisc.edu!uflorida!mephisto!rutgers!njin!princeton!phoenix!tbrakitz
  4. ;>From tbrakitz@phoenix.Princeton.EDU (Byron Rakitzis)
  5. ;Newsgroups: comp.emacs
  6. ;Subject: Dvorak keyboard minor mode.
  7. ;Message-ID: <15836@phoenix.Princeton.EDU>
  8. ;Date: 30 Apr 90 20:50:40 GMT
  9. ;Organization: Princeton University, NJ
  10. ;Lines: 110
  11. ;
  12. ;Here's a minor mode for a Dvorak keyboard I hacked up last night.
  13. ;Control keys are mapped as QWERTY, since there is no way to get C-.
  14. ;for example, to send something reasonable. 
  15. ;
  16. ;Enjoy. (notice that C-h f dvorak-mode will give a nice view of the
  17. ;Dvorak keyboard layout)
  18. ;
  19. ;-------------------------------CUT HERE----------------------------------
  20.  
  21.  
  22. (defun dvorak-mode nil "Dvorak keyboard mode:
  23. -------------------------------------------------------------------------
  24. | Esc| 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 0  | [  | ]  |  <-  |
  25. -------------------------------------------------------------------------
  26. | Tab | /  | ,  | .  | p  | y  | f  | g  | c  | r  | l  | ;  | =  |     |
  27. ------------------------------------------------------------------- |   |
  28. | Ctrl | a  | o  | e  | u  | i  | d  | h  | t  | n  | s  | -  |   <-    |
  29. -------------------------------------------------------------------------
  30. | Shift  | '  | q  | j  | k  | x  | b  | m  | w  | v  | z  | Shift |
  31. ---------------------------------------------------------------------
  32. "
  33.   (interactive)
  34.   (if (boundp 'dvorak-mode)
  35.       nil
  36.     (setq minor-mode-alist (cons '(dvorak-mode " Dvorak") minor-mode-alist))
  37.     (make-variable-buffer-local 'dvorak-mode)
  38.     (set-default 'dvorak-mode nil))
  39.   (setq dvorak-mode (not dvorak-mode))
  40.   (use-local-map (if dvorak-mode dvorak-mode-map nil)))
  41. (defvar dvorak-mode-map nil)
  42. (if dvorak-mode-map nil
  43.   (setq dvorak-mode-map (make-keymap))
  44.   (define-key dvorak-mode-map "q" "/")
  45.   (define-key dvorak-mode-map "w" ",")
  46.   (define-key dvorak-mode-map "e" ".")
  47.   (define-key dvorak-mode-map "r" "p")
  48.   (define-key dvorak-mode-map "t" "y")
  49.   (define-key dvorak-mode-map "y" "f")
  50.   (define-key dvorak-mode-map "u" "g")
  51.   (define-key dvorak-mode-map "i" "c")
  52.   (define-key dvorak-mode-map "o" "r")
  53.   (define-key dvorak-mode-map "p" "l")
  54.   (define-key dvorak-mode-map "[" ";")
  55.   (define-key dvorak-mode-map "]" "=")
  56.   (define-key dvorak-mode-map "a" "a")
  57.   (define-key dvorak-mode-map "s" "o")
  58.   (define-key dvorak-mode-map "d" "e")
  59.   (define-key dvorak-mode-map "f" "u")
  60.   (define-key dvorak-mode-map "g" "i")
  61.   (define-key dvorak-mode-map "h" "d")
  62.   (define-key dvorak-mode-map "j" "h")
  63.   (define-key dvorak-mode-map "k" "t")
  64.   (define-key dvorak-mode-map "l" "n")
  65.   (define-key dvorak-mode-map ";" "s")
  66.   (define-key dvorak-mode-map "'" "-")
  67.   (define-key dvorak-mode-map "z" "'")
  68.   (define-key dvorak-mode-map "x" "q")
  69.   (define-key dvorak-mode-map "c" "j")
  70.   (define-key dvorak-mode-map "v" "k")
  71.   (define-key dvorak-mode-map "b" "x")
  72.   (define-key dvorak-mode-map "n" "b")
  73.   (define-key dvorak-mode-map "m" "m")
  74.   (define-key dvorak-mode-map "," "w")
  75.   (define-key dvorak-mode-map "." "v")
  76.   (define-key dvorak-mode-map "/" "z")
  77.   (define-key dvorak-mode-map "Q" "?")
  78.   (define-key dvorak-mode-map "W" "<")
  79.   (define-key dvorak-mode-map "E" ">")
  80.   (define-key dvorak-mode-map "R" "P")
  81.   (define-key dvorak-mode-map "T" "Y")
  82.   (define-key dvorak-mode-map "Y" "F")
  83.   (define-key dvorak-mode-map "U" "G")
  84.   (define-key dvorak-mode-map "I" "C")
  85.   (define-key dvorak-mode-map "O" "R")
  86.   (define-key dvorak-mode-map "P" "L")
  87.   (define-key dvorak-mode-map "{" ":")
  88.   (define-key dvorak-mode-map "}" "+")
  89.   (define-key dvorak-mode-map "A" "A")
  90.   (define-key dvorak-mode-map "S" "O")
  91.   (define-key dvorak-mode-map "D" "E")
  92.   (define-key dvorak-mode-map "F" "U")
  93.   (define-key dvorak-mode-map "G" "I")
  94.   (define-key dvorak-mode-map "H" "D")
  95.   (define-key dvorak-mode-map "J" "H")
  96.   (define-key dvorak-mode-map "K" "T")
  97.   (define-key dvorak-mode-map "L" "N")
  98.   (define-key dvorak-mode-map ":" "S")
  99.   (define-key dvorak-mode-map "\"" "_")
  100.   (define-key dvorak-mode-map "X" "Q")
  101.   (define-key dvorak-mode-map "C" "J")
  102.   (define-key dvorak-mode-map "V" "K")
  103.   (define-key dvorak-mode-map "B" "X")
  104.   (define-key dvorak-mode-map "N" "B")
  105.   (define-key dvorak-mode-map "M" "M")
  106.   (define-key dvorak-mode-map "<" "W")
  107.   (define-key dvorak-mode-map ">" "V")
  108.   (define-key dvorak-mode-map "?" "Z")
  109.   (define-key dvorak-mode-map "-" "[")
  110.   (define-key dvorak-mode-map "=" "]")
  111.   (define-key dvorak-mode-map "_" "{")
  112.   (define-key dvorak-mode-map "+" "}")
  113.   (define-key dvorak-mode-map "Z" "\""))
  114.  
  115.  
  116.  
  117. ;-- 
  118. ;Just try taking your VAX down to Jiffy-Lube these days!
  119. ;            
  120. ;Byron "Bo knows parallel computational geometry" Rakitzis. 
  121. ;                (tbrakitz@phoenix.Princeton.EDU)
  122.