VirtualBox

Changeset 26440 in vbox for trunk/src/VBox/Main/xml


Ignore:
Timestamp:
Feb 11, 2010 4:18:31 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
57580
Message:

Main: configurable HID types work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/xml/Settings.cpp

    r26424 r26440  
    14721472          fAccelerate2DVideo(false),
    14731473          firmwareType(FirmwareType_BIOS),
     1474          pointingHidType(PointingHidType_PS2Mouse),
     1475          keyboardHidType(KeyboardHidType_PS2Keyboard),
    14741476          clipboardMode(ClipboardMode_Bidirectional),
    14751477          ulMemoryBalloonSize(0),
     
    15161518                  && (fAccelerate2DVideo        == h.fAccelerate2DVideo)
    15171519                  && (firmwareType              == h.firmwareType)
     1520                  && (pointingHidType           == h.pointingHidType)
     1521                  && (keyboardHidType           == h.keyboardHidType)
    15181522                  && (vrdpSettings              == h.vrdpSettings)
    15191523                  && (biosSettings              == h.biosSettings)
     
    20472051                    throw ConfigFileError(this,
    20482052                                          pelmHwChild,
    2049                                           N_("Invalid value '%s' in Boot/Firmware/@type"),
     2053                                          N_("Invalid value '%s' in Firmware/@type"),
    20502054                                          strFirmwareType.c_str());
     2055            }
     2056        }
     2057        else if (pelmHwChild->nameEquals("HID"))
     2058        {
     2059            Utf8Str strHidType;
     2060            if (pelmHwChild->getAttributeValue("Keyboard", strHidType))
     2061            {
     2062                if (    (strHidType == "None")
     2063                        )
     2064                    hw.keyboardHidType = KeyboardHidType_None;
     2065                else if (    (strHidType == "USBKeyboard")
     2066                        )
     2067                    hw.keyboardHidType = KeyboardHidType_USBKeyboard;
     2068                else if (    (strHidType == "PS2Keyboard")
     2069                        )
     2070                    hw.keyboardHidType = KeyboardHidType_PS2Keyboard;
     2071                else if (    (strHidType == "ComboKeyboard")
     2072                        )
     2073                    hw.keyboardHidType = KeyboardHidType_ComboKeyboard;
     2074                else
     2075                    throw ConfigFileError(this,
     2076                                          pelmHwChild,
     2077                                          N_("Invalid value '%s' in HID/Keyboard/@type"),
     2078                                          strHidType.c_str());
     2079            }
     2080            if (pelmHwChild->getAttributeValue("Pointing", strHidType))
     2081            {
     2082                 if (    (strHidType == "None")
     2083                        )
     2084                    hw.pointingHidType = PointingHidType_None;
     2085                else if (    (strHidType == "USBMouse")
     2086                        )
     2087                    hw.pointingHidType = PointingHidType_USBMouse;
     2088                else if (    (strHidType == "UsbTablet")
     2089                        )
     2090                    hw.pointingHidType = PointingHidType_USBTablet;
     2091                else if (    (strHidType == "PS2Mouse")
     2092                        )
     2093                    hw.pointingHidType = PointingHidType_PS2Mouse;
     2094                else if (    (strHidType == "ComboMouse")
     2095                        )
     2096                    hw.pointingHidType = PointingHidType_ComboMouse;
     2097                else
     2098                    throw ConfigFileError(this,
     2099                                          pelmHwChild,
     2100                                          N_("Invalid value '%s' in HID/Pointing/@type"),
     2101                                          strHidType.c_str());
    20512102            }
    20522103        }
     
    29172968    }
    29182969
     2970    if (    (m->sv >= SettingsVersion_v1_10)
     2971       )
     2972    {
     2973         xml::ElementNode *pelmHid = pelmHardware->createChild("HID");
     2974         const char *pcszHid;
     2975
     2976         switch (hw.pointingHidType)
     2977         {
     2978            case PointingHidType_USBMouse:      pcszHid = "USBMouse";   break;
     2979            case PointingHidType_USBTablet:     pcszHid = "USBTablet";  break;
     2980            case PointingHidType_PS2Mouse:      pcszHid = "PS2Mouse";   break;
     2981            case PointingHidType_ComboMouse:    pcszHid = "ComboMouse"; break;
     2982            case PointingHidType_None:          pcszHid = "None";       break;
     2983            default:            Assert(false);  pcszHid = "PS2Mouse";   break;
     2984         }
     2985         pelmHid->setAttribute("Pointing", pcszHid);
     2986
     2987         switch (hw.keyboardHidType)
     2988         {
     2989            case KeyboardHidType_USBKeyboard:   pcszHid = "USBKeyboard";   break;
     2990            case KeyboardHidType_PS2Keyboard:   pcszHid = "PS2Keyboard";   break;
     2991            case KeyboardHidType_ComboKeyboard: pcszHid = "ComboKeyboard"; break;
     2992            case KeyboardHidType_None:          pcszHid = "None";          break;
     2993            default:            Assert(false);  pcszHid = "PS2Keyboard";   break;
     2994         }
     2995         pelmHid->setAttribute("Keyboard", pcszHid);
     2996    }
     2997
    29192998    xml::ElementNode *pelmBoot = pelmHardware->createChild("Boot");
    29202999    for (BootOrderMap::const_iterator it = hw.mapBootOrder.begin();
     
    34893568         && (    fRTCUseUTC
    34903569              || hardwareMachine.fCpuHotPlug
     3570              || hardwareMachine.pointingHidType != PointingHidType_PS2Mouse
     3571              || hardwareMachine.keyboardHidType != KeyboardHidType_PS2Keyboard
    34913572            )
    34923573       )
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette