VBoxFB.cpp revision c77e7bff89c7639353778366984d51ff165ea0e3
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * VBox frontends: Framebuffer (FB, DirectFB):
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * main() routine
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * available from http://www.virtualbox.org. This file is free software;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * you can redistribute it and/or modify it under the terms of the GNU
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * General Public License (GPL) as published by the Free Software
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * additional information or have any questions.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync printf("\nThe following parameters are supported:\n"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync "--startvm uuid start VM with UUID 'uuid'\n"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync "--fixedres WxHxBPP always use fixed host resolution\n"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync "--listhostmodes display list of suported host display modes and exit\n"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync "--scale scale guest video mode to host video mode\n"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync "--nodirectblit disable direct blitting, use intermediate framebuffer\n"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync "--showlabel show VM name on top of the VM display\n");
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/** entry point */
showusage();
exit(0);
showusage();
showusage();
showusage();
if (!registrar)
if (!manager)
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_ALTGR:
QUEUEEXT();
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);
if (mouse)
if (keyboard)
if (display)
if (console)
if (machine)
if (dfbEventBuffer)
if (dfbMouse)
if (dfbKeyboard)
if (surface)
if (dfb)