--- vt102/vt102 2014/12/01 20:01:29 1.7 +++ vt102/vt102 2014/12/01 20:04:11 1.8 @@ -588,38 +588,40 @@ # 0x080 shift, 0x100 ctrl my %KEYMAP = ( - "\t" => 0x3a, - "\r" => 0x64, - "\n" => 0x44, - - "\x00" => 0x77 | 0x100, # CTRL-SPACE - "\x1c" => 0x45 | 0x100, # CTRL-\ - "\x1d" => 0x14 | 0x100, # CTRL-] - "\x1e" => 0x24 | 0x100, # CTRL-~ - "\x1f" => 0x75 | 0x100, # CTRL-? - - # hardcoded rxvt keys - "\e" => 0x2a, # ESC - "\e[3~" => 0x03, # DC - "\e[5~" => 0x7e, # CAPS LOCK (prior) - "\e[6~" => 0x6a, # NO SCROLL (next) - "\e[A" => 0x30, # UP - "\e[B" => 0x22, # DOWN - "\e[C" => 0x10, # RIGHT - "\e[D" => 0x20, # LEFT - "\e[a" => 0x30 | 0x080, # UP - "\e[b" => 0x22 | 0x080, # DOWN - "\e[c" => 0x10 | 0x080, # RIGHT - "\e[d" => 0x20 | 0x080, # LEFT - "\e[7~" => 0x7b, # SETUP (home) - "\e[8~" => 0x23, # BREAK (end) - "\e[8\$" => 0x23 | 0x080, # SHIFT BREAK / DISCONNECT (shift-end) - "\x7f" => 0x33, # BACKSPACE - - "\e[11~" => 0x32, # F1 - "\e[11~" => 0x42, # F2 - "\e[11~" => 0x31, # F3 - "\e[11~" => 0x41, # F4 + # these get overwritten by generic control codes, but both work, so i have no priority + # tid fix these. + "\t" => 0x3a, + "\r" => 0x64, + "\n" => 0x44, + + "\x00" => 0x77 | 0x100, # CTRL-SPACE + "\x1c" => 0x45 | 0x100, # CTRL-\ + "\x1d" => 0x14 | 0x100, # CTRL-] + "\x1e" => 0x24 | 0x100, # CTRL-~ + "\x1f" => 0x75 | 0x100, # CTRL-? + + # hardcoded rxvt keys + "\e" => 0x2a, # ESC + "\e[3~" => 0x03, # DC + "\e[5~" => 0x7e, # CAPS LOCK (prior) + "\e[6~" => 0x6a, # NO SCROLL (next) + "\e[A" => 0x30, # UP + "\e[B" => 0x22, # DOWN + "\e[C" => 0x10, # RIGHT + "\e[D" => 0x20, # LEFT + "\e[a" => 0x30 | 0x080, # UP + "\e[b" => 0x22 | 0x080, # DOWN + "\e[c" => 0x10 | 0x080, # RIGHT + "\e[d" => 0x20 | 0x080, # LEFT + "\e[7~" => 0x7b, # SETUP (home) + "\e[8~" => 0x23, # BREAK (end) + "\e[8\$" => 0x23 | 0x080, # SHIFT BREAK / DISCONNECT (shift-end) + "\x7f" => 0x33, # BACKSPACE + + "\e[11~" => 0x32, # F1 + "\e[11~" => 0x42, # F2 + "\e[11~" => 0x31, # F3 + "\e[11~" => 0x41, # F4 ); @KEYMAP{map chr, 0x20..0x40} = unpack "C*", pack "H*",