private static extern XKeySym XLookupKeysym(ref XKeyEvent key_event, int index);
public void HandleKeyPress(XKeyEvent e, XWindow window, XWindow root, XWindow subwindow) { if (Convert.ToBoolean (main_win.LookupKeysym (ref e) == XKeySym.XK_q)) { Console.WriteLine ("Cleaning up and exiting..."); //pix.Free (); gc.Dispose (); bg_color.Dispose (); handle_color.Dispose (); resize_top_left_win.Dispose (); resize_top_right_win.Dispose (); resize_bottom_left_win.Dispose (); resize_bottom_right_win.Dispose (); resize_main_win.Dispose (); main_win.Dispose (); ev.Dispose (); s.Dispose (); dpy.Dispose (); Environment.Exit (0); } }
public XKeySym LookupKeysym(ref XKeyEvent key_event) { return XLookupKeysym (ref key_event, 0); }
void handleKeyPressEvent(XKeyEvent e, XWindow window, XWindow root, XWindow subwindow) { XKeySym ks = window.KeycodeToKeysym(e.keycode); if (ks== XKeySym.NoSymbol) return; switch(ks) { case XKeySym.XK_Delete: Console.WriteLine("Window manager is restarting..."); restart(); break; case XKeySym.XK_End: Console.WriteLine("Window manager is quitting."); quitNicely(); break; } }