⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kbdmouse.cpp

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 CPP
字号:
/*

THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) 1995-1998  Microsoft Corporation

*/

#include <windows.h>
#include <ceddk.h>

#include "ps2port.hpp"
#include "ps2keybd.hpp"
#include "ps2mouse.hpp"
#include <vr4122io.h>
#include <drvlib.h>

extern Ps2Keybd *v_pp2k;
static Ps2Port  *v_pp2p;
static Ps2Mouse *v_pp2m;

BOOL
WINAPI
DllMain(
    HANDLE  hinstDll,
    DWORD   dwReason,
    LPVOID  lpReserved
    )
{

    switch ( dwReason )
    {
        case DLL_PROCESS_ATTACH:
            if ( v_pp2p )
            {
                return TRUE;
            }

            if (!Find4173()) {
                goto error_return;
            }

            if (!MapVR4122intio()) {
                goto error_return;
            }

            v_pp2p = new Ps2Port;
            if ( !v_pp2p -> Initialize() )
            {
                    ERRORMSG(1, (TEXT("Could not initialize ps2 port.\r\n")));
                    goto error_return;
            }

//          if ( v_pp2p -> bMouseFound() )
//          {
                v_pp2m = new Ps2Mouse;

                if ( v_pp2m -> Initialize(v_pp2p) )
                {
                    v_pp2m -> IsrThreadStart();
                }
                else
                {
                    ERRORMSG(1, (TEXT("Could not initialize ps2 mouse\r\n")));
                    delete v_pp2m;
                    v_pp2m = NULL;
                }
//          }

            //  We always assume that there is a keyboard.
            v_pp2k = new Ps2Keybd;

            if ( v_pp2k -> Initialize(v_pp2p) )
            {
                v_pp2k -> IsrThreadStart();
            }
            else
            {
                ERRORMSG(1, (TEXT("Could not initialize ps2 keyboard.\r\n")));
                delete v_pp2k;
                v_pp2k = NULL;
            }

            break;

    }

    return TRUE;

error_return:

    if (pVRC4173)
        Free4173();

    if (pVRIO)
        FreeVR4122intio();

    return FALSE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -