static void recordKeystroke(int keyCode) /* DEPRECATED */ { if (inputEventSemaIndex == 0) { int keystate= keyCode | (modifierState << 8); # if DEBUG_KEYBOARD_EVENTS printf("RECORD keystroke"); printModifiers(modifierState); printKey(keyCode); printf(" = %d 0x%x\n", keystate, keystate); # endif if (keystate == getInterruptKeycode()) setInterruptPending(true); else { keyBuf[keyBufPut]= keystate; keyBufPut= (keyBufPut + 1) % KEYBUF_SIZE; if (keyBufGet == keyBufPut) { /* buffer overflow; drop the last character */ keyBufGet= (keyBufGet + 1) % KEYBUF_SIZE; keyBufOverflows++; } } } }
static sqInt getButtonState(void) { /* red button honours the modifiers: * red+ctrl = yellow button * red+command = blue button */ int buttons= buttonState; int modifiers= modifierState; if ((buttons == RedButtonBit) && modifiers) { int yellow= swapBtn ? BlueButtonBit : YellowButtonBit; int blue= swapBtn ? YellowButtonBit : BlueButtonBit; switch (modifiers) { case CtrlKeyBit: buttons= yellow; modifiers &= ~CtrlKeyBit; break; case CommandKeyBit: buttons= blue; modifiers &= ~CommandKeyBit; break; } } #if DEBUG_MOUSE_EVENTS printf("BUTTONS"); printModifiers(modifiers); printButtons(buttons); printf("\n"); #endif return buttons | (modifiers << 3); }
static void recordKeyboardEvent(int keyCode, int pressCode, int modifiers, int ucs4) { sqKeyboardEvent *evt= allocateKeyboardEvent(); if (keyCode < 0) keyCode= 0; evt->charCode= keyCode; evt->pressCode= pressCode; evt->modifiers= modifiers; evt->utf32Code= ucs4; evt->reserved1= evt->windowIndex= 0; signalInputEvent(); #if DEBUG_KEYBOARD_EVENTS printf("EVENT: key"); switch (pressCode) { case EventKeyDown: printf(" down "); break; case EventKeyChar: printf(" char "); break; case EventKeyUp: printf(" up "); break; default: printf(" ***UNKNOWN***"); break; } printModifiers(modifiers); printKey(keyCode); printf(" ucs4 %d\n", ucs4); #endif }
void Pretty::visitModifiers(JCModifiers* that) { printModifiers(that); }