/** * 콘솔 초기화 */ void kInitializeConsole( int iX, int iY ) { // 콘솔 자료구조 초기화 kMemSet( &gs_stConsoleManager, 0, sizeof( gs_stConsoleManager ) ); // 화면 버퍼 초기화 kMemSet( &gs_vstScreenBuffer, 0, sizeof( gs_vstScreenBuffer ) ); if( kIsGraphicMode() == FALSE ) { // 그래픽 모드로 시작한 것이 아니면 비디오 메모리를 화면 버퍼로 설정 gs_stConsoleManager.pstScreenBuffer = ( CHARACTER* ) CONSOLE_VIDEOMEMORYADDRESS; } else { // 그래픽 모드로 시작했으면 그래픽 모드용 화면 버퍼를 설정 gs_stConsoleManager.pstScreenBuffer = gs_vstScreenBuffer; // 그래픽 모드에서 사용할 키 큐와 뮤텍스를 초기화 kInitializeQueue( &( gs_stConsoleManager.stKeyQueueForGUI ), gs_vstKeyQueueBuffer, CONSOLE_GUIKEYQUEUE_MAXCOUNT, sizeof( KEYDATA ) ); kInitializeMutex( &( gs_stConsoleManager.stLock ) ); } // 커서 위치 설정 kSetCursor( iX, iY ); }
BOOL kInitializeKeyboard( void ) { kInitializeQueue( &gs_stKeyQueue, gs_vstKeyQueueBuffer, KEY_MAXQUEUECOUNT, sizeof( KEYDATA ) ); return kActivateKeyboard(); }