package org.jopenray.rdp;
import java.awt.event.KeyEvent;
public class RDPKeymap {
/**
* Return the scancode associated to the keyCode (from KeyEvent)
* Depend of the installed keyboard, here is French mapping
* */
public static int getScancode(int keyCode) {
int scancode;
switch (keyCode) {
case KeyEvent.VK_1:
scancode = 2;
break;
case KeyEvent.VK_2:
scancode = 3;
break;
case KeyEvent.VK_3:
scancode = 4;
break;
case KeyEvent.VK_4:
scancode = 5;
break;
case KeyEvent.VK_5:
scancode = 6;
break;
case KeyEvent.VK_6:
scancode = 7;
break;
case KeyEvent.VK_7:
scancode = 8;
break;
case KeyEvent.VK_8:
scancode = 9;
break;
case KeyEvent.VK_9:
scancode = 10;
break;
case KeyEvent.VK_BACK_SPACE:
scancode = 14;
break;
case KeyEvent.VK_TAB:
scancode = 15;
break;
case KeyEvent.VK_A:
scancode = 16;
break;
case KeyEvent.VK_Z:
scancode = 17;
break;
case KeyEvent.VK_E:
scancode = 18;
break;
case KeyEvent.VK_R:
scancode = 19;
break;
case KeyEvent.VK_T:
scancode = 20;
break;
case KeyEvent.VK_Y:
scancode = 21;
break;
case KeyEvent.VK_U:
scancode = 22;
break;
case KeyEvent.VK_I:
scancode = 23;
break;
case KeyEvent.VK_O:
scancode = 24;
break;
case KeyEvent.VK_P:
scancode = 25;
break;
case KeyEvent.VK_BRACELEFT:
scancode = 26;
break;
case KeyEvent.VK_BRACERIGHT:
scancode = 27;
break;
case KeyEvent.VK_ENTER:
scancode = 28;
break;
case KeyEvent.VK_Q:
scancode = 30;
break;
case KeyEvent.VK_S:
scancode = 31;
break;
case KeyEvent.VK_D:
scancode = 32;
break;
case KeyEvent.VK_F:
scancode = 33;
break;
case KeyEvent.VK_G:
scancode = 34;
break;
case KeyEvent.VK_H:
scancode = 35;
break;
case KeyEvent.VK_J:
scancode = 36;
break;
case KeyEvent.VK_K:
scancode = 37;
break;
case KeyEvent.VK_L:
scancode = 38;
break;
case KeyEvent.VK_SEMICOLON:
scancode = 39;
break;
case KeyEvent.VK_COLON:
scancode = 39;
break;
case KeyEvent.VK_QUOTE:
scancode = 40;
break;
case KeyEvent.VK_BACK_SLASH:
scancode = 43;
break;
case KeyEvent.VK_W:
scancode = 44;
break;
case KeyEvent.VK_X:
scancode = 45;
break;
case KeyEvent.VK_C:
scancode = 46;
break;
case KeyEvent.VK_V:
scancode = 47;
break;
case KeyEvent.VK_B:
scancode = 48;
break;
case KeyEvent.VK_N:
scancode = 49;
break;
case KeyEvent.VK_M:
scancode = 50;
break;
case KeyEvent.VK_COMMA:
scancode = 51;
break;
//test
//case KeyEvent.VK_M:
// scancode = 52;
// break;
case KeyEvent.VK_NUMPAD1:
scancode = 53;
break;
case KeyEvent.VK_NUMPAD2:
scancode = 54;
break;
case KeyEvent.VK_NUMPAD3:
scancode = 55;
break;
case KeyEvent.VK_NUMPAD4:
scancode = 56;
break;
case KeyEvent.VK_NUMPAD5:
scancode = 57;
break;
case KeyEvent.VK_NUMPAD6:
scancode = 58;
break;
case KeyEvent.VK_NUMPAD7:
scancode = 59;
break;
case KeyEvent.VK_NUMPAD8:
scancode = 60;
break;
case KeyEvent.VK_NUMPAD9:
scancode = 61;
break;
default:
scancode = 0;
break;
}
return scancode;
}
}