1#! 2 3ticvttc() { 4 infocmp -L "$1" | sed -n "/^.*$2=\([^,]*\),.*/s//:$3=\1/p" 5} 6 7get_tc_list() { 8 # Fn keys 9 ticvttc "$1" key_f0 'k0' 10 ticvttc "$1" key_f1 'k1' 11 ticvttc "$1" key_f2 'k2' 12 ticvttc "$1" key_f3 'k3' 13 ticvttc "$1" key_f4 'k4' 14 ticvttc "$1" key_f5 'k5' 15 ticvttc "$1" key_f6 'k6' 16 ticvttc "$1" key_f7 'k7' 17 ticvttc "$1" key_f8 'k8' 18 ticvttc "$1" key_f9 'k9' 19 ticvttc "$1" key_f10 'k;' 20 ticvttc "$1" key_f11 'F1' 21 ticvttc "$1" key_f12 'F2' 22 ticvttc "$1" key_f13 'F3' 23 ticvttc "$1" key_f14 'F4' 24 ticvttc "$1" key_f15 'F5' 25 ticvttc "$1" key_f16 'F6' 26 ticvttc "$1" key_f17 'F7' 27 ticvttc "$1" key_f18 'F8' 28 ticvttc "$1" key_f19 'F9' 29 ticvttc "$1" key_f20 'FA' 30 ticvttc "$1" key_f21 'FB' 31 ticvttc "$1" key_f22 'FC' 32 ticvttc "$1" key_f23 'FD' 33 ticvttc "$1" key_f24 'FE' 34 ticvttc "$1" key_f25 'FF' 35 ticvttc "$1" key_f26 'FG' 36 ticvttc "$1" key_f27 'FH' 37 ticvttc "$1" key_f28 'FI' 38 ticvttc "$1" key_f29 'FJ' 39 ticvttc "$1" key_f30 'FK' 40 ticvttc "$1" key_f31 'FL' 41 ticvttc "$1" key_f32 'FM' 42 ticvttc "$1" key_f33 'FN' 43 ticvttc "$1" key_f34 'FO' 44 ticvttc "$1" key_f35 'FP' 45 ticvttc "$1" key_f36 'FQ' 46 ticvttc "$1" key_f37 'FR' 47 ticvttc "$1" key_f38 'FS' 48 ticvttc "$1" key_f39 'FT' 49 ticvttc "$1" key_f40 'FU' 50 ticvttc "$1" key_f41 'FV' 51 ticvttc "$1" key_f42 'FW' 52 ticvttc "$1" key_f43 'FX' 53 ticvttc "$1" key_f44 'FY' 54 ticvttc "$1" key_f45 'FZ' 55 ticvttc "$1" key_f46 'Fa' 56 ticvttc "$1" key_f47 'Fb' 57 ticvttc "$1" key_f48 'Fc' 58 ticvttc "$1" key_f49 'Fd' 59 ticvttc "$1" key_f50 'Fe' 60 ticvttc "$1" key_f51 'Ff' 61 ticvttc "$1" key_f52 'Fg' 62 ticvttc "$1" key_f53 'Fh' 63 ticvttc "$1" key_f54 'Fi' 64 ticvttc "$1" key_f55 'Fj' 65 ticvttc "$1" key_f56 'Fk' 66 ticvttc "$1" key_f57 'Fl' 67 ticvttc "$1" key_f58 'Fm' 68 ticvttc "$1" key_f59 'Fn' 69 ticvttc "$1" key_f60 'Fo' 70 ticvttc "$1" key_f61 'Fp' 71 ticvttc "$1" key_f62 'Fq' 72 ticvttc "$1" key_f63 'Fr' 73 74 # Shift-keys 75 ticvttc "$1" key_sbeg '&9' 76 ticvttc "$1" key_scancel '&0' 77 ticvttc "$1" key_scommand '*1' 78 ticvttc "$1" key_scopy '*2' 79 ticvttc "$1" key_screate '*3' 80 ticvttc "$1" key_sdc '*4' 81 ticvttc "$1" key_sdl '*5' 82 ticvttc "$1" key_send '*7' 83 ticvttc "$1" key_seol '*8' 84 ticvttc "$1" key_sexit '*9' 85 ticvttc "$1" key_sf 'kF' # Scroll-forward == <Shift>+<Down> 86 ticvttc "$1" key_sfind '*0' 87 ticvttc "$1" key_shelp '#1' 88 ticvttc "$1" key_shome '#2' 89 ticvttc "$1" key_sic '#3' 90 ticvttc "$1" key_sleft '#4' 91 ticvttc "$1" key_smessage '%a' 92 ticvttc "$1" key_smove '%b' 93 ticvttc "$1" key_snext '%c' 94 ticvttc "$1" key_soptions '%d' 95 ticvttc "$1" key_sprevious '%e' 96 ticvttc "$1" key_sprint '%f' 97 ticvttc "$1" key_sr 'kR' # Scroll-backward == <Shift>+<Up> 98 ticvttc "$1" key_sredo '%g' 99 ticvttc "$1" key_sreplace '%h' 100 ticvttc "$1" key_sright '%i' 101 ticvttc "$1" key_srsume '%j' 102 ticvttc "$1" key_ssave '!1' 103 ticvttc "$1" key_ssuspend '!2' 104 ticvttc "$1" key_stab 'kT' 105 ticvttc "$1" key_sundo '!3' 106 ticvttc "$1" key_btab 'kB' # BackTab == <Shift>+<Tab> 107} 108 109get_tc_list "$1" | awk '{ 110 if(!getline s1) { 111 s1 = ""; 112 } 113 if(!getline s2) { 114 s2 = ""; 115 } 116 if(!getline s3) { 117 s3 = ""; 118 } 119 if(!getline s4) { 120 s4 = ""; 121 } 122 print "\t" $0 s1 s2 s3 s4 ":\\"; 123 }' 124 125