title: Java Robot - Check Symbol Key
body: <p>My current project involves automation using Java's Robot class, to simulate key presses.
  My problem is that certain keycodes are invalid to pass to the Robot's <code>keypress(int keycode)</code> method.</p>
  
  <h3>What I already know:</h3>
  
  <p>After reading the solution to this question: <a href="https://stackoverflow.com/questions/6634375/why-are-some-keyevent-keycodes-throwing-illegalargumentexception-invalid-key-c">Why are some KeyEvent keycodes throwing IllegalArgumentException: Invalid key ocode</a>, I started modifying my code, changing certain symbols like <code>£ (VK_DOLLAR)</code> to <code>VK_SHIFT + VK_3</code>, <code>&amp; (VK_AMPERSAND)</code> to <code>VK_SHIT + VK_7</code>, etc ...</p>
  
  <h3>My question:</h3>
  
  <p>My question, however is how to determine what key gives what symbol when combined with shift, since different keyboards (and often times different keyboard configurations from the OS) change these.</p>
  
  <p>A typical example is the <code>@ (at symbol) and " (double quote)</code>. <code>VK_SHIFT + VK_2</code> may be the at symbol on some systems while maybe a double quote on others.</p>
  
  <p>Is there anyway in Java to check, prior to invoking the Robot keypress, on which key a symbol relies ?</p>
  
  <p>Thanks in advance.</p>