title: Re-firing a consumed event in JavaFX
body: <p>I am developing a system that allows the user to scan barcodes. The barcode scanner effectively behaves like a keyboard, "typing" each digit of the barcode at super-human speeds. For the sake of this example, let's say that most amount of time between successive "key strokes" is 10 milliseconds.</p>
  
  <p>I began by implementing an <code>EventHandler</code> that listens for numeric <code>KeyEvent</code>s on the application's <code>Window</code>. When a <code>KeyEvent</code> arrives, the handler does not yet know if it was entered by a human or by a barcode scanner (it <em>will</em> know 10 milliseconds from now). Unfortunately, I must make a decision <strong>now</strong> or risk locking up JavaFX's main thread, so I automatically call <code>keyEvent.consume()</code> to prevent it from being handled.</p>
  
  <p>After 10 milliseconds have elapsed, a timer wakes up and decides whether or not the <code>KeyEvent</code> was part of a barcode. If it was, the <code>KeyEvent</code>s are concatenated together and handled by the barcode processing logic. Otherwise, I want to let the application handle the <code>KeyEvent</code> normally.</p>
  
  <p>How can I force the application to handle a <code>KeyEvent</code> after I have already called <code>keyEvent.consume()</code> on it?</p>