Variable: calculator-mode-map

calculator-mode-map is a variable defined in calculator.el.gz.

Value

Large value
"              calculator-rotate-displayer-back
"              calculator-rotate-displayer-back
'              calculator-rotate-displayer
'              calculator-rotate-displayer
+              calculator-op-or-exp
+              calculator-op-or-exp
-              calculator-op-or-exp
-              calculator-op-or-exp
.              calculator-decimal
.              calculator-decimal
0              calculator-digit
0              calculator-digit
1              calculator-digit
1              calculator-digit
2              calculator-digit
2              calculator-digit
3              calculator-digit
3              calculator-digit
4              calculator-digit
4              calculator-digit
5              calculator-digit
5              calculator-digit
6              calculator-digit
6              calculator-digit
7              calculator-digit
7              calculator-digit
8              calculator-digit
8              calculator-digit
9              calculator-digit
9              calculator-digit
<backspace>    calculator-backspace
<backspace>    calculator-backspace
<copy>         calculator-copy
<copy>         calculator-copy
<delete>       calculator-clear
<delete>       calculator-clear
<down>         calculator-saved-down
<down>         calculator-saved-down
<enter>        calculator-enter
<enter>        calculator-enter
<f1>           calculator-help
<f1>           calculator-help
<help>         calculator-help
<help>         calculator-help
<insert>       calculator-paste
<insert>       calculator-paste
<kp-0>         calculator-digit
<kp-0>         calculator-digit
<kp-1>         calculator-digit
<kp-1>         calculator-digit
<kp-2>         calculator-digit
<kp-2>         calculator-digit
<kp-3>         calculator-digit
<kp-3>         calculator-digit
<kp-4>         calculator-digit
<kp-4>         calculator-digit
<kp-5>         calculator-digit
<kp-5>         calculator-digit
<kp-6>         calculator-digit
<kp-6>         calculator-digit
<kp-7>         calculator-digit
<kp-7>         calculator-digit
<kp-8>         calculator-digit
<kp-8>         calculator-digit
<kp-9>         calculator-digit
<kp-9>         calculator-digit
<kp-add>       calculator-op-or-exp
<kp-add>       calculator-op-or-exp
<kp-decimal>   calculator-decimal
<kp-decimal>   calculator-decimal
<kp-divide>    calculator-op
<kp-divide>    calculator-op
<kp-enter>     calculator-enter
<kp-enter>     calculator-enter
<kp-multiply>  calculator-op
<kp-multiply>  calculator-op
<kp-subtract>  calculator-op-or-exp
<kp-subtract>  calculator-op-or-exp
<linefeed>     calculator-enter
<linefeed>     calculator-enter
<mouse-2>      calculator-paste
<mouse-2>      calculator-paste
<paste>        calculator-paste
<paste>        calculator-paste
<return>       calculator-enter
<return>       calculator-enter
<space>        calculator-save-on-list
<space>        calculator-save-on-list
<up>           calculator-saved-up
<up>           calculator-saved-up
?              calculator-help
?              calculator-help
A              calculator-digit
B              calculator-radix-mode
B              calculator-radix-mode
C              calculator-digit
C-<delete>     calculator-clear-saved
C-<delete>     calculator-clear-saved
C-<insert>     calculator-copy
C-<insert>     calculator-copy
C-<kp-enter>   calculator-save-and-quit
C-<kp-enter>   calculator-save-and-quit
C-<return>     calculator-save-and-quit
C-<return>     calculator-save-and-quit
C-c            calculator-clear-saved
C-c            calculator-clear-saved
C-d            calculator-clear
C-d            calculator-clear
C-g            calculator-quit
C-g            calculator-quit
C-h            calculator-backspace
C-h            calculator-backspace
C-j            calculator-enter
C-j            calculator-enter
C-n            calculator-saved-down
C-n            calculator-saved-down
C-p            calculator-saved-up
C-p            calculator-saved-up
C-y            calculator-paste
C-y            calculator-paste
D              calculator-dec/deg-mode
D              calculator-dec/deg-mode
DEL            calculator-clear
DEL            calculator-clear
E              calculator-exp
ESC ESC ESC    calculator-quit
ESC ESC ESC    calculator-quit
F              calculator-digit
G              calculator-get-register
H              calculator-help
H              calculator-radix-mode
I B            calculator-radix-input-mode
I D            calculator-radix-input-mode
I H            calculator-radix-input-mode
I O            calculator-radix-input-mode
I X            calculator-radix-input-mode
I b            calculator-radix-input-mode
I d            calculator-radix-input-mode
I h            calculator-radix-input-mode
I o            calculator-radix-input-mode
I x            calculator-radix-input-mode
O              calculator-radix-mode
O B            calculator-radix-output-mode
O D            calculator-radix-output-mode
O H            calculator-radix-output-mode
O O            calculator-radix-output-mode
O X            calculator-radix-output-mode
O b            calculator-radix-output-mode
O d            calculator-radix-output-mode
O h            calculator-radix-output-mode
O o            calculator-radix-output-mode
O x            calculator-radix-output-mode
Q              calculator-quit
RET            calculator-enter
RET            calculator-enter
S              calculator-set-register
S-<insert>     calculator-paste
S-<insert>     calculator-paste
SPC            calculator-save-on-list
SPC            calculator-save-on-list
SPC..~         undefined
SPC..~         undefined
X              calculator-radix-mode
X              calculator-radix-mode
[              calculator-open-paren
[              calculator-open-paren
]              calculator-close-paren
]              calculator-close-paren
a              calculator-digit
a              calculator-digit
b              calculator-digit
b              calculator-radix-mode
c              calculator-digit
c              calculator-digit
d              calculator-dec/deg-mode
d              calculator-digit
e              calculator-exp
e              calculator-exp
f              calculator-digit
f              calculator-digit
g              calculator-get-register
g              calculator-get-register
h              calculator-help
h              calculator-help
i B            calculator-radix-input-mode
i B            calculator-radix-input-mode
i D            calculator-radix-input-mode
i D            calculator-radix-input-mode
i H            calculator-radix-input-mode
i H            calculator-radix-input-mode
i O            calculator-radix-input-mode
i O            calculator-radix-input-mode
i X            calculator-radix-input-mode
i X            calculator-radix-input-mode
i b            calculator-radix-input-mode
i d            calculator-radix-input-mode
i h            calculator-radix-input-mode
i o            calculator-radix-input-mode
i x            calculator-radix-input-mode
o B            calculator-radix-output-mode
o B            calculator-radix-output-mode
o D            calculator-radix-output-mode
o D            calculator-radix-output-mode
o H            calculator-radix-output-mode
o H            calculator-radix-output-mode
o O            calculator-radix-output-mode
o O            calculator-radix-output-mode
o X            calculator-radix-output-mode
o X            calculator-radix-output-mode
o b            calculator-radix-output-mode
o d            calculator-radix-output-mode
o h            calculator-radix-output-mode
o o            calculator-radix-output-mode
o x            calculator-radix-output-mode
q              calculator-quit
q              calculator-quit
s              calculator-set-register
s              calculator-set-register
x              calculator-radix-mode
{              calculator-displayer-prev
{              calculator-displayer-prev
}              calculator-displayer-next
}              calculator-displayer-next

Documentation

The calculator key map.

Source Code

;; Defined in /usr/src/emacs/lisp/calculator.el.gz
(defvar calculator-mode-map
  (let ((map (make-sparse-keymap)))
    (suppress-keymap map t)
    (dolist (x '((calculator-digit
                  "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "a" "b" "c"
                  "d" "f" "<kp-0>" "<kp-1>" "<kp-2>" "<kp-3>" "<kp-4>"
                  "<kp-5>" "<kp-6>" "<kp-7>" "<kp-8>" "<kp-9>")
                 (calculator-open-paren  "[")
                 (calculator-close-paren "]")
                 (calculator-op-or-exp   "+" "-"
                                         "<kp-add>" "<kp-subtract>")
                 (calculator-op          "<kp-divide>" "<kp-multiply>")
                 (calculator-decimal     "." "<kp-decimal>")
                 (calculator-exp         "e")
                 (calculator-dec/deg-mode "D")
                 (calculator-set-register "s")
                 (calculator-get-register "g")
                 (calculator-radix-mode        "H" "X" "O" "B")
                 (calculator-radix-input-mode  "iD" "iH" "iX" "iO" "iB")
                 (calculator-radix-output-mode "oD" "oH" "oX" "oO" "oB")
                 (calculator-rotate-displayer      "'")
                 (calculator-rotate-displayer-back "\"")
                 (calculator-displayer-prev        "{")
                 (calculator-displayer-next        "}")
                 (calculator-saved-up     "<up>" "C-p")
                 (calculator-saved-down   "<down>" "C-n")
                 (calculator-quit         "q" "C-g")
                 (calculator-enter        "<enter>" "<linefeed>"
                                          "<kp-enter>" "<return>"
                                          "RET" "LFD")
                 (calculator-save-on-list "SPC" "<space>")
                 (calculator-clear-saved  "C-c" "<C-delete>")
                 (calculator-save-and-quit "<C-return>" "<C-kp-enter>")
                 (calculator-paste        "<insert>" "<S-insert>"
                                          "<paste>" "<mouse-2>" "C-y")
                 (calculator-clear        "<delete>" "DEL" "C-d")
                 (calculator-help         "h" "?" "<f1>" "<help>")
                 (calculator-copy         "<C-insert>" "<copy>")
                 (calculator-backspace    "<backspace>")
                 ))
      ;; reverse the keys so earlier definitions come last -- makes the
      ;; more sensible bindings visible in the menu
      (dolist (k (reverse (cdr x)))
        (calculator-define-key k (car x) map)))
    (if calculator-bind-escape
      (progn (calculator-define-key "ESC" 'calculator-quit map)
             (calculator-define-key "<escape>" 'calculator-quit map))
      (calculator-define-key "ESC ESC ESC" 'calculator-quit map))
    ;; make C-h work in text-mode
    (unless window-system
      (calculator-define-key "C-h" 'calculator-backspace map))
    ;; set up a menu
    (when (and calculator-use-menu (not (boundp 'calculator-menu)))
      (let ((radix-selectors
             (mapcar (lambda (x)
                       `([,(nth 0 x)
                          (calculator-radix-mode ,(nth 2 x))
                          :style radio
                          :keys ,(nth 2 x)
                          :selected
                          (and
                           (eq calculator-input-radix ',(nth 1 x))
                           (eq calculator-output-radix ',(nth 1 x)))]
                         [,(concat (nth 0 x) " Input")
                          (calculator-radix-input-mode ,(nth 2 x))
                          :keys ,(concat "i" (downcase (nth 2 x)))
                          :style radio
                          :selected
                          (eq calculator-input-radix ',(nth 1 x))]
                         [,(concat (nth 0 x) " Output")
                          (calculator-radix-output-mode ,(nth 2 x))
                          :keys ,(concat "o" (downcase (nth 2 x)))
                          :style radio
                          :selected
                          (eq calculator-output-radix ',(nth 1 x))]))
                     '(("Decimal"     nil "D")
                       ("Binary"      bin "B")
                       ("Octal"       oct "O")
                       ("Hexadecimal" hex "H"))))
            (op (lambda (name key)
                  `[,name (calculator-op ,key) :keys ,key])))
        (easy-menu-define
          calculator-menu map "Calculator menu."
          `("Calculator"
            ["Help"
             (let ((last-command 'calculator-help)) (calculator-help))
             :keys "?"]
            "---"
            ["Copy"  calculator-copy]
            ["Paste" calculator-paste]
            "---"
            ["Electric mode"
             (progn (calculator-quit)
                    (setq calculator-restart-other-mode t)
                    (run-with-timer 0.1 nil (lambda () (message nil)))
                    ;; the message from the menu will be visible,
                    ;; couldn't make it go away...
                    (calculator))
             :active (not calculator-electric-mode)]
            ["Normal mode"
             (progn (setq calculator-restart-other-mode t)
                    (calculator-quit))
             :active calculator-electric-mode]
            "---"
            ("Functions"
             ,(funcall op "Repeat-right" ">")
             ,(funcall op "Repeat-left"  "<")
             "------General------"
             ,(funcall op "Reciprocal"   ";")
             ,(funcall op "Log"          "L")
             ,(funcall op "Square-root"  "Q")
             ,(funcall op "Factorial"    "!")
             "------Trigonometric------"
             ,(funcall op "Sinus"        "S")
             ,(funcall op "Cosine"       "C")
             ,(funcall op "Tangent"      "T")
             ,(funcall op "Inv-Sinus"    "IS")
             ,(funcall op "Inv-Cosine"   "IC")
             ,(funcall op "Inv-Tangent"  "IT")
             "------Bitwise------"
             ,(funcall op "Or"           "|")
             ,(funcall op "Xor"          "#")
             ,(funcall op "And"          "&")
             ,(funcall op "Not"          "~"))
            ("Saved List"
             ["Eval+Save"      calculator-save-on-list]
             ["Prev number"    calculator-saved-up]
             ["Next number"    calculator-saved-down]
             ["Delete current" calculator-clear
              :active (and calculator-display-fragile
                           calculator-saved-list
                           (= (car calculator-stack)
                              (nth calculator-saved-ptr
                                   calculator-saved-list)))]
             ["Delete all" calculator-clear-saved]
             "---"
             ,(funcall op "List-total"   "l")
             ,(funcall op "List-average" "v"))
            ("Registers"
             ["Get register" calculator-get-register]
             ["Set register" calculator-set-register])
            ("Modes"
             ["Radians"
              (progn
                (when (or calculator-input-radix calculator-output-radix)
                  (calculator-radix-mode "D"))
                (when calculator-deg (calculator-dec/deg-mode)))
              :keys "D"
              :style radio
              :selected (not (or calculator-input-radix
                                 calculator-output-radix
                                 calculator-deg))]
             ["Degrees"
              (progn
                (when (or calculator-input-radix calculator-output-radix)
                  (calculator-radix-mode "D"))
                (unless calculator-deg (calculator-dec/deg-mode)))
              :keys "D"
              :style radio
              :selected (and calculator-deg
                             (not (or calculator-input-radix
                                      calculator-output-radix)))]
             "---"
             ,@(mapcar 'car radix-selectors)
             ("Separate I/O"
              ,@(mapcar (lambda (x) (nth 1 x)) radix-selectors)
              "---"
              ,@(mapcar (lambda (x) (nth 2 x)) radix-selectors)))
            ("Decimal Display"
             ,@(mapcar (lambda (d)
                         (vector (cadr d)
                                 ;; Note: inserts actual object here
                                 `(calculator-rotate-displayer ',d)))
                       calculator-displayers)
             "---"
             ["Change Prev Display" calculator-displayer-prev]
             ["Change Next Display" calculator-displayer-next])
            "---"
            ["Copy+Quit" calculator-save-and-quit]
            ["Quit"      calculator-quit]))))
    map)
  "The calculator key map.")