To: vim_dev@googlegroups.com Subject: Patch 8.1.0457 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.1.0457 (after 8.1.0451) Problem: Win32 console: key mappings don't work. Solution: Use another solution for the keypad keys that doesn't break mappings. Some values will be negative. (Mike Williams) Files: src/os_win32.c *** ../vim-8.1.0456/src/os_win32.c 2018-10-06 15:18:41.616657339 +0200 --- src/os_win32.c 2018-10-07 15:49:37.060090624 +0200 *************** *** 852,858 **** int chAlt; } VirtKeyMap[] = { ! /* Key ANSI alone shift ctrl alt */ { VK_ESCAPE,FALSE, ESC, ESC, ESC, ESC, }, { VK_F1, TRUE, ';', 'T', '^', 'h', }, --- 852,858 ---- int chAlt; } VirtKeyMap[] = { ! // Key ANSI alone shift ctrl alt { VK_ESCAPE,FALSE, ESC, ESC, ESC, ESC, }, { VK_F1, TRUE, ';', 'T', '^', 'h', }, *************** *** 865,913 **** { VK_F8, TRUE, 'B', '[', 'e', 'o', }, { VK_F9, TRUE, 'C', '\\', 'f', 'p', }, { VK_F10, TRUE, 'D', ']', 'g', 'q', }, ! { VK_F11, TRUE, 0x85, 0x87, 0x89, 0x8B, }, ! { VK_F12, TRUE, 0x86, 0x88, 0x8a, 0x8c, }, ! { VK_HOME, TRUE, 'G', 0xc2, 'w', 0xc3, }, ! { VK_UP, TRUE, 'H', 0xc4, 0xc5, 0xc6, }, ! { VK_PRIOR, TRUE, 'I', 0xc7, 0x84, 0xc8, }, /*PgUp*/ ! { VK_LEFT, TRUE, 'K', 0xc9, 's', 0xca, }, ! { VK_RIGHT, TRUE, 'M', 0xcb, 't', 0xcc, }, ! { VK_END, TRUE, 'O', 0xcd, 'u', 0xce, }, ! { VK_DOWN, TRUE, 'P', 0xcf, 0xd0, 0xd1, }, ! { VK_NEXT, TRUE, 'Q', 0xd2, 'v', 0xd3, }, /*PgDn*/ ! { VK_INSERT,TRUE, 'R', 0xd4, 0xd5, 0xd6, }, ! { VK_DELETE,TRUE, 'S', 0xd7, 0xd8, 0xd9, }, ! { VK_SNAPSHOT,TRUE, 0, 0, 0, 'r', }, /*PrtScrn*/ #if 0 ! /* Most people don't have F13-F20, but what the hell... */ ! { VK_F13, TRUE, 0xda, 0xdb, 0xdc, 0xdd, }, ! { VK_F14, TRUE, 0xde, 0xdf, 0xe0, 0xe1, }, ! { VK_F15, TRUE, 0xe2, 0xe3, 0xe4, 0xe5, }, ! { VK_F16, TRUE, 0xe6, 0xe7, 0xe8, 0xe9, }, ! { VK_F17, TRUE, 0xea, 0xeb, 0xec, 0xed, }, ! { VK_F18, TRUE, 0xee, 0xef, 0xf0, 0xf1, }, ! { VK_F19, TRUE, 0xf2, 0xf3, 0xf4, 0xf5, }, ! { VK_F20, TRUE, 0xf6, 0xf7, 0xf8, 0xf9, }, ! #endif ! { VK_ADD, TRUE, 'N', 'N', 'N', 'N', }, /* keyp '+' */ ! { VK_SUBTRACT, TRUE,'J', 'J', 'J', 'J', }, /* keyp '-' */ ! /* { VK_DIVIDE, TRUE,'N', 'N', 'N', 'N', }, keyp '/' */ ! { VK_MULTIPLY, TRUE,'7', '7', '7', '7', }, /* keyp '*' */ ! ! { VK_NUMPAD0,TRUE, 0xda, 0xdb, 0xdc, 0xdd, }, ! { VK_NUMPAD1,TRUE, 0xde, 0xdf, 0xe0, 0xe1, }, ! { VK_NUMPAD2,TRUE, 0xe2, 0xe3, 0xe4, 0xe5, }, ! { VK_NUMPAD3,TRUE, 0xe6, 0xe7, 0xe8, 0xe9, }, ! { VK_NUMPAD4,TRUE, 0xea, 0xeb, 0xec, 0xed, }, ! { VK_NUMPAD5,TRUE, 0xee, 0xef, 0xf0, 0xf1, }, ! { VK_NUMPAD6,TRUE, 0xf2, 0xf3, 0xf4, 0xf5, }, ! { VK_NUMPAD7,TRUE, 0xf6, 0xf7, 0xf8, 0xf9, }, ! { VK_NUMPAD8,TRUE, 0xfa, 0xfb, 0xfc, 0xfd, }, ! /* Sorry, out of number space! */ ! { VK_NUMPAD9,TRUE, 0xfe, 0xff, 0xff, 0xf7, }, }; --- 865,914 ---- { VK_F8, TRUE, 'B', '[', 'e', 'o', }, { VK_F9, TRUE, 'C', '\\', 'f', 'p', }, { VK_F10, TRUE, 'D', ']', 'g', 'q', }, ! { VK_F11, TRUE, '\205', '\207', '\211', '\213', }, ! { VK_F12, TRUE, '\206', '\210', '\212', '\214', }, ! { VK_HOME, TRUE, 'G', '\302', 'w', '\303', }, ! { VK_UP, TRUE, 'H', '\304', '\305', '\306', }, ! { VK_PRIOR, TRUE, 'I', '\307', '\204', '\310', }, // PgUp ! { VK_LEFT, TRUE, 'K', '\311', 's', '\312', }, ! { VK_RIGHT, TRUE, 'M', '\313', 't', '\314', }, ! { VK_END, TRUE, 'O', '\315', 'u', '\316', }, ! { VK_DOWN, TRUE, 'P', '\317', '\320', '\321', }, ! { VK_NEXT, TRUE, 'Q', '\322', 'v', '\323', }, // PgDn ! { VK_INSERT,TRUE, 'R', '\324', '\325', '\326', }, ! { VK_DELETE,TRUE, 'S', '\327', '\330', '\331', }, ! { VK_SNAPSHOT,TRUE, 0, 0, 0, 'r', }, // PrtScrn #if 0 ! // Most people don't have F13-F20, but what the hell... ! { VK_F13, TRUE, '\332', '\333', '\334', '\335', }, ! { VK_F14, TRUE, '\336', '\337', '\340', '\341', }, ! { VK_F15, TRUE, '\342', '\343', '\344', '\345', }, ! { VK_F16, TRUE, '\346', '\347', '\350', '\351', }, ! { VK_F17, TRUE, '\352', '\353', '\354', '\355', }, ! { VK_F18, TRUE, '\356', '\357', '\360', '\361', }, ! { VK_F19, TRUE, '\362', '\363', '\364', '\365', }, ! { VK_F20, TRUE, '\366', '\367', '\370', '\371', }, ! #endif ! { VK_ADD, TRUE, 'N', 'N', 'N', 'N', }, // keyp '+' ! { VK_SUBTRACT, TRUE,'J', 'J', 'J', 'J', }, // keyp '-' ! // { VK_DIVIDE, TRUE,'N', 'N', 'N', 'N', }, // keyp '/' ! { VK_MULTIPLY, TRUE,'7', '7', '7', '7', }, // keyp '*' ! ! { VK_NUMPAD0,TRUE, '\332', '\333', '\334', '\335', }, ! { VK_NUMPAD1,TRUE, '\336', '\337', '\340', '\341', }, ! { VK_NUMPAD2,TRUE, '\342', '\343', '\344', '\345', }, ! { VK_NUMPAD3,TRUE, '\346', '\347', '\350', '\351', }, ! { VK_NUMPAD4,TRUE, '\352', '\353', '\354', '\355', }, ! { VK_NUMPAD5,TRUE, '\356', '\357', '\360', '\361', }, ! { VK_NUMPAD6,TRUE, '\362', '\363', '\364', '\365', }, ! { VK_NUMPAD7,TRUE, '\366', '\367', '\370', '\371', }, ! { VK_NUMPAD8,TRUE, '\372', '\373', '\374', '\375', }, ! // Sorry, out of number space! ! { VK_NUMPAD9,TRUE, '\376', '\377', '\377', '\367', }, ! }; *************** *** 1914,1924 **** typeahead[typeaheadlen] = c; if (ch2 != NUL) { ! if (c == K_NUL && (ch2 & 0xff00) != 0) { ! /* fAnsiKey with modifier keys */ ! typeahead[typeaheadlen + n] = (char_u)ch2; ! n++; } else { --- 1915,1938 ---- typeahead[typeaheadlen] = c; if (ch2 != NUL) { ! if (c == K_NUL) { ! switch (ch2) ! { ! case (WCHAR)'\324': // SHIFT+Insert ! case (WCHAR)'\325': // CTRL+Insert ! case (WCHAR)'\327': // SHIFT+Delete ! case (WCHAR)'\330': // CTRL+Delete ! typeahead[typeaheadlen + n] = (char_u)ch2; ! n++; ! break; ! ! default: ! typeahead[typeaheadlen + n] = 3; ! typeahead[typeaheadlen + n + 1] = (char_u)ch2; ! n += 2; ! break; ! } } else { *** ../vim-8.1.0456/src/version.c 2018-10-07 15:42:04.279309175 +0200 --- src/version.c 2018-10-07 15:48:23.012634542 +0200 *************** *** 794,795 **** --- 794,797 ---- { /* Add new patch number below this line */ + /**/ + 457, /**/ -- hundred-and-one symptoms of being an internet addict: 167. You have more than 200 websites bookmarked. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///