[wxPython-users] Re: fixed key bindings in notebook
AK
andrei.avk at gmail.com
Tue Mar 18 16:37:15 PDT 2008
Franz Steinhäusler wrote:
> On Tue, 18 Mar 2008 21:07:58 +0100, Franz Steinhäusler <franz.steinhaeusler at gmx.at> wrote:
>
> So, I am not sure, if that is normal, but after trying and searching all code and others, that tinkered code even works for me! :)
>
> in wx.Notebook derived class:
>
> self.Bind(wx.EVT_NAVIGATION_KEY, self.OnNavigationKey)
>
> def OnNavigationKey(self, event):
>
> ignorekey = False
> if wx.GetKeyState(wx.WXK_CONTROL):
> if wx.GetKeyState(wx.WXK_PAGEUP) or wx.GetKeyState(wx.WXK_PAGEDOWN):
> ignorekey = True
> if wx.GetKeyState(wx.WXK_TAB):
> ignorekey = True
> if ignorekey:
> keycode = 0
> if wx.GetKeyState(wx.WXK_TAB):
> keycode = wx.WXK_TAB
> if wx.GetKeyState(wx.WXK_PAGEUP):
> keycode = wx.WXK_PAGEUP
> if wx.GetKeyState(wx.WXK_PAGEDOWN):
> keycode = wx.WXK_PAGEDOWN
> evt = wx.KeyEvent()
> evt.m_controlDown = wx.GetKeyState(wx.WXK_CONTROL)
> evt.m_keyCode = keycode
> evt.m_shiftDown = wx.GetKeyState(wx.WXK_SHIFT)
> evt.SetEventType(wx.wxEVT_KEY_DOWN)
>
> self.grandparent.txtDocument.GetEventHandler().ProcessEvent(evt)
> else:
> event.Skip()
>
> It seems to work!
>
That's great, it does work for me, too. I just got rid of the
self.grandparent line. Have you got alt-left and alt-right to work, too? -ak
More information about the wxpython-users
mailing list