*/
static void react_keypress(XKeyEvent *xev)
{
- int i, n, mc, ms, mo;
+ int i, n, mc, ms, mo, mx;
uint ks1;
mc = (ev->state & ControlMask) ? TRUE : FALSE;
ms = (ev->state & ShiftMask) ? TRUE : FALSE;
mo = (ev->state & Mod1Mask) ? TRUE : FALSE;
+ mx = (ev->state & Mod2Mask) ? TRUE : FALSE;
/* Normal keys with no modifiers */
- if (n && !mo && !IsSpecialKey(ks))
+ if (n && !mo && !mx && !IsSpecialKey(ks))
{
/* Enqueue the normal key(s) */
for (i = 0; buf[i]; i++) Term_keypress(buf[i]);
/* Hack -- Use the KeySym */
if (ks)
{
- sprintf(msg, "%c%s%s%s_%lX%c", 31,
+ sprintf(msg, "%c%s%s%s%s_%lX%c", 31,
mc ? "N" : "", ms ? "S" : "",
- mo ? "O" : "",
+ mo ? "O" : "", mx ? "M" : "",
(unsigned long)(ks), 13);
}
/* Hack -- Use the Keycode */
else
{
- sprintf(msg, "%c%s%s%sK_%X%c", 31,
+ sprintf(msg, "%c%s%s%s%sK_%X%c", 31,
mc ? "N" : "", ms ? "S" : "",
- mo ? "O" : "",
+ mo ? "O" : "", mx ? "M" : "",
ev->keycode, 13);
}