X-Git-Url: http://git.shiar.net/descalc.git/blobdiff_plain/4e1d9535fda6685e53ce570ca4e4cd6c260f55d3..090ac304afe801cb3e72ced0941ff2a874a98cc9:/termcommon.pm diff --git a/termcommon.pm b/termcommon.pm new file mode 100644 index 0000000..245535d --- /dev/null +++ b/termcommon.pm @@ -0,0 +1,106 @@ +# key bindings for DCT, by Shiar + +# - function keys moved back here +# - module not auto loaded by dct, but by specific display modules +# 1.09.3 200410142200 - enter sent as chr 10 on non-curses terminals +# 1.09.2 200410120145 - alt+backspace and ^W for (hard) drop +# 1.09.1 200410112145 - function keys moved to menu.pm +# 1.08.2 200409270049 - single key alias to chs: \ (often close to _) +# 1.08.1 200409270040 - moved from 1.8 main + +use strict; +use warnings; + +%alias = ( + chr 4 => "quit", # ^D + chr 9 => "more", # tab + "\014" => "refresh", # ^L +# "\033\133\110" => "refresh", # home + "\033\133\062\176" => "eex", # ins + "\033\133\063\176" => "clear", # del + "\177" => "back", # backspace + "\010" => "back", # backspace + "\033\010" => "drop", # alt+backspace + "\033\177" => "drop", # alt+backspace + "\027" => "drop", # ^W + chr 10 => "enter", # enter (terminal) + chr 13 => "enter", # enter (curses) + ' ' => "enter", # space + "\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) + + '=' => "sto", # + '_' => "chs", # easy to remember, difficult to type + '\\' => "chs", # single key +# 'y' => "chs", # redundant hp48 compatibility +# 'z' => "eex", # redundant hp48 compatibility + + '&' => "and", + '|' => "or", + '#' => "xor", + '~' => "not", + '(' => "sl", + ')' => "sr", + + "s" => "sin", + "\033s" => "asin", + "o" => "cos", # or u? + "\033o" => "acos", + "t" => "tan", + "\033t" => "atan", + "l" => "log", + "\033l" => "alog", + "n" => "ln", + "\033n" => "exp", + "q" => "sq", + "\033q" => "sqrt", + "x" => "^", + "\033x" => "xroot", + "\033^" => "xroot", # for consistency + "v" => "inv", +); # %alias + +%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 + "\033\061" => 1, # alt+1 + "\033\062" => 2, # alt+2 + "\033\063" => 3, # alt+3 + "\033\064" => 4, # alt+4 + "\033\065" => 5, # alt+5 + "\033\066" => 6, # alt+6 + "\033\067" => 7, # alt+7 + "\033\070" => 8, # alt+8 + "\033\071" => 9, # alt+9 + "\033\060" => 10, # alt+0 +); # %falias + +1; +