protected KeyboardBuffer() {
		//Mouse Initialization code
		try {
			if(!Mouse.isCreated()) { //Check to see if the LWJGL mouse has been created
				Mouse.create();
			}
		} catch(LWJGLException e) {
			System.out.println("Unable to initialize the Mouse!");
		}
		
		//Keyboard Initialization code
		try {
			if(!Keyboard.isCreated()) { //Check to see if the LWJGL keyboard has been created
				Keyboard.create();
			}
		} catch(LWJGLException e) {
			System.out.println("Unable to initialize the Keyboard!");
		}
		
		//Other Initialization code
		this.bufferedIn = new BitSet();
		this.bufferedOut = new BitSet();
		this.bufferedLast = new BitSet();
		this.registeredKeys = new TreeSet<Integer>();
		this.keyMap = new TreeMap<Integer, Integer>();
	}