summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-10-03 20:44:20 +0200
committerBram Moolenaar <Bram@vim.org>2018-10-03 20:44:20 +0200
commit2bc152ab53c4b01072edf6ec2ff61e504cb03cbe (patch)
tree2e2823648fc4d34b93f266c4ef6028d2cf176a1f
parent0e9deefb4fb4f99d0ab90b21ca38260be26bf5de (diff)
patch 8.1.0451: Win32 console: keypad keys don't workv8.1.0451
Problem: Win32 console: keypad keys don't work. Solution: Use numbers instead of characters to avoid the value becoming negative. (Mike Williams)
-rw-r--r--src/os_win32.c64
-rw-r--r--src/version.c2
2 files changed, 33 insertions, 33 deletions
diff --git a/src/os_win32.c b/src/os_win32.c
index 43b811b13d..a53b7b6270 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -847,7 +847,6 @@ static const struct
int chAlt;
} VirtKeyMap[] =
{
-
/* Key ANSI alone shift ctrl alt */
{ VK_ESCAPE,FALSE, ESC, ESC, ESC, ESC, },
@@ -861,50 +860,49 @@ static const struct
{ 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_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, '\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', },
+ { 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, '\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', },
+ { 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! <negri>*/
- { VK_NUMPAD9,TRUE, '\376', '\377', '\377', '\367', },
-
+ { VK_NUMPAD9,TRUE, 0xfe, 0xff, 0xff, 0xf7, },
};
diff --git a/src/version.c b/src/version.c
index 88b3a53592..a225cb9c23 100644
--- a/src/version.c
+++ b/src/version.c
@@ -793,6 +793,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 451,
+/**/
450,
/**/
449,