comparison src/gui_w32.c @ 29432:339fe2968690 v9.0.0058

patch 9.0.0058: Win32: cannot test low level events Commit: https://github.com/vim/vim/commit/81a3ff97e2012bdafc3ece796289f2e11e2754f3 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sat Jul 23 05:04:16 2022 +0100 patch 9.0.0058: Win32: cannot test low level events Problem: Win32: cannot test low level events. Solution: Add "sendevent" to test_gui_event(). (Yegappan Lakshmanan, closes #10679)
author Bram Moolenaar <Bram@vim.org>
date Sat, 23 Jul 2022 06:15:07 +0200
parents f103da6ba95f
children 8d9400c64654
comparison
equal deleted inserted replaced
29431:6d6fa84d617c 29432:339fe2968690
8539 SetPixel(s_hdc, x+2, y, gui.currFgColor); 8539 SetPixel(s_hdc, x+2, y, gui.currFgColor);
8540 SetPixel(s_hdc, x+3, y++, gui.currFgColor); 8540 SetPixel(s_hdc, x+3, y++, gui.currFgColor);
8541 SetPixel(s_hdc, x+2, y, gui.currFgColor); 8541 SetPixel(s_hdc, x+2, y, gui.currFgColor);
8542 } 8542 }
8543 #endif 8543 #endif
8544
8545 #if defined(FEAT_EVAL) || defined(PROTO)
8546 int
8547 test_gui_w32_sendevent(dict_T *args)
8548 {
8549 char_u *event;
8550 INPUT inputs[1];
8551
8552 event = dict_get_string(args, "event", TRUE);
8553 if (event == NULL)
8554 return FALSE;
8555
8556 ZeroMemory(inputs, sizeof(inputs));
8557
8558 if (STRICMP(event, "keydown") == 0 || STRICMP(event, "keyup") == 0)
8559 {
8560 WORD vkCode;
8561
8562 vkCode = dict_get_number_def(args, "keycode", 0);
8563 if (vkCode <= 0 || vkCode >= 0xFF)
8564 {
8565 semsg(_(e_invalid_argument_nr), (long)vkCode);
8566 return FALSE;
8567 }
8568
8569 inputs[0].type = INPUT_KEYBOARD;
8570 inputs[0].ki.wVk = vkCode;
8571 if (STRICMP(event, "keyup") == 0)
8572 inputs[0].ki.dwFlags = KEYEVENTF_KEYUP;
8573 SendInput(ARRAYSIZE(inputs), inputs, sizeof(INPUT));
8574 }
8575 else
8576 semsg(_(e_invalid_argument_str), event);
8577
8578 vim_free(event);
8579
8580 return TRUE;
8581 }
8582 #endif