OSDN Git Service

プレイヤーが死亡して次のプレイで名前を変えるとセーブファイルが新規作
[hengband/hengband.git] / src / main-x11.c
index fb6b9ec..3fccd1c 100644 (file)
@@ -1830,7 +1830,7 @@ static x11_selection_type s_ptr[1];
  */
 static void react_keypress(XKeyEvent *xev)
 {
-       int i, n, mc, ms, mo;
+       int i, n, mc, ms, mo, mx;
 
        uint ks1;
 
@@ -1888,10 +1888,11 @@ static void react_keypress(XKeyEvent *xev)
        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]);
@@ -1938,18 +1939,18 @@ static void react_keypress(XKeyEvent *xev)
        /* 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);
        }