Hi, I added a OnKeyCodePressed function to the scoreboard to intercept the jump key events and toggle the mouse on and off when the user presses the jump key (keycode is getched with gameuifuncs->GetVGUI2KeyCodeForBind( "jump" ); ) All worked fine and dandy till i realised that this effectively prevents any movement while my scoreboard is up (mouse mode or no mouse mode). I poked around and found that the client.dll needs to tell the engine wether or not to handle the key event (for such things as chatting). This is also fine but i don't see the code for this in the vgui2.lib project. So my question is simple, how do i make it so my panel doesn't "trap" the code and so that it gets processed on the server even when the scoreboard is up? Here's the function: (m_iJumpKey is the ID of the key corresponding to the "jump" bind.) void CClientScoreBoardDialog::OnKeyCodePressed(KeyCode code) { if (m_iJumpKey != KEY_NONE && m_iJumpKey == code ) { if (m_bInMouseMode) SetMouseInputEnabled(false); else SetMouseInputEnabled(true);
m_bInMouseMode = !m_bInMouseMode; } else { BaseClass::OnKeyCodePressed( code );
} } The BaseClass (vgui::Panel) only handles the escape key... I wouldn't mind using say right click mouse to toggle, but to capture that event i need to SetMouseInputEnabled(true); wich pops up the cursor anyways and doesn't help me at all...
Thanks in advance... Imperio59.
-- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.8.8 - Release Date: 14/02/2005
_______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders