SELECT key
FROM
$ae => NULL--ignore alt char set--;
$al => AddInstruction[cp, LIST[Str[]], [Line, $ins]];
$am => det.autoMargins ¬ TRUE;
$as => NULL--ignore alt char set--;
$bc => AddInstruction[cp, LIST[Str[]], [MC, $left]];
$bl => AddInstruction[cp, LIST[Str[]], flash];
$bs => AddInstruction[cp, LIST["\010"], [MC, $left]];
$cd => AddInstruction[cp, LIST[Str[]], [ClrTo, $eos]];
$ce => AddInstruction[cp, LIST[Str[]], [ClrTo, $eol]];
$ch => AddInstruction[cp, CMProg[Str[], FALSE, TRUE], [CM, $h]];
$cl => AddInstruction[cp, LIST[Str[]], clearScreen];
$cm => AddInstruction[cp, CMProg[Str[], TRUE, TRUE], [CM, $hv]];
$co => det.columns ¬ Int[];
$cr => AddInstruction[cp, LIST[Str[]], cr];
$cv => AddInstruction[cp, CMProg[Str[], TRUE, FALSE], [CM, $v]];
$dB, $dC, $dF, $dN, $dT => NULL--ignore delay specs--;
$dc => AddInstruction[cp, LIST[Str[]], deleteChar];
$dl => AddInstruction[cp, LIST[Str[]], [Line, $del]];
$dm => NULL--try ignoring delete mode shifts--;
$do => AddInstruction[cp, LIST[Str[]], [MC, $down]];
$ed => NULL--try ignoring delete mode shifts--;
$ei => AddInstruction[cp, LIST[Str[]], [SM, $insCharOff]];
$eo => NULL --always true--;
$ho => AddInstruction[cp, LIST[Str[]], home];
$hz => NULL --why not?--;
$ic => AddInstruction[cp, LIST[Str[]], insertSpace];
$if => NULL;
$im => AddInstruction[cp, LIST[Str[]], [SM, $insCharOn]];
$is => NULL;
$ff => AddInstruction[cp, LIST[Str[]], clearScreen];
$kl, $kr, $ku, $kd, $kh => NULL-- no keypad here--;
$kb, $kh, $kn => NULL;
$k0, $k1, $k2, $k3, $k4, $k5, $k6, $k7, $k8, $k9 => NULL--no fn keys--;
$l0, $l1, $l2, $l3, $l4, $l5, $l6, $l7, $l8, $l9 => NULL--no fn keys--;
$ko => NULL--who cares?--;
$le => AddInstruction[cp, LIST[Str[]], [MC, $left]];
$li => det.lines ¬ Int[];
$ma => NULL--ignore arrow map--;
$mi => NULL;
$ms => NULL--always true--;
$MT => NULL;
$nd => AddInstruction[cp, LIST[Str[]], [MC, $right]];
$nl => AddInstruction[cp, LIST[Str[]], [MC, $down]];
$pc => AddInstruction[cp, LIST[Str[]], null];
$pt => NULL;
$se => AddInstruction[cp, LIST[Str[]], [SM, $standoutOff]];
$so => AddInstruction[cp, LIST[Str[]], [SM, $standoutOn]];
$sr => AddInstruction[cp, LIST[Str[]], scrollBack];
$ta => tabStr ¬ Str[];
$uc => AddInstruction[cp, LIST[Str[]], uc];
$ue => AddInstruction[cp, LIST[Str[]], [SM, $underlineOff]];
$up => AddInstruction[cp, LIST[Str[]], [MC, $up]];
$us => AddInstruction[cp, LIST[Str[]], [SM, $underlineOn]];
$vb => AddInstruction[cp, LIST[Str[]], flash];
$xs => NULL;
$xt => tabDat ¬ $blanken;
ENDCASE =>
IF allowPartial
THEN unGrokked ¬ CONS[key, unGrokked]
ELSE Cant[IO.PutFR["Can't do feature: %g", IO.rope[cap.name]]];