media @ VU
[] readme course preface I 1 2 II 3 4 III 5 6 7 IV 8 9 10 V 11 12 afterthoughts appendix references examples resources _

talk show tell print

template-rif-inputhandler.vr

template-rif-inputhandler.vr (wrl ) [ flux / bitmanagement / cortona / octaga ]


  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';
          }
      "
  }
  

[] readme course preface I 1 2 II 3 4 III 5 6 7 IV 8 9 10 V 11 12 afterthoughts appendix references examples resources _

(C) A. Eliëns 21/5/2007

You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.