MapVirtualKey() private method

private MapVirtualKey ( UINT uCode, MapVirtualKeyType uMapType ) : UINT
uCode UINT
uMapType MapVirtualKeyType
return UINT
コード例 #1
0
ファイル: WinKeyMap.cs プロジェクト: krauthaufen/OpenTKHack
        public static Key TranslateKey(uint scancode, VirtualKeys vkey, bool extended, out bool is_valid)
        {
            //is_valid = true;


            switch (vkey)
            {
            case VirtualKeys.VK_CONTROL:
                vkey = (extended ? VirtualKeys.VK_RCONTROL : VirtualKeys.VK_LCONTROL);
                break;

            case VirtualKeys.VK_SHIFT:
                vkey = (VirtualKeys)Functions.MapVirtualKey(scancode, MapVirtualKeyType.ScanCodeToVirtualKeyExtended);
                break;

            case VirtualKeys.VK_MENU:
                vkey = (extended ? VirtualKeys.VK_RMENU : VirtualKeys.VK_LMENU);
                break;
            }
            var key = GetKey(vkey);

            is_valid = (key != Key.Unknown);

            //var virtualKey =
            //    (VirtualKeys)(
            //        Functions.MapVirtualKey((uint)scancode, MapVirtualKeyType.ScanCodeToVirtualKeyExtended)
            //    );


            //if (!extended0)
            //{
            //    switch (key)
            //    {
            //        case Key.Insert: key = Key.Keypad0; break;
            //        case Key.End: key = Key.Keypad1; break;
            //        case Key.Down: key = Key.Keypad2; break;
            //        case Key.PageDown: key = Key.Keypad3; break;
            //        case Key.Left: key = Key.Keypad4; break;
            //        case Key.Right: key = Key.Keypad6; break;
            //        case Key.Home: key = Key.Keypad7; break;
            //        case Key.Up: key = Key.Keypad8; break;
            //        case Key.PageUp: key = Key.Keypad9; break;
            //        case Key.PrintScreen: key = Key.KeypadMultiply; break;
            //        case Key.Delete: key = Key.KeypadDecimal; break;
            //        case Key.NumLock:
            //            if (vkey == VirtualKeys.Invalid)
            //            {
            //                is_valid = false;
            //            }
            //            else if (vkey == VirtualKeys.VK_PAUSE)
            //            {
            //                key = Key.Pause;
            //            }
            //            break;
            //    }
            //}
            //else
            //{
            //    switch (key)
            //    {
            //        case Key.Slash: key = Key.KeypadDivide; break;
            //        case Key.Enter: key = Key.KeypadEnter; break;
            //        case Key.AltLeft: key = Key.AltRight; break;
            //        case Key.AltRight: key = Key.AltLeft; break;
            //        case Key.ControlLeft: key = Key.ControlRight; break;
            //        case Key.ControlRight: key = Key.ControlLeft; break;
            //        case Key.ShiftLeft: is_valid = false; break;
            //    }
            //}

            //if (extended1)
            //{
            //    switch (key)
            //    {
            //        case Key.ControlLeft: key = Key.Pause; break;
            //    }
            //}

            return(key);
        }