case OS.WM_KEYDOWN: if (wParam == OS.VK_SHIFT) { if (OS.GetKeyState (OS.VK_CONTROL) < 0) { Runnable[] runnables = (Runnable[]) keyMap.get (key); if (runnables == null) break; if (OS.GetKeyState (0xA0 ) < 0) { if (runnables[0] != null) runnables[0].run (); } else { if (runnables[1] != null) runnables[1].run (); } } } break;
static int windowProc (int hwnd, int msg, int wParam, int lParam) {	Integer key = new Integer (hwnd);	switch (msg) {		case 0x51 /*OS.WM_INPUTLANGCHANGE*/:			Runnable runnable = (Runnable) languageMap.get (key);			if (runnable != null) runnable.run ();			break;		case OS.WM_KEYDOWN:			if (wParam == OS.VK_SHIFT) {				if (OS.GetKeyState (OS.VK_CONTROL) < 0) {					Runnable[] runnables = (Runnable[]) keyMap.get (key);					if (runnables == null) break;										if (OS.GetKeyState (0xA0 /* VK_LSHIFT */) < 0) {						if (runnables[0] != null) runnables[0].run ();					} else {						if (runnables[1] != null) runnables[1].run ();					}				}			}			break;	}	Integer oldProc = (Integer)oldProcMap.get(key);	return OS.CallWindowProc (oldProc.intValue(), hwnd, msg, wParam, lParam);}