bool dot_getmsgs_cmd(UAContext *ua, const char *cmd) { if (console_msg_pending) { do_messages(ua, cmd); } return 1; }
int qmessagescmd(UAContext *ua, const char *cmd) { if (console_msg_pending && ua->auto_display_messages) { do_messages(ua, cmd); } return 1; }
int messagescmd(UAContext *ua, const char *cmd) { if (console_msg_pending) { do_messages(ua, cmd); } else { ua->UA_sock->fsend(_("You have no messages.\n")); } return 1; }
void GEM_PumpEvents(_THIS) { short mousex, mousey, mouseb, dummy; short kstate, prevkc, prevks; int i; SDL_keysym keysym; memset(gem_currentkeyboard,0,sizeof(gem_currentkeyboard)); prevkc = prevks = 0; for (;;) { int quit, resultat; short buffer[8], kc; quit = 0; resultat = evnt_multi( MU_MESAG|MU_TIMER|MU_KEYBD, 0,0,0, 0,0,0,0,0, 0,0,0,0,0, buffer, 10, &dummy,&dummy,&dummy,&kstate,&kc,&dummy ); /* Message event ? */ if (resultat & MU_MESAG) quit = do_messages(this, buffer); /* Keyboard event ? */ if (resultat & MU_KEYBD) { if ((prevkc != kc) || (prevks != kstate)) { do_keyboard(kc,kstate); } else { /* Avoid looping, if repeating same key */ break; } } /* Timer event ? */ if ((resultat & MU_TIMER) || quit) break; } /* Update mouse */ graf_mkstate(&mousex, &mousey, &mouseb, &kstate); do_mouse(this, mousex, mousey, mouseb, kstate); /* Now generate keyboard events */ for (i=0; i<ATARIBIOS_MAXKEYS; i++) { /* Key pressed ? */ if (gem_currentkeyboard[i] && !gem_previouskeyboard[i]) SDL_PrivateKeyboard(SDL_PRESSED, TranslateKey(i, gem_currentascii[i], &keysym)); /* Key unpressed ? */ if (gem_previouskeyboard[i] && !gem_currentkeyboard[i]) SDL_PrivateKeyboard(SDL_RELEASED, TranslateKey(i, gem_currentascii[i], &keysym)); } memcpy(gem_previouskeyboard,gem_currentkeyboard,sizeof(gem_previouskeyboard)); }