int [] keysym = new int [1], status = new int [1]; if (OS.XLookupString (xEvent, buffer1, buffer1.length, keysym, status) == 0) {
int [] keysym = new int [1]; if (OS.XLookupString (xEvent, buffer1, buffer1.length, keysym, null) == 0) {
void setKeyState (Event event, XKeyEvent xEvent) {	if (xEvent.keycode != 0) {		event.time = xEvent.time;		byte [] buffer1 = new byte [1];		int [] keysym = new int [1], status = new int [1];		if (OS.XLookupString (xEvent, buffer1, buffer1.length, keysym, status) == 0) {			event.keyCode = Display.translateKey (keysym [0] & 0xFFFF);		} else {			event.character = (char) buffer1 [0];		}		if ((xEvent.state & OS.Mod1Mask) != 0) event.stateMask |= SWT.ALT;		if ((xEvent.state & OS.ShiftMask) != 0) event.stateMask |= SWT.SHIFT;		if ((xEvent.state & OS.ControlMask) != 0) event.stateMask |= SWT.CONTROL;		if ((xEvent.state & OS.Button1Mask) != 0) event.stateMask |= SWT.BUTTON1;		if ((xEvent.state & OS.Button2Mask) != 0) event.stateMask |= SWT.BUTTON2;		if ((xEvent.state & OS.Button3Mask) != 0) event.stateMask |= SWT.BUTTON3;	}	}