/* SkanaarKey sk; //------------------------- void setup(){ sk = new SkanaarKey(); smooth(); } //------------------------- void draw(){ background(255); if( sk.keyDown( sk.TAB ) ) fill(255,0,0); else fill(255); if( sk.keyDown('a') ) ellipse(30,30,20,20); if( sk.keyDown('s') ) rect(70,30,20,20); } //------------------------- void keyPressed(){ sk.keyPressed(key,keyCode); } //------------------------- void keyReleased(){ sk.keyReleased(key,keyCode); } //------------------------- */ class SkanaarKey{ boolean[] keyCodeMap; int LEFT = 37; int DOWN = 40; int RIGHT = 39; int UP = 38; int TAB = 9; int CTRL = 17; int SPACE = 32; //------------------------- SkanaarKey(){ keyCodeMap = new boolean[256]; for(int i=0;i<256;i++) keyCodeMap[i] = false; } //------------------------- void keyPressed(char key, int keyCode){ if(keyCode<256 && keyCode>=0) keyCodeMap[ keyCode ] = true; } //------------------------- void keyReleased(char key, int keyCode){ if(keyCode<256 && keyCode>=0) keyCodeMap[ keyCode ] = false; } //------------------------- boolean keyDown( int kc ){ if(kc<256 && kc>=0) return keyCodeMap[ kc ]; else return false; } //------------------------- boolean keyDown( char c ){ if(c>='a' && c<='z') return keyDown( c - 'a' + 65 ); if(c>='0' && c<='9') return keyDown( c - '0' + 48 ); return false; } }