OrderedGroup { 
  children [
    DEF T1 Transform2D {
      translation -100 100
      children [
       Shape {
         appearance Appearance {
           material Material2D {
             emissiveColor 1 1 1
           }
         }
         geometry DEF T2 Text {
           string "Press a key"
           fontstyle FontStyle {
             size 20
           }
         }
      }
     ]
   }
   InputSensor { 
	url [ "10" ]
	buffer {
	 REPLACE T1.translation BY  0 0
        }
   }
   InputSensor { 
	url [ "11" ]
	buffer {
	 REPLACE T2.string[0] BY  ""
        }
   }
 ]
}
AT 0 {
UPDATE OD [
  ObjectDescriptor {
    objectDescriptorID 10
    esdescr [
      ES_Descriptor {
        es_id 2
	URLstring "mouse:"
	streamPriority 16
	decConfigDescr DecoderConfigDescriptor {
	  objectTypeIndication 255
	  streamType 9
	  upStream false
	  bufferSizeDB 10
	  maxBitrate 0
	  avgBitrate 0
	  decSpecificInfo UIConfig {
	    pixelWidth 320
	    pixelHeight 200
	    nodeIDBits 10
	    protoIDBits 10
	    deviceURL "mouse:"
	  }
	}
       slConfigDescr SLConfigDescriptor {
       }
     }
   ]
  }
  ObjectDescriptor {
    objectDescriptorID 11
    esdescr [
      ES_Descriptor {
        es_id 3
	URLstring "keyboard:"
	streamPriority 16
	decConfigDescr DecoderConfigDescriptor {
	  objectTypeIndication 255
	  streamType 9
	  upStream false
	  bufferSizeDB 10
	  maxBitrate 0
	  avgBitrate 0
	  decSpecificInfo UIConfig {
	    pixelWidth 320
	    pixelHeight 200
	    nodeIDBits 10
	    protoIDBits 10
	    deviceURL "keyboard:"
	  }
	}
       slConfigDescr SLConfigDescriptor {
       }
     }
   ]
  }
] # end UPDATE OD
}