KeyboardActivityArgs(KeyboardDevice keyboard, IntPtr windowHandle, KeyActivityType eventType, VirtualKeyCodes vKeyCode, KeyMasks masks, int scanCode, int repeatCount, bool extended, char aChar) { fKeyboard = keyboard; fWindowHandle = windowHandle; fEventType = eventType; m_VirtualKeyCode = vKeyCode; m_KeyMasks = masks; fKeyChar = aChar; fRepeatCount = repeatCount; m_OEMScanCode = scanCode; fIsExtended = extended; //int previousKeyState = ((int)fKeyFlags & 0x40000000) >> 30; //fKeyWasPreviouslyDown = (1 == previousKeyState); // Not used at the moment //int context = ((int)fKeyFlags & 0x20000000) >> 29; //int transitionState = (int)(((int)fKeyFlags & 0x100000000) >> 31); }
public bool CheckMask(KeyMasks mask) { switch (mask) { case KeyMasks.DuplicateKeyModeMask: return((Flags & DB_KEY_MODE_DUPLICATE_MASK) != 0); case KeyMasks.UniqueKeyModeMask: return((Flags & DB_KEY_MODE_DUPLICATE_MASK) == 0); case KeyMasks.OneWayKeyMask: return((Flags & DB_KEY_ORDER_ONEWAY_MASK) != 0); case KeyMasks.TwoWayKeyMask: return((Flags & DB_KEY_ORDER_ONEWAY_MASK) == 0); case KeyMasks.KeyRangeFull: return((Flags & DB_KEY_RANGE_FULL_MASK) != 0); case KeyMasks.KeyRangeQuick: return((Flags & DB_KEY_RANGE_FULL_MASK) == 0); case KeyMasks.KeyTypeVirtual: return((Flags & DB_KEY_TYPE_VIRTUAL_MASK) != 0); case KeyMasks.KeyTypeReal: return((Flags & DB_KEY_TYPE_VIRTUAL_MASK) == 0); case KeyMasks.KeyClusteredMask: return((Flags & DB_KEY_CLUSTERED_MASK) != 0); case KeyMasks.KeyDropReIndex: return((Flags & DB_KEY_DROP_REIDX_MASK) != 0); case KeyMasks.KeyHintMask: return((Flags & DB_KEY_HINT_MASK) != 0); case KeyMasks.KeySortMagicMask: return((Flags & DB_KEY_SORT_MAGIC_MASK) != 0); case KeyMasks.KeyValidMask: return((Flags & DB_KEY_VALID_MASK) != 0); case KeyMasks.KeySortMask: return((Flags & DB_KEY_SORT_MASK) != 0); case KeyMasks.KeyPrimaryMask: return((Flags & DB_KEY_PRIMARY_MASK) != 0); case KeyMasks.KeySystemPrimaryMask: return((Flags & DB_KEY_SYS_PRIMARY_MASK) != 0); case KeyMasks.MagicKeyMask: return((Flags & DB_KEY_MAGIC_KEY_MASK) != 0); } return(false); }
public void OnKeyRelease(KeyMasks key) { newKeysReleased |= (int)key; }
public void OnKeyPress(KeyMasks key) { newKeysPressed |= (int)key; }
public void SetMask(KeyMasks mask) { switch (mask) { case KeyMasks.DuplicateKeyModeMask: Flags |= DB_KEY_MODE_DUPLICATE_MASK; break; case KeyMasks.UniqueKeyModeMask: Flags &= ~DB_KEY_MODE_DUPLICATE_MASK; break; case KeyMasks.OneWayKeyMask: Flags |= DB_KEY_ORDER_ONEWAY_MASK; break; case KeyMasks.TwoWayKeyMask: Flags &= ~DB_KEY_ORDER_ONEWAY_MASK; break; case KeyMasks.KeyRangeFull: Flags |= DB_KEY_RANGE_FULL_MASK; break; case KeyMasks.KeyRangeQuick: Flags &= ~DB_KEY_RANGE_FULL_MASK; break; case KeyMasks.KeyTypeVirtual: Flags |= DB_KEY_TYPE_VIRTUAL_MASK; break; case KeyMasks.KeyTypeReal: Flags &= ~DB_KEY_TYPE_VIRTUAL_MASK; break; case KeyMasks.KeyClusteredMask: Flags |= DB_KEY_CLUSTERED_MASK; break; case KeyMasks.KeyDropReIndex: Flags |= DB_KEY_DROP_REIDX_MASK; break; case KeyMasks.KeyHintMask: Flags |= DB_KEY_HINT_MASK; break; case KeyMasks.KeySortMagicMask: Flags |= DB_KEY_SORT_MAGIC_MASK; break; case KeyMasks.KeyValidMask: Flags |= DB_KEY_VALID_MASK; break; case KeyMasks.KeySortMask: Flags |= DB_KEY_SORT_MASK; break; case KeyMasks.KeyPrimaryMask: Flags |= DB_KEY_PRIMARY_MASK; break; case KeyMasks.KeySystemPrimaryMask: Flags |= DB_KEY_SYS_PRIMARY_MASK; break; case KeyMasks.MagicKeyMask: Flags |= DB_KEY_MAGIC_KEY_MASK; break; } }