franky re-organize the glx/X11 code
now we are actually catching key events and it is more like the windows version