/* m = 1; showmouse m = 0; hidemouse */ static void os2_cursormode(aa_context * c, int m) { USHORT statusHide = 0x0; USHORT statusShow = 0x100; if(!m) { MouSetDevStatus(&statusShow, hMou); MouDrawPtr(hMou); } else MouSetDevStatus(&statusHide, hMou); }
void RW_IN_Init (in_state_t *in_state_p) { USHORT m_mask = MOUSE_MOTION_WITH_BN1_DOWN | MOUSE_BN1_DOWN | MOUSE_MOTION_WITH_BN2_DOWN | MOUSE_BN2_DOWN | MOUSE_MOTION_WITH_BN3_DOWN | MOUSE_BN3_DOWN | MOUSE_MOTION; USHORT m_flags = MOUSE_DISABLED | MOUSE_MICKEYS; if (mouse_works) return; in_state = in_state_p; // mouse variables freelook = ri.Cvar_Get( "freelook", "0", 0 ); lookstrafe = ri.Cvar_Get ("lookstrafe", "0", 0); sensitivity = ri.Cvar_Get ("sensitivity", "3", 0); m_pitch = ri.Cvar_Get ("m_pitch", "0.022", 0); m_yaw = ri.Cvar_Get ("m_yaw", "0.022", 0); m_forward = ri.Cvar_Get ("m_forward", "1", 0); m_side = ri.Cvar_Get ("m_side", "0.8", 0); ri.Cmd_AddCommand ("+mlook", RW_IN_MLookDown); ri.Cmd_AddCommand ("-mlook", RW_IN_MLookUp); ri.Cmd_AddCommand ("force_centerview", Force_CenterView_f); if (MouOpen(NULL, &mh)) return; ev = _THUNK_PTR_STRUCT_OK(ev_a) ? ev_a : ev_a + 1; //scale = _THUNK_PTR_STRUCT_OK(scale_a) ? scale_a : scale_a + 1; mouse_works = 1; //scale->rowScale = 1; //scale->colScale = 1; //if (MouSetScaleFact(scale, mh)) Sys_Error("MouSetScaleFact"); if (MouSetDevStatus(&m_flags, mh)) Sys_Error("MouSetDevStatus"); MouSetEventMask(&m_mask, mh); { //THRESHOLD t; USHORT status = -1; MouGetNumButtons(&status, mh); //Con_Printf("os/2 mouse: %d buttons\n", (int)status); /* t.Length = sizeof t; MouGetThreshold(&t, mh); Con_Printf("t: %d %d %d %d %d\n", t.Length, t.Level1, t.Lev1Mult, t.Level2, t.lev2Mult); */ } _fmutex_create(&sem, 0); xpos = ypos = 0; if (_beginthread(mouse_thread, NULL, 65536, NULL) == -1) { MouClose(mh); mouse_works = 0; } }
static int os2_init(aa_context * c, int mode) { USHORT mask = 0x7F; USHORT status = 0x0; if (MouOpen(NULL,&hMou) && MouOpen("POINTER$", &hMou)) { hMou = -1; return 0; } MouDrawPtr(hMou); MouSetDevStatus(&status, hMou); MouSetEventMask(&mask, hMou); return 1; }
static void os2_uninit(aa_context * c) { USHORT status = 0; MouSetDevStatus(&status, hMou); MouClose(hMou); }