Mercurial > vim
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 |