1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
// Jason Rohrer
// getKey.h
/**
*
* general interface for getting current key depressed
* Implemented by a graphix framework on a particular platform
*
*
* Created 12-15-99
* Mods:
*
*/
// returns true if key represented by given key code is down
char getKeyDown( int vKeyCode );
// returns true if key is up
char getKeyUp( int vKeyCode );
/**
Sample PC implementation
#include <windows.h>
getKeyDown( int vKeyCode ) {
return ((GetAsyncKeyState(vKeyCode) & 0x8000) ? true : false);
}
getKeyUp( int vKeyCode ) {
return ((GetAsyncKeyState(vKeyCode) & 0x8000) ? false : true);
}
Sample Mac implementation
#include <Events.h>
getKeyDown( int vKeyCode ) {
KeyMapByteArray keyArray;
GetKeys( keyArray );
int arrayInd = vKeyCode >> 3; // divide by 8 to get start array index of key code
unsigned char neededByte = keyArray[ arrayInd ];
return (neededByte >> vKeyCode % 8) && 0x01; // trim off bit needed
}
getKeyUp( int vKeyCode ) {
KeyMapByteArray keyArray;
GetKeys( keyArray );
int arrayInd = vKeyCode >> 3; // divide by 8 to get start array index of key code
unsigned char neededByte = keyArray[ arrayInd ];
return !((neededByte >> vKeyCode % 8) && 0x01); // trim off bit needed, and invert
}
*/
|