VirtualBox

Changeset 6467

Show
Ignore:
Timestamp:
01/23/08 22:24:21 (10 months ago)
Author:
vboxsync
Message:

FE/Qt: OS/2: Added low level keyboard hook to intercept keys like Alt+F4 when the VM window is in foreground.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk

    r6250 r6467  
    5656endif 
    5757INSTALLS = VirtualBox.nls 
     58 
     59ifeq ($(BUILD_TARGET),os2) 
     60 DLLS += VBoxHlp 
     61 ifneq ($(strip $(VBOX_DLL_QT)),) 
     62  INSTALLS += qt.dll 
     63  qt.dll_INST = $(INST_BIN) 
     64  qt.dll_SOURCES += \ 
     65        $(VBOX_DLL_QT)=>$(not-dir $(VBOX_DLL_QT)) 
     66 endif 
     67endif 
     68 
     69 
     70# 
     71# VBoxHlp - helper DLL for OS/2. 
     72# 
     73VBoxHlp_ASTOOL      = NASM 
     74VBoxHlp_ASFLAGS     = -f obj 
     75VBoxHlp_DEFS        = IN_RING3 IN_VBOXHLP 
     76VBoxHlp_CXXFLAGS    = -fno-exceptions 
     77VBoxHlp_LDFLAGS     = -nostdlib -los2 
     78VBoxHlp_LDFLAGS    += -Zlinker option -Zlinker manyautodata 
     79VBoxHlp_SOURCES     = \ 
     80        src/os2/VBoxHlp.asm \ 
     81        src/os2/VBoxHlp.cpp 
    5882 
    5983 
     
    279303        $(PATH_SDK_DXSDK_LIB)/ddraw.lib \ 
    280304        $(PATH_SDK_DXSDK_LIB)/dxguid.lib 
     305VirtualBox_LIBS.os2      += $(PATH_DLL)/VBoxHlp$(VBOX_SUFF_DLL) 
    281306ifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(BUILD_TARGET)),) # X11 
    282307VirtualBox_LIBS          += $(PATH_DLL)/VBoxKeyboard$(VBOX_SUFF_DLL) 
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxConsoleView.h

    r6184 r6467  
    3232#include <qkeysequence.h> 
    3333 
     34#if defined (Q_WS_PM) 
     35#include "src/os2/VBoxHlp.h" 
     36#endif 
     37 
    3438#if defined (Q_WS_MAC) 
    3539# include <Carbon/Carbon.h> 
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxConsoleView.cpp

    r6462 r6467  
    751751#endif 
    752752 
     753#if defined (Q_WS_PM) 
     754    bool ok = VBoxHlpInstallKbdHook (0, winId(), WM_CHAR); 
     755    Assert (ok); 
     756    NOREF (ok); 
     757#endif 
     758 
    753759#ifdef Q_WS_MAC 
    754760    DarwinCursorClearHandle (&mDarwinCursor); 
     
    758764VBoxConsoleView::~VBoxConsoleView() 
    759765{ 
     766#if defined (Q_WS_PM) 
     767    bool ok = VBoxHlpUninstallKbdHook (0, winId(), WM_CHAR); 
     768    Assert (ok); 
     769    NOREF (ok); 
     770#endif 
     771 
    760772#if defined (Q_WS_WIN) 
    761773    if (g_kbdhook) 
     
    20172029 *  @param  count  pointer to the keycodes counter 
    20182030 */ 
    2019 void VBoxConsoleView::fixModifierState(LONG *codes, uint *count) 
     2031void VBoxConsoleView::fixModifierState (LONG *codes, uint *count) 
    20202032{ 
    20212033#if defined(Q_WS_X11) 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy