VBoxFB.cpp revision 75fdda3e5082879b5154be2b80540a68331cd37c
99be02f9e15a3ca61b6a7c207cc7eb68dbd04817vboxsync * VBox frontends: Framebuffer (FB, DirectFB):
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * main() routine.
99be02f9e15a3ca61b6a7c207cc7eb68dbd04817vboxsync * NOTE: this code has not been tested, so expect bugs. It is not part
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * of a regular VirtualBox build.
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * Copyright (C) 2006-2009 Sun Microsystems, Inc.
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * available from http://www.virtualbox.org. This file is free software;
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * you can redistribute it and/or modify it under the terms of the GNU
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * General Public License (GPL) as published by the Free Software
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync * additional information or have any questions.
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync printf("\nThe following parameters are supported:\n"
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync "--startvm uuid start VM with UUID 'uuid'\n"
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync "--fixedres WxHxBPP always use fixed host resolution\n"
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync "--listhostmodes display list of suported host display modes and exit\n"
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync "--scale scale guest video mode to host video mode\n"
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync "--nodirectblit disable direct blitting, use intermediate framebuffer\n"
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync "--showlabel show VM name on top of the VM display\n");
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync/** entry point */
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync "(C) 2004-2009 Sun Microsystems, Inc.\n"
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync "(C) 2004-2005 secunet Security Networks AG\n", __DATE__, __TIME__);
19a258565a4d24e5a0af62f626943ac9b898d957vboxsync if (c == -1)
showusage();
exit(0);
showusage();
showusage();
if (!uuid)
showusage();
if (!registrar)
if (!machine)
if (!console)
if (!display)
if (listHostModes)
goto Leave;
if (useFixedVideoMode)
if (useFixedVideoMode)
int numKeyEvents;
while (!quit)
numKeyEvents = 0;
int mouseXDelta = 0;
int mouseYDelta = 0;
int mouseZDelta = 0;
#define QUEUEKEY(scan) keyEvents[numKeyEvents++] = scan | (event.type == DIET_KEYRELEASE ? 0x80 : 0x00)
case DIET_KEYPRESS:
case DIET_KEYRELEASE:
//printf("%s: key_code: 0x%x\n", event.type == DIET_KEYPRESS ? "DIET_KEYPRESS" : "DIET_KEYRELEASE", event.key_code);
case DIKI_CONTROL_R:
QUEUEEXT();
case DIKI_INSERT:
QUEUEEXT();
case DIKI_DELETE:
QUEUEEXT();
case DIKI_HOME:
QUEUEEXT();
case DIKI_END:
QUEUEEXT();
case DIKI_PAGE_UP:
QUEUEEXT();
case DIKI_PAGE_DOWN:
QUEUEEXT();
case DIKI_LEFT:
QUEUEEXT();
case DIKI_RIGHT:
QUEUEEXT();
case DIKI_UP:
QUEUEEXT();
case DIKI_DOWN:
QUEUEEXT();
case DIKI_KP_DIV:
QUEUEEXT();
case DIKI_KP_ENTER:
QUEUEEXT();
case DIKI_PRINT:
QUEUEEXT();
QUEUEEXT();
QUEUEEXT();
QUEUEEXT();
case DIKI_PAUSE:
case DIKI_META_L:
QUEUEEXT();
QUEUEEXT();
case DIKI_META_R:
QUEUEEXT();
QUEUEEXT();
case DIKI_SUPER_R:
QUEUEEXT();
QUEUEEXT();
case DIET_AXISMOTION:
case DIAI_X:
case DIAI_Y:
case DIAI_Z:
case DIET_BUTTONPRESS:
case DIET_BUTTONRELEASE:
int buttonState = 0;
if (numKeyEvents > 0)
&codesStored);