$OpenBSD: patch-x_c,v 1.6 2003/04/07 19:30:21 fgsch Exp $ --- x.c.orig Fri Jan 10 19:13:49 2003 +++ x.c Fri Apr 4 01:10:31 2003 @@ -611,7 +611,24 @@ static void x_process_events(void *data) gd=x_find_gd(&(event.xkey.window)); if (!gd)break; if (x_translate_key((XKeyEvent*)(&event),&k,&f)) - gd->keyboard_handler(gd,k,f); + { + if (k == KBD_INS && event.xkey.state & ShiftMask) + { + Atom pty; + if ((pty = XInternAtom(x_display, "XCLIP_OUT", False))) + { + XConvertSelection( + x_display, + XA_PRIMARY, + XA_STRING, + pty, + event.xbutton.window, + CurrentTime); + } + + } else + gd->keyboard_handler(gd,k,f); + } } break; @@ -659,8 +676,7 @@ static void x_process_events(void *data) break; case 2: - if (event.xbutton.state & ShiftMask) return; /* paste */ - a=B_MIDDLE; + return; /* paste */ break; default: @@ -699,8 +715,6 @@ static void x_process_events(void *data) break; case 2: - a=B_MIDDLE; - if (event.xbutton.state & ShiftMask) /* paste */ { Atom pty; if ((pty = XInternAtom(x_display, "XCLIP_OUT", False)))