release 1.08.2
[descalc.git] / DCT / Bindings.pm
diff --git a/DCT/Bindings.pm b/DCT/Bindings.pm
new file mode 100644 (file)
index 0000000..6232b09
--- /dev/null
@@ -0,0 +1,97 @@
+# key bindings for DCT, by Shiar
+
+# 1.08.1 2004-09-27 00:40 - moved from 1.8 main
+# 1.08.2 2004-09-27 00:49 - single key alias to chs: \ (often close to _)
+
+package DCT::Bindings;
+
+use strict;
+use utf8;
+
+use vars qw($VERSION @ISA @EXPORT);
+require Exporter;
+
+@ISA = qw(Exporter);
+@EXPORT = qw(%falias %alias);
+
+$VERSION = 1.008.001;
+
+our %falias = (
+       "\033"                         =>  0, # esc
+       "\033\117\120"                 =>  1, # f1
+       "\033\133\061\061\176"         =>  1, # f1
+       "\033\133\061\062\176"         =>  2, # f2
+       "\033\133\061\063\176"         =>  3, # f3
+       "\033\133\061\064\176"         =>  4, # f4
+       "\033\117\121"                 =>  2, # f2
+       "\033\117\122"                 =>  3, # f3
+       "\033\117\123"                 =>  4, # f4
+       "\033\133\061\065\176"         =>  5, # f5
+       "\033\133\061\067\176"         =>  6, # f6
+       "\033\133\061\070\176"         =>  7, # f7
+       "\033\133\061\071\176"         =>  8, # f8
+       "\033\133\062\060\176"         =>  9, # f9
+       "\033\133\062\061\176"         => 10, # f10
+       "\033\133\062\063\176"         => 11, # f11/F1
+       "\033\133\062\064\176"         => 12, # f12/F2
+       "\033\133\062\065\176"         => 13, # F3
+       "\033\133\062\066\176"         => 14, # F4
+       "\033\133\062\070\176"         => 15, # F5
+       "\033\133\062\071\176"         => 16, # F6
+       "\033\133\063\061\176"         => 17, # F7
+       "\033\133\063\062\176"         => 18, # F8
+       "\033\133\063\063\176"         => 19, # F9
+       "\033\133\063\064\176"         => 20, # F10
+       "\033\133\062\063\073\062\176" => 21, # F11
+       "\033\133\062\064\073\062\176" => 22, # F12
+); # %falias
+
+our %alias = (
+       chr 4              => 'quit',    # ^D
+       chr 9              => 'more',    # tab
+       "\014"             => 'refresh', # ^L
+#      "\033\133\110"     => 'refresh', # home
+       '_'                => 'chs',     # easy to remember, difficult to type
+       '\\'               => 'chs',     # single key
+#      'y'                => 'chs',     # redundant hp48 compatibility
+#      'z'                => 'eex',     # redundant hp48 compatibility
+       "\033\133\062\176" => 'eex',     # ins
+       "\033\133\063\176" => "clear",   # del
+       chr 127            => 'drop',    # backspace
+       chr 8              => 'drop',    # backspace
+       chr 13             => 'enter',   # enter
+       ' '                => 'enter',   # space
+       '='                => 'sto',     #
+
+       "\033\133\101"     => 'stack',   # up    - 48: k (stack)
+       "\033\133\104"     => 'undo',    # left  - 48: p (picture)
+#      "\033\133\102"     => '',        # down  - 48: q (view)
+       "\033\133\103"     => 'swap',    # right - 48: r (swap)
+
+       '&'                => 'and',
+       '|'                => 'or',
+       '#'                => 'xor',
+       '~'                => 'not',
+       '('                => 'sl',
+       ')'                => 'sr',
+
+           "s"            => "sin",
+       "\033s"            => "asin",
+           "c"            => "cos", #todo: u? o?
+       "\033c"            => "acos",
+           "t"            => "tan",
+       "\033t"            => "atan",
+           "l"            => "log",
+       "\033l"            => "alog",
+           "n"            => "ln",
+       "\033n"            => "exp",
+           "q"            => "sq",
+       "\033q"            => "sqrt",
+           "x"            => "^",
+       "\033x"            => "xroot",
+       "\033^"            => "xroot",
+           "v"            => "inv",
+); # %alias
+
+1;
+