public static IValue toRascalKey(KeyEvent e,IEvaluatorContext ctx){
IValueFactory vf = ValueFactoryFactory.getValueFactory();
if(e.keyCode >= ' ' && e.keyCode < '~'){
String keySym = "" + (char)e.keyCode;
return vf.constructor(KeySym_keyPrintable, vf.string(keySym));
} else {
Type cons = unPrintableKeyName(e);
if(cons == KeySym_keyUnknown){
return vf.constructor(KeySym_keyUnknown,vf.integer(e.keyCode));
} else {