From 32a6cc3086f1c4ff99aadd88c976fe854a3fd826 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Sun, 4 Mar 2018 21:49:14 +0100 Subject: [PATCH] keys: graphical representation of linux control keys Represent some control combinations by recognisable symbols for function keys equivalent in most terminal environments as they are commonly used. May help people discover easier access. Enter, tab, and escape should match for all current applications (except vimperator for an insignificant alias). Delete and backspace represent VT100/xterm and ASCII characters, but are different in VT220-based emulators . In such cases ^h is distinct from backspace, but likely still works the same for current occurrences where this is the intended behaviour. In cases this does not work, the original bindings can still be easily ascertained from surrounding keys, so should not pose much of a problem. --- Shiar_Sheet/Keyboard.pm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Shiar_Sheet/Keyboard.pm b/Shiar_Sheet/Keyboard.pm index 846a2a2..98c5a40 100644 --- a/Shiar_Sheet/Keyboard.pm +++ b/Shiar_Sheet/Keyboard.pm @@ -14,12 +14,12 @@ my %keyrows = do 'keys.inc.pl'; # add first two cases of each row again with each char prepended by + (alt) push @$_, map { [map {"+$_"} @$_] } @$_[0,1] for map {@$_} values %keyrows; -my %keytrans = qw( - ^@ NUL ^a SOH ^b STX ^c ETX ^d EOT ^e ENQ ^f ACK ^g BEL - ^h BS ^i tab ^j LF ^k VT ^l FF ^m CR ^n SO ^o SI - ^p DLE ^q DC1 ^r DC2 ^s DC3 ^t DC4 ^u NAK ^v SYN ^w ETB - ^x CAN ^y EM ^z SUB ^[ ESC ^\ FS ^] GS ^^ RS ^_ US - ^? DEL +my %keytrans = ( + '^h' => "\x{232B}", # BS + '^i' => "\x{21E5}", # TAB + '^m' => "\x{21B5}", # CR + '^?' => "\x{2326}", # DEL + '^[' => "\x{238B}", # ESC ); sub new { @@ -95,7 +95,7 @@ sub print_letter { return if $key eq '^0'; return 'Esc' if $key eq "\e"; -# return $keytrans{$key} if defined $keytrans{$key}; + return $keytrans{$key} if defined $keytrans{$key}; my $html = $self->{def}{$mode}{lead} . escapehtml($key); $html =~ s{\^(?=.)}{^}; # element around ctrl-identifier $html =~ s{\+(?=.)}{+}; # meta -- 2.30.0