DEF INPUTHANDLER Script { eventIn SFNode onEvent eventOut SFString charCode field SFInt32 max 0 field MFString normal[] field MFString shift[] url "vrmlscript: function initialize() { max = 255; normal[ 0] = 'Bogus'; normal[ 1] = 'Bogus'; normal[ 2] = 'Bogus'; normal[ 3] = 'Bogus'; normal[ 4] = 'Bogus'; normal[ 5] = 'Bogus'; normal[ 6] = 'Bogus'; normal[ 7] = 'Bogus'; normal[ 8] = '\b'; normal[ 9] = 'Bogus'; normal[ 10] = 'Bogus'; normal[ 11] = 'Bogus'; normal[ 12] = 'Bogus'; normal[ 13] = '\n'; normal[ 14] = 'Bogus'; normal[ 15] = 'Bogus'; normal[ 16] = 'Bogus'; normal[ 17] = 'Bogus'; normal[ 18] = 'Bogus'; normal[ 19] = 'Bogus'; normal[ 20] = 'Bogus'; normal[ 21] = 'Bogus'; normal[ 22] = 'Bogus'; normal[ 23] = 'Bogus'; normal[ 24] = 'Bogus'; normal[ 25] = 'Bogus'; normal[ 26] = 'Bogus'; normal[ 27] = 'Bogus'; normal[ 28] = 'Bogus'; normal[ 29] = 'Bogus'; normal[ 30] = 'Bogus'; normal[ 31] = 'Bogus'; normal[ 32] = ' '; normal[ 33] = 'Bogus'; normal[ 34] = 'Bogus'; normal[ 35] = 'Bogus'; normal[ 36] = 'Bogus'; normal[ 37] = 'Bogus'; normal[ 38] = 'Bogus'; normal[ 39] = 'Bogus'; normal[ 40] = 'Bogus'; normal[ 41] = 'Bogus'; normal[ 42] = 'Bogus'; normal[ 43] = 'Bogus'; normal[ 44] = 'Bogus'; normal[ 45] = 'Bogus'; normal[ 46] = '\d'; normal[ 47] = 'Bogus'; normal[ 48] = '0'; normal[ 49] = '1'; normal[ 50] = '2'; normal[ 51] = '3'; normal[ 52] = '4'; normal[ 53] = '5'; normal[ 54] = '6'; normal[ 55] = '7'; normal[ 56] = '8'; normal[ 57] = '9'; normal[ 58] = 'Bogus'; normal[ 59] = 'Bogus'; normal[ 60] = 'Bogus'; normal[ 61] = 'Bogus'; normal[ 62] = 'Bogus'; normal[ 63] = 'Bogus'; normal[ 64] = 'Bogus'; normal[ 65] = 'a'; normal[ 66] = 'b'; normal[ 67] = 'c'; normal[ 68] = 'd'; normal[ 69] = 'e'; normal[ 70] = 'f'; normal[ 71] = 'g'; normal[ 72] = 'h'; normal[ 73] = 'i'; normal[ 74] = 'j'; normal[ 75] = 'k'; normal[ 76] = 'l'; normal[ 77] = 'm'; normal[ 78] = 'n'; normal[ 79] = 'o'; normal[ 80] = 'p'; normal[ 81] = 'q'; normal[ 82] = 'r'; normal[ 83] = 's'; normal[ 84] = 't'; normal[ 85] = 'u'; normal[ 86] = 'v'; normal[ 87] = 'w'; normal[ 88] = 'x'; normal[ 89] = 'y'; normal[ 90] = 'z'; normal[ 91] = 'Bogus'; normal[ 92] = 'Bogus'; normal[ 93] = 'Bogus'; normal[ 94] = 'Bogus'; normal[ 95] = 'Bogus'; normal[ 96] = 'Bogus'; normal[ 97] = 'Bogus'; normal[ 98] = 'Bogus'; normal[ 99] = 'Bogus'; normal[100] = 'Bogus'; normal[101] = 'Bogus'; normal[102] = 'Bogus'; normal[103] = 'Bogus'; normal[104] = 'Bogus'; normal[105] = 'Bogus'; normal[106] = 'Bogus'; normal[107] = 'Bogus'; normal[108] = 'Bogus'; normal[109] = 'Bogus'; normal[110] = 'Bogus'; normal[111] = 'Bogus'; normal[112] = 'Bogus'; normal[113] = 'Bogus'; normal[114] = 'Bogus'; normal[115] = 'Bogus'; normal[116] = 'Bogus'; normal[117] = 'Bogus'; normal[118] = 'Bogus'; normal[119] = 'Bogus'; normal[120] = 'Bogus'; normal[121] = 'Bogus'; normal[122] = 'Bogus'; normal[123] = 'Bogus'; normal[124] = 'Bogus'; normal[125] = 'Bogus'; normal[126] = 'Bogus'; normal[127] = 'Bogus'; normal[128] = 'Bogus'; normal[129] = 'Bogus'; normal[130] = 'Bogus'; normal[131] = 'Bogus'; normal[132] = 'Bogus'; normal[133] = 'Bogus'; normal[134] = 'Bogus'; normal[135] = 'Bogus'; normal[136] = 'Bogus'; normal[137] = 'Bogus'; normal[138] = 'Bogus'; normal[139] = 'Bogus'; normal[140] = 'Bogus'; normal[140] = 'Bogus'; normal[141] = 'Bogus'; normal[142] = 'Bogus'; normal[143] = 'Bogus'; normal[144] = 'Bogus'; normal[145] = 'Bogus'; normal[146] = 'Bogus'; normal[147] = 'Bogus'; normal[148] = 'Bogus'; normal[149] = 'Bogus'; normal[150] = 'Bogus'; normal[151] = 'Bogus'; normal[152] = 'Bogus'; normal[153] = 'Bogus'; normal[154] = 'Bogus'; normal[155] = 'Bogus'; normal[156] = 'Bogus'; normal[157] = 'Bogus'; normal[158] = 'Bogus'; normal[159] = 'Bogus'; normal[160] = 'Bogus'; normal[161] = 'Bogus'; normal[162] = 'Bogus'; normal[163] = 'Bogus'; normal[164] = 'Bogus'; normal[165] = 'Bogus'; normal[166] = 'Bogus'; normal[167] = 'Bogus'; normal[168] = 'Bogus'; normal[169] = 'Bogus'; normal[170] = 'Bogus'; normal[171] = 'Bogus'; normal[172] = 'Bogus'; normal[173] = 'Bogus'; normal[174] = 'Bogus'; normal[175] = 'Bogus'; normal[176] = 'Bogus'; normal[177] = 'Bogus'; normal[178] = 'Bogus'; normal[179] = 'Bogus'; normal[180] = 'Bogus'; normal[181] = 'Bogus'; normal[182] = 'Bogus'; normal[183] = 'Bogus'; normal[184] = 'Bogus'; normal[185] = 'Bogus'; normal[186] = ';'; normal[187] = '='; normal[188] = ','; normal[189] = '-'; normal[190] = '.'; normal[191] = '/'; normal[192] = '`'; normal[193] = 'Bogus'; normal[194] = 'Bogus'; normal[195] = 'Bogus'; normal[196] = 'Bogus'; normal[197] = 'Bogus'; normal[198] = 'Bogus'; normal[199] = 'Bogus'; normal[200] = 'Bogus'; normal[201] = 'Bogus'; normal[202] = 'Bogus'; normal[203] = 'Bogus'; normal[204] = 'Bogus'; normal[205] = 'Bogus'; normal[206] = 'Bogus'; normal[207] = 'Bogus'; normal[208] = 'Bogus'; normal[209] = 'Bogus'; normal[210] = 'Bogus'; normal[211] = 'Bogus'; normal[212] = 'Bogus'; normal[213] = 'Bogus'; normal[214] = 'Bogus'; normal[215] = 'Bogus'; normal[216] = 'Bogus'; normal[217] = 'Bogus'; normal[218] = 'Bogus'; normal[219] = '['; normal[220] = ' '; normal[221] = ']'; normal[222] = '`'; // actually a ' but how to express that ? normal[223] = 'Bogus'; normal[224] = 'Bogus'; normal[225] = 'Bogus'; normal[226] = 'Bogus'; normal[227] = 'Bogus'; normal[228] = 'Bogus'; normal[229] = 'Bogus'; normal[230] = 'Bogus'; normal[231] = 'Bogus'; normal[232] = 'Bogus'; normal[233] = 'Bogus'; normal[234] = 'Bogus'; normal[235] = 'Bogus'; normal[236] = 'Bogus'; normal[237] = 'Bogus'; normal[238] = 'Bogus'; normal[239] = 'Bogus'; normal[240] = 'Bogus'; normal[241] = 'Bogus'; normal[242] = 'Bogus'; normal[243] = 'Bogus'; normal[244] = 'Bogus'; normal[245] = 'Bogus'; normal[246] = 'Bogus'; normal[247] = 'Bogus'; normal[248] = 'Bogus'; normal[249] = 'Bogus'; normal[250] = 'Bogus'; normal[251] = 'Bogus'; normal[252] = 'Bogus'; normal[253] = 'Bogus'; normal[254] = 'Bogus'; normal[255] = 'Bogus'; shift [ 0] = 'Bogus'; shift [ 1] = 'Bogus'; shift [ 2] = 'Bogus'; shift [ 3] = 'Bogus'; shift [ 4] = 'Bogus'; shift [ 5] = 'Bogus'; shift [ 6] = 'Bogus'; shift [ 7] = 'Bogus'; shift [ 8] = '\b'; shift [ 9] = 'Bogus'; shift [ 10] = 'Bogus'; shift [ 11] = 'Bogus'; shift [ 12] = 'Bogus'; shift [ 13] = '\n'; shift [ 14] = 'Bogus'; shift [ 15] = 'Bogus'; shift [ 16] = 'Bogus'; shift [ 17] = 'Bogus'; shift [ 18] = 'Bogus'; shift [ 19] = 'Bogus'; shift [ 20] = 'Bogus'; shift [ 21] = 'Bogus'; shift [ 22] = 'Bogus'; shift [ 23] = 'Bogus'; shift [ 24] = 'Bogus'; shift [ 25] = 'Bogus'; shift [ 26] = 'Bogus'; shift [ 27] = 'Bogus'; shift [ 28] = 'Bogus'; shift [ 29] = 'Bogus'; shift [ 30] = 'Bogus'; shift [ 31] = 'Bogus'; shift [ 32] = ' '; shift [ 33] = 'Bogus'; shift [ 34] = 'Bogus'; shift [ 35] = 'Bogus'; shift [ 36] = 'Bogus'; shift [ 37] = 'Bogus'; shift [ 38] = 'Bogus'; shift [ 39] = 'Bogus'; shift [ 40] = 'Bogus'; shift [ 41] = 'Bogus'; shift [ 42] = 'Bogus'; shift [ 43] = 'Bogus'; shift [ 44] = 'Bogus'; shift [ 45] = 'Bogus'; shift [ 46] = '\d'; shift [ 47] = 'Bogus'; shift [ 48] = ')'; shift [ 49] = '!'; shift [ 50] = '@'; shift [ 51] = '#'; shift [ 52] = '$'; shift [ 53] = '%'; shift [ 54] = '^'; shift [ 55] = '&'; shift [ 56] = '*'; shift [ 57] = '('; shift [ 58] = 'Bogus'; shift [ 59] = 'Bogus'; shift [ 60] = 'Bogus'; shift [ 61] = 'Bogus'; shift [ 62] = 'Bogus'; shift [ 63] = 'Bogus'; shift [ 64] = 'Bogus'; shift [ 65] = 'A'; shift [ 66] = 'B'; shift [ 67] = 'C'; shift [ 68] = 'D'; shift [ 69] = 'E'; shift [ 70] = 'F'; shift [ 71] = 'G'; shift [ 72] = 'H'; shift [ 73] = 'I'; shift [ 74] = 'J'; shift [ 75] = 'K'; shift [ 76] = 'L'; shift [ 77] = 'M'; shift [ 78] = 'N'; shift [ 79] = 'O'; shift [ 80] = 'P'; shift [ 81] = 'Q'; shift [ 82] = 'R'; shift [ 83] = 'S'; shift [ 84] = 'T'; shift [ 85] = 'U'; shift [ 86] = 'V'; shift [ 87] = 'W'; shift [ 88] = 'X'; shift [ 89] = 'Y'; shift [ 90] = 'Z'; shift [ 91] = 'Bogus'; shift [ 92] = 'Bogus'; shift [ 93] = 'Bogus'; shift [ 94] = 'Bogus'; shift [ 95] = 'Bogus'; shift [ 96] = 'Bogus'; shift [ 97] = 'Bogus'; shift [ 98] = 'Bogus'; shift [ 99] = 'Bogus'; shift [100] = 'Bogus'; shift [101] = 'Bogus'; shift [102] = 'Bogus'; shift [103] = 'Bogus'; shift [104] = 'Bogus'; shift [105] = 'Bogus'; shift [106] = 'Bogus'; shift [107] = 'Bogus'; shift [108] = 'Bogus'; shift [109] = 'Bogus'; shift [110] = 'Bogus'; shift [111] = 'Bogus'; shift [112] = 'Bogus'; shift [113] = 'Bogus'; shift [114] = 'Bogus'; shift [115] = 'Bogus'; shift [116] = 'Bogus'; shift [117] = 'Bogus'; shift [118] = 'Bogus'; shift [119] = 'Bogus'; shift [120] = 'Bogus'; shift [121] = 'Bogus'; shift [122] = 'Bogus'; shift [123] = 'Bogus'; shift [124] = 'Bogus'; shift [125] = 'Bogus'; shift [126] = 'Bogus'; shift [127] = 'Bogus'; shift [128] = 'Bogus'; shift [129] = 'Bogus'; shift [130] = 'Bogus'; shift [131] = 'Bogus'; shift [132] = 'Bogus'; shift [133] = 'Bogus'; shift [134] = 'Bogus'; shift [135] = 'Bogus'; shift [136] = 'Bogus'; shift [137] = 'Bogus'; shift [138] = 'Bogus'; shift [139] = 'Bogus'; shift [140] = 'Bogus'; shift [141] = 'Bogus'; shift [142] = 'Bogus'; shift [143] = 'Bogus'; shift [144] = 'Bogus'; shift [145] = 'Bogus'; shift [146] = 'Bogus'; shift [147] = 'Bogus'; shift [148] = 'Bogus'; shift [149] = 'Bogus'; shift [150] = 'Bogus'; shift [151] = 'Bogus'; shift [152] = 'Bogus'; shift [153] = 'Bogus'; shift [154] = 'Bogus'; shift [155] = 'Bogus'; shift [156] = 'Bogus'; shift [157] = 'Bogus'; shift [158] = 'Bogus'; shift [159] = 'Bogus'; shift [160] = 'Bogus'; shift [161] = 'Bogus'; shift [162] = 'Bogus'; shift [163] = 'Bogus'; shift [164] = 'Bogus'; shift [165] = 'Bogus'; shift [166] = 'Bogus'; shift [167] = 'Bogus'; shift [168] = 'Bogus'; shift [169] = 'Bogus'; shift [170] = 'Bogus'; shift [171] = 'Bogus'; shift [172] = 'Bogus'; shift [173] = 'Bogus'; shift [174] = 'Bogus'; shift [175] = 'Bogus'; shift [176] = 'Bogus'; shift [177] = 'Bogus'; shift [178] = 'Bogus'; shift [179] = 'Bogus'; shift [180] = 'Bogus'; shift [181] = 'Bogus'; shift [182] = 'Bogus'; shift [183] = 'Bogus'; shift [184] = 'Bogus'; shift [185] = 'Bogus'; shift [186] = ':'; shift [187] = '+'; shift [188] = '<'; shift [189] = '_'; shift [190] = '>'; shift [191] = '?'; shift [192] = '~'; shift [193] = 'Bogus'; shift [194] = 'Bogus'; shift [195] = 'Bogus'; shift [196] = 'Bogus'; shift [197] = 'Bogus'; shift [198] = 'Bogus'; shift [199] = 'Bogus'; shift [200] = 'Bogus'; shift [201] = 'Bogus'; shift [202] = 'Bogus'; shift [203] = 'Bogus'; shift [204] = 'Bogus'; shift [205] = 'Bogus'; shift [206] = 'Bogus'; shift [207] = 'Bogus'; shift [208] = 'Bogus'; shift [209] = 'Bogus'; shift [210] = 'Bogus'; shift [211] = 'Bogus'; shift [212] = 'Bogus'; shift [213] = 'Bogus'; shift [214] = 'Bogus'; shift [215] = 'Bogus'; shift [216] = 'Bogus'; shift [217] = 'Bogus'; shift [218] = 'Bogus'; shift [219] = '{'; shift [220] = '|'; shift [221] = '}'; shift [222] = '``'; // double quote -> how to express in a string ? shift [223] = 'Bogus'; shift [224] = 'Bogus'; shift [225] = 'Bogus'; shift [226] = 'Bogus'; shift [227] = 'Bogus'; shift [228] = 'Bogus'; shift [229] = 'Bogus'; shift [230] = 'Bogus'; shift [231] = 'Bogus'; shift [232] = 'Bogus'; shift [233] = 'Bogus'; shift [234] = 'Bogus'; shift [235] = 'Bogus'; shift [236] = 'Bogus'; shift [237] = 'Bogus'; shift [238] = 'Bogus'; shift [239] = 'Bogus'; shift [240] = 'Bogus'; shift [241] = 'Bogus'; shift [242] = 'Bogus'; shift [243] = 'Bogus'; shift [244] = 'Bogus'; shift [245] = 'Bogus'; shift [246] = 'Bogus'; shift [247] = 'Bogus'; shift [248] = 'Bogus'; shift [249] = 'Bogus'; shift [250] = 'Bogus'; shift [251] = 'Bogus'; shift [252] = 'Bogus'; shift [253] = 'Bogus'; shift [254] = 'Bogus'; shift [255] = 'Bogus'; } function onEvent(e,t) { if (e.type == 'keydown') { trans = translate(e); if(trans == 'Bogus') { // Browser.print('HMMmmpf :: Event type='+e.type+ // ' keyCode='+e.keyCode+ // ' charCode='+trans); return; } e.returnValue = false; charCode = trans; } else { Browser.print('Unknown event : '+e.type); } } function translate(e) { if(e.keyCode<=max) { if(e.shiftKey) { return shift [e.keyCode]; } else if(! (e.ctrlKey || e.altKey)){ return normal[e.keyCode]; } } return 'Bogus'; } " } ##