Exemplo n.º 1
0
        Keys ConvertKeys(System.Windows.Forms.Keys key)
        {
            // NOTE: this will not work when both Left & Right control keys are pressed.
            if (key == System.Windows.Forms.Keys.ControlKey)
            {
                if (GetAsyncKeyState(System.Windows.Forms.Keys.LControlKey) < 0)
                {
                    return(Keys.LeftControl);
                }
                return(Keys.RightControl);
            }

            if (key == System.Windows.Forms.Keys.ShiftKey)
            {
                if (GetAsyncKeyState(System.Windows.Forms.Keys.LShiftKey) < 0)
                {
                    return(Keys.LeftShift);
                }
                return(Keys.RightShift);
            }

            if (key == System.Windows.Forms.Keys.Menu)
            {
                if (GetAsyncKeyState(System.Windows.Forms.Keys.LMenu) < 0)
                {
                    return(Keys.LeftAlt);
                }
                return(Keys.RightAlt);
            }

            return((Keys)key);
        }
Exemplo n.º 2
0
 static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey);