Keyboard.java
Posted in Text, on August 31, 2010 at 08:04
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class Keyboard implements KeyListener
{
    enum Keys
    {
        PRESSEDONCE,
        PRESSED,
        RELEASED;
    }
    private boolean[] currentKeys;
    private Keys[] keys;

    public Keyboard()
    {
        currentKeys = new boolean[256];
        keys = new Keys[256];
        for(int i=0;i<256;i++)
        {
            currentKeys[i]=false;
            keys[i]=Keys.RELEASED;
        }
    }

    public boolean iskeyPressed(int keyCode)
    {
        return keys[keyCode]==Keys.PRESSED||keys[keyCode]==Keys.PRESSEDONCE;
    }

    public boolean iskeyPressedOnce(int keyCode)
    {
        return keys[keyCode]==Keys.PRESSEDONCE;
    }

    public boolean iskeyReleased(int keyCode)
    {
        return keys[keyCode]==Keys.RELEASED;
    }

    public void pool()
    {
        for(int i=0;i<256;i++)
        {
            if(currentKeys[i])
            {
                if(keys[i]==Keys.PRESSEDONCE)
                    keys[i]=Keys.PRESSED;
                else if(keys[i]==Keys.RELEASED)
                    keys[i]=Keys.PRESSEDONCE;
            }
            else
                keys[i]=Keys.RELEASED;
        }
    }
    
    public void keyTyped(KeyEvent e)
    {

    }

    public void keyPressed(KeyEvent e)
    {
        currentKeys[e.getKeyCode()]=true;
    }

    public void keyReleased(KeyEvent e)
    {
        currentKeys[e.getKeyCode()]=false;
    }
}

Share this code

| More

Use the link below to share the code:
HTML
BBCode