title: Are they really the virtual codes?
body: <p>Virtual key codes for some keys like <em>shift, [ , ],Del etc</em> are displayed as a different value in java compared to C++/C. For example :</p>
  
  <pre><code>Key     Java       C / C++
  Shift   16         160
  [       91         219
  ]       93         221
  \       92         220
  Del     127        46
  Window  524        91
  </code></pre>
  
  <p><strong>What is the reason for this ?</strong> Are these codes the virtual codes or they are a different type ? For the keys including alphabets,numbers,the function keys(F1-F12),backspace,`,etc are the same.</p>
  
  <p><em>I might be misunderstanding a concept,in that case please clarify.</em></p>
  
  <p><em>Checked in C/C++</em></p>
  
  <pre><code>KBDLLHOOKSTRUCT * kbhook = (KBDLLHOOKSTRUCT *) lParam;
  printf("%u\n",kbhook-&gt;vkCode);
  </code></pre>
  
  <p><em>Checked in Java</em></p>
  
  <pre><code>private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {                                       
      int code = evt.getKeyCode();
      // code isEqualTo KeyEvent.VK_DELETE : NOTE
  
  }
  </code></pre>
  
  <p>Ref : <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/event/KeyEvent.html" rel="nofollow">KeyEvent class</a></p>