#include"..\lib\8000.h" int IsSystemKey(void); int GetSystemKey(void); void ClearSystemKey(void); /* unsigned char far const *KeyStatus=(char far *)0x00400078; */ void main(void) { int quit=0; unsigned char oldKeyStatus=0xff; Print("Test system key...\n\r"); ClearSystemKey(); while(!quit){ if(IsSystemKey()){ switch(GetSystemKey()){ case SKEY_UP: Print("UP KEY\n\r"); break; case SKEY_DOWN: Print("DOWN KEY\n\r"); break; case SKEY_SET: Print("SET KEY\n\r"); break; case SKEY_MODE: Print("MODE KEY\n\r"); break; } } if(oldKeyStatus != *KeyStatus){ oldKeyStatus = *KeyStatus; Print("KeyStatus=%X ",oldKeyStatus); if(oldKeyStatus & SKEY_MODE_DOWN) Puts("[MODE]"); if(oldKeyStatus & SKEY_UP_DOWN) Puts("[UP]"); if(oldKeyStatus & SKEY_DOWN_DOWN) Puts("[DOWN]"); if(oldKeyStatus & SKEY_SET_DOWN) Puts("[SET]"); if(oldKeyStatus & 0x0F) Puts(" --> is press down\n\r"); if(!(oldKeyStatus & 0x0F)) Puts("All key released\n\r"); } if(Kbhit()){ if(Getch()=='q') quit=1; } } }