mirror of
https://github.com/gryf/gryf-overlay.git
synced 2026-01-04 12:54:14 +01:00
33 lines
962 B
Diff
33 lines
962 B
Diff
diff -rupN rxvt-unicode-9.06/src/command.C rxvt-unicode-9.06_mod/src/command.C
|
|
--- rxvt-unicode-9.06/src/command.C 2008-11-05 17:21:05.000000000 +0100
|
|
+++ rxvt-unicode-9.06_mod/src/command.C 2009-11-22 18:37:06.000000000 +0100
|
|
@@ -398,7 +398,7 @@ map_function_key (KeySym keysym)
|
|
void
|
|
rxvt_term::key_press (XKeyEvent &ev)
|
|
{
|
|
- int ctrl, meta, shft, len;
|
|
+ int ctrl, meta, shft, super, len;
|
|
KeySym keysym;
|
|
int valid_keysym;
|
|
char kbuf[KBUFSZ];
|
|
@@ -417,6 +417,8 @@ rxvt_term::key_press (XKeyEvent &ev)
|
|
shft = ev.state & ShiftMask;
|
|
ctrl = ev.state & ControlMask;
|
|
meta = ev.state & ModMetaMask;
|
|
+ super = ev.state & Mod4Mask;
|
|
+
|
|
|
|
if (numlock_state || (ev.state & ModNumLockMask))
|
|
{
|
|
@@ -849,6 +851,10 @@ rxvt_term::key_press (XKeyEvent &ev)
|
|
const char ch = C0_ESC;
|
|
tt_write (&ch, 1);
|
|
}
|
|
+ if (super) {
|
|
+ char buf[3] = { 0x18, '@', 's' };
|
|
+ tt_write (buf, 3);
|
|
+ }
|
|
|
|
tt_write (kbuf, (unsigned int)len);
|
|
}
|