Diff

Differences From Artifact [b66f3aa5c0]:

To Artifact [0daba08bb0]:


1885
1886
1887
1888
1889
1890
1891

1892
1893
1894
1895
1896
1897
1898
 */
static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam,
			unsigned char *output) {
    BYTE keystate[256];
    int  scan, left_alt = 0, key_down, shift_state;
    int  r, i, code;
    unsigned char * p = output;


    HKL kbd_layout = GetKeyboardLayout(0);

    static WORD keys[3];
    static int compose_char = 0;
    static WPARAM compose_key = 0;
    







>







1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
 */
static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam,
			unsigned char *output) {
    BYTE keystate[256];
    int  scan, left_alt = 0, key_down, shift_state;
    int  r, i, code;
    unsigned char * p = output;
    static int alt_state = 0;

    HKL kbd_layout = GetKeyboardLayout(0);

    static WORD keys[3];
    static int compose_char = 0;
    static WPARAM compose_key = 0;
    
2081
2082
2083
2084
2085
2086
2087

2088
2089
2090
2091
2092
2093
2094
            term_mouse (MB_PASTE, MA_RELEASE, 0, 0);
            return 0;
        }
	if (left_alt && wParam == VK_F4 && cfg.alt_f4) {
            return -1;
	}
	if (left_alt && wParam == VK_SPACE && cfg.alt_space) {

            PostMessage(hwnd, WM_CHAR, ' ', 0);
            SendMessage (hwnd, WM_SYSCOMMAND, SC_KEYMENU, 0);
            return -1;
	}
	/* Control-Numlock for app-keypad mode switch */
	if (wParam == VK_PAUSE && shift_state == 2) {
	    app_keypad_keys ^= 1;







>







2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
            term_mouse (MB_PASTE, MA_RELEASE, 0, 0);
            return 0;
        }
	if (left_alt && wParam == VK_F4 && cfg.alt_f4) {
            return -1;
	}
	if (left_alt && wParam == VK_SPACE && cfg.alt_space) {
	    alt_state = 0;
            PostMessage(hwnd, WM_CHAR, ' ', 0);
            SendMessage (hwnd, WM_SYSCOMMAND, SC_KEYMENU, 0);
            return -1;
	}
	/* Control-Numlock for app-keypad mode switch */
	if (wParam == VK_PAUSE && shift_state == 2) {
	    app_keypad_keys ^= 1;
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
	    return p-output;
	}
    }

    /* ALT alone may or may not want to bring up the System menu */
    if (wParam == VK_MENU) {
        if (cfg.alt_only) {
            static int alt_state = 0;
            if (message == WM_SYSKEYDOWN)
                alt_state = 1;
            else if (message == WM_SYSKEYUP && alt_state)
                PostMessage(hwnd, WM_CHAR, ' ', 0);
            if (message == WM_SYSKEYUP)
                alt_state = 0;
        } else







<







2359
2360
2361
2362
2363
2364
2365

2366
2367
2368
2369
2370
2371
2372
	    return p-output;
	}
    }

    /* ALT alone may or may not want to bring up the System menu */
    if (wParam == VK_MENU) {
        if (cfg.alt_only) {

            if (message == WM_SYSKEYDOWN)
                alt_state = 1;
            else if (message == WM_SYSKEYUP && alt_state)
                PostMessage(hwnd, WM_CHAR, ' ', 0);
            if (message == WM_SYSKEYUP)
                alt_state = 0;
        } else