diff -ur ratpoison/src/actions.c ratpoison-metapatched/src/actions.c --- ratpoison/src/actions.c 2004-12-27 03:25:40.000000000 +0100 +++ ratpoison-metapatched/src/actions.c 2004-12-27 03:24:33.000000000 +0100 @@ -876,6 +876,7 @@ char * cmd_meta (int interactive, char *data) { + struct rp_key *key; XEvent ev1, ev; ev = rp_current_event; @@ -884,8 +885,18 @@ ev1.xkey.type = KeyPress; ev1.xkey.display = dpy; ev1.xkey.window = current_window()->w; - ev1.xkey.state = rp_mask_to_x11_mask (prefix_key.state); - ev1.xkey.keycode = XKeysymToKeycode (dpy, prefix_key.sym); + + if(data) + { + key = parse_keydesc (data); + ev1.xkey.state = rp_mask_to_x11_mask (key->state); + ev1.xkey.keycode = XKeysymToKeycode (dpy, key->sym); + } + else + { + ev1.xkey.state = rp_mask_to_x11_mask (prefix_key.state); + ev1.xkey.keycode = XKeysymToKeycode (dpy, prefix_key.sym); + } XSendEvent (dpy, current_window()->w, False, KeyPressMask, &ev1);