// $Id: keyboard.js,v 1.1 2008/09/05 00:49:31 pwh Exp $

// Definition of the Keyboard object. ------------------------------------------

// 
function setKey ( keyCode, shift, ctl, alt )

{
   this.keyCode = keyCode
   this.shift = shift
   this.ctl = ctl
   this.alt = alt
}


// Ancillary Keystroke object.
function Keystroke ()

{
   this.keyCode = 0
   this.shift = false
   this.ctl = false
   this.alt = false

   // Methods.
   this.setKey = setKey
}


function keyPressed ( e )

{
   var key

   if ( window.event ) key = e.keyCode
   else key = e.which

   if ( key == 16 ) this.shift = true
   else if ( key == 17 ) this.ctl = true
   else if ( key == 18 ) this.alt = true
   else this.keystroke.setKey ( key, this.shift, this.ctl, this.alt )
}


function keyReleased ( e )

{
   var key

   if ( window.event ) key = e.keyCode
   else key = e.which

   if ( key == 16 ) this.shift = false
   else if ( key == 17 ) this.ctl = false
   else if ( key == 18 ) this.alt = false
}


function Keyboard ()

{
   this.shift = false
   this.ctl = false
   this.alt = false
   this.keystroke = new Keystroke		// Turn this into a queue.
   this.keyShifted = false
   this.ctlKey = false
   this.altKey = false

   // Methods.
   this.keyPressed = keyPressed
   this.keyReleased = keyReleased
}
