//get modifers of sdl event
        static CefEventFlags GetModifiersFromSDL(SDL_Keymod mod)
        {
            CefEventFlags result = CefEventFlags.None;

            if ((mod & SDL_Keymod.Num) != 0)
            {
                result |= CefEventFlags.NumLockOn;
            }
            if ((mod & SDL_Keymod.Caps) != 0)
            {
                result |= CefEventFlags.CapsLockOn;
            }
            if ((mod & SDL_Keymod.LeftControl & SDL_Keymod.RightControl) != 0)
            {
                result |= CefEventFlags.ControlDown;
            }
            if ((mod & SDL_Keymod.LeftShift & SDL_Keymod.RightShift) != 0)
            {
                result |= CefEventFlags.ShiftDown;
            }
            if ((mod & SDL_Keymod.LeftAlt & SDL_Keymod.RightAlt) != 0)
            {
                result |= CefEventFlags.AltDown;
            }
            return(result);
        }
Beispiel #2
0
        private bool OnHotKeyHandler(int inkey, int mod, bool ispressed)
        {
            int key = checkForOmeKeys(inkey);

            if (ispressed && !Enum.IsDefined(typeof(SDL_Keycode_Ignore), key))
            {
                RazorEnhanced.ModKeys cur    = RazorEnhanced.ModKeys.None;
                SDL_Keymod            keymod = (SDL_Keymod)mod;
                if (keymod.HasFlag(SDL_Keymod.KMOD_LCTRL) || keymod.HasFlag(SDL_Keymod.KMOD_RCTRL))
                {
                    cur |= RazorEnhanced.ModKeys.Control;
                }
                if (keymod.HasFlag(SDL_Keymod.KMOD_LALT) || keymod.HasFlag(SDL_Keymod.KMOD_RALT))
                {
                    cur |= RazorEnhanced.ModKeys.Alt;
                }
                if (keymod.HasFlag(SDL_Keymod.KMOD_LSHIFT) || keymod.HasFlag(SDL_Keymod.KMOD_RSHIFT))
                {
                    cur |= RazorEnhanced.ModKeys.Shift;
                }
                return(RazorEnhanced.HotKey.OnKeyDown(Win32Platform.MapKey(key), cur));
            }

            return(true);
        }
Beispiel #3
0
        private bool OnHotKeyHandler(int key, int mod, bool ispressed)
        {
            if (ispressed && !Enum.IsDefined(typeof(SDL_Keycode_Ignore), key))
            {
                ModKeys cur = ModKeys.None;
                SDL_Keymod keymod = (SDL_Keymod) mod;
                if (keymod.HasFlag(SDL_Keymod.KMOD_LCTRL) || keymod.HasFlag(SDL_Keymod.KMOD_RCTRL))
                    cur |= ModKeys.Control;
                if (keymod.HasFlag(SDL_Keymod.KMOD_LALT) || keymod.HasFlag(SDL_Keymod.KMOD_RALT))
                    cur |= ModKeys.Alt;
                if (keymod.HasFlag(SDL_Keymod.KMOD_LSHIFT) || keymod.HasFlag(SDL_Keymod.KMOD_RSHIFT))
                    cur |= ModKeys.Shift;
                return HotKey.OnKeyDown(Win32Platform.MapKey(key), cur);
            }

            return true;
        }
Beispiel #4
0
 private bool OnHotKeyHandler(int key, int mod, bool ispressed)
 {
     if (ispressed)
     {
         ModKeys    cur    = ModKeys.None;
         SDL_Keymod keymod = (SDL_Keymod)mod;
         if (keymod.HasFlag(SDL_Keymod.KMOD_LCTRL) || keymod.HasFlag(SDL_Keymod.KMOD_RCTRL))
         {
             cur |= ModKeys.Control;
         }
         if (keymod.HasFlag(SDL_Keymod.KMOD_LALT) || keymod.HasFlag(SDL_Keymod.KMOD_RALT))
         {
             cur |= ModKeys.Alt;
         }
         if (keymod.HasFlag(SDL_Keymod.KMOD_LSHIFT) || keymod.HasFlag(SDL_Keymod.KMOD_RSHIFT))
         {
             cur |= ModKeys.Shift;
         }
         return(HotKey.OnKeyDown(Win32Platform.MapKey(key), cur));
     }
     return(true);
 }
Beispiel #5
0
        public KeyboardStateSnapshot GetKeyboardStateSnapshot()
        {
            ReadOnlySpan <byte> rawKeyboardState;
            SDL_Keymod          rawKeyboardModifierState = SDL_GetModState();

            unsafe
            {
                IntPtr statePtr = SDL_GetKeyboardState(out int numKeys);

                rawKeyboardState = new ReadOnlySpan <byte>((byte *)statePtr, numKeys);
            }

            bool[] keysState = new bool[(int)Key.Count];

            for (Key key = 0; key < Key.Count; key++)
            {
                int index = ToSDL2Scancode(key);
                if (index == -1)
                {
                    SDL_Keymod modifierMask = GetKeyboardModifierMask(key);

                    if (modifierMask == SDL_Keymod.KMOD_NONE)
                    {
                        continue;
                    }

                    keysState[(int)key] = (rawKeyboardModifierState & modifierMask) == modifierMask;
                }
                else
                {
                    keysState[(int)key] = rawKeyboardState[index] == 1;
                }
            }

            return(new KeyboardStateSnapshot(keysState));
        }
 public InputKeyboardEvent(KeyboardEvent eventtype, SDL_Keycode keycode, int key, SDL_Keymod modifiers) : base(modifiers)
 {
     EventType     = eventtype;
     KeyCode       = keycode;
     _keyDataExtra = key;
 }
Beispiel #7
0
 public KeyboardEventArgs(SDL_Keycode key, SDL_Keymod mod, KeyboardEvent state)
 {
     Key           = key;
     Mod           = mod;
     KeyboardEvent = state;
 }
 /// <summary>
 /// Used for mapping modifiers
 /// </summary>
 /// <param name="mod">SDL modifier</param>
 /// <returns>Tortuga modifier</returns>
 public static ModifierKeys MapModifiers(SDL_Keymod mod)
 {
     return((ModifierKeys)mod);
 }
Beispiel #9
0
 public InputEvent(SDL_Keymod modifiers)
 {
     Mod = modifiers;
 }
Beispiel #10
0
public static extern void SDL_SetModState(
	SDL_Keymod modstate);
 public static extern void SDL_SetModState(
     SDL_Keymod modstate);
Beispiel #12
0
 public static void SDL_SetModState(SDL_Keymod modstate) => s_SDL_SetModState_SDL_Keymod_t(modstate);