title: OnKeyDownEvent, typing characters or navigation
body: <p>I have a little bit of a problem with the OnKeyDownEvent in wxPython.  I would like to act differently if the user is typing a character (like A, ), /, é, &amp;, ...) and something else if it's just navigation (arrow keys, pageUp / pageDown, home/end, Ctrl + A or C or V, and so on).  Basically, I extract the modifiers and key code like this:</p>
  
  <pre><code>modifiers = e.GetModifiers()
  key = e.GetUnicodeKey()
  if not key:
      key = e.GetKeyCode()
  </code></pre>
  
  <p>But after that, well, that's kind of complicated.  For awhile, I tested the value of key:</p>
  
  <pre><code>if modifiers == wx.MOD_NONE and 0 &lt; key &lt; 255:
  </code></pre>
  
  <p>But that's not really effective... and not really pretty.  The right parenthesis for instance obviously has a key code greater than 255.</p>
  
  <p>If you want to know why I do such a thing, the case study is a bit strange:  I have a huge text area in which text is entered programmatically (through connection to a distant server) but the user can type in this field.  <strong>However</strong>, when he does so, the cursor is moved to the last line... it's a bit like having a read-only text area except for the very last line.  I do that for accessibility reasons, I know it would be much more simple with two separate fields, but then, that's not as great for screen readers.</p>
  
  <p>Thanks for your help!</p>