in modules/awt/src/main/java/unix/org/apache/harmony/awt/wtk/linux/KeyCodeTranslator.java [465:515]
private static int deriveLocation(int keySym) {
switch (keySym) {
case X11Defs.XK_Alt_L:
case X11Defs.XK_Meta_L:
case X11Defs.XK_Shift_L:
case X11Defs.XK_Control_L:
return KeyEvent.KEY_LOCATION_LEFT;
case X11Defs.XK_Alt_R:
case X11Defs.XK_Meta_R:
case X11Defs.XK_Shift_R:
case X11Defs.XK_Control_R:
return KeyEvent.KEY_LOCATION_RIGHT;
case X11Defs.XK_KP_Tab:
case X11Defs.XK_KP_Delete:
case X11Defs.XK_KP_Home:
case X11Defs.XK_KP_Page_Up:
case X11Defs.XK_KP_Page_Down:
case X11Defs.XK_KP_End:
case X11Defs.XK_KP_Insert:
case X11Defs.XK_KP_Left:
case X11Defs.XK_KP_Up:
case X11Defs.XK_KP_Right:
case X11Defs.XK_KP_Down:
case X11Defs.XK_KP_0:
case X11Defs.XK_KP_1:
case X11Defs.XK_KP_2:
case X11Defs.XK_KP_3:
case X11Defs.XK_KP_4:
case X11Defs.XK_KP_5:
case X11Defs.XK_KP_6:
case X11Defs.XK_KP_7:
case X11Defs.XK_KP_8:
case X11Defs.XK_KP_9:
case X11Defs.XK_KP_F1:
case X11Defs.XK_KP_F2:
case X11Defs.XK_KP_F3:
case X11Defs.XK_KP_F4:
case X11Defs.XK_KP_Space:
case X11Defs.XK_KP_Multiply:
case X11Defs.XK_KP_Decimal:
case X11Defs.XK_KP_Divide:
case X11Defs.XK_KP_Subtract:
case X11Defs.XK_KP_Separator:
case X11Defs.XK_KP_Enter:
case X11Defs.XK_KP_Equal:
case X11Defs.XK_KP_Add:
return KeyEvent.KEY_LOCATION_NUMPAD;
default:
return KeyEvent.KEY_LOCATION_STANDARD;
}
}