37 lines
		
	
	
		
			849 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			849 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
//Capture Key Strokes 
 | 
						|
function keyboard(keyCode) {
 | 
						|
  var key = {};
 | 
						|
  key.code = keyCode;
 | 
						|
  key.isDown = false;
 | 
						|
  key.isUp = true;
 | 
						|
  key.press = undefined;
 | 
						|
  key.release = undefined;
 | 
						|
  //The `downHandler`
 | 
						|
  key.downHandler = function(event) {
 | 
						|
    if (event.keyCode === key.code) {
 | 
						|
      if (key.isUp && key.press) key.press();
 | 
						|
      key.isDown = true;
 | 
						|
      key.isUp = false;
 | 
						|
    }
 | 
						|
    event.preventDefault();
 | 
						|
  };
 | 
						|
 | 
						|
  //The `upHandler`
 | 
						|
  key.upHandler = function(event) {
 | 
						|
    if (event.keyCode === key.code) {
 | 
						|
      if (key.isDown && key.release) key.release();
 | 
						|
      key.isDown = false;
 | 
						|
      key.isUp = true;
 | 
						|
    }
 | 
						|
    event.preventDefault();
 | 
						|
  };
 | 
						|
 | 
						|
  //Attach event listeners
 | 
						|
  window.addEventListener(
 | 
						|
    "keydown", key.downHandler.bind(key), false
 | 
						|
  );
 | 
						|
  window.addEventListener(
 | 
						|
    "keyup", key.upHandler.bind(key), false
 | 
						|
  );
 | 
						|
  return key;
 | 
						|
} |