diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-09-14 16:47:04 +1000 |
---|---|---|
committer | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-09-14 18:02:19 +1000 |
commit | fc11f0cef175a7bfd652691d05f3e19147462cb1 (patch) | |
tree | dc5a94e46c5a75c0f501f619a9b9a2f00525a660 | |
parent | 79fc61359a8f9a9563627e9ad8e5938c3ffee4ca (diff) | |
download | busybox-w32-fc11f0cef175a7bfd652691d05f3e19147462cb1.tar.gz busybox-w32-fc11f0cef175a7bfd652691d05f3e19147462cb1.tar.bz2 busybox-w32-fc11f0cef175a7bfd652691d05f3e19147462cb1.zip |
win32: read_key: imap some movement keys to KEYCODE_*
-rw-r--r-- | win32/termios.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/win32/termios.c b/win32/termios.c index 1bd3cbd5b..812f6d5d7 100644 --- a/win32/termios.c +++ b/win32/termios.c | |||
@@ -29,8 +29,24 @@ int64_t FAST_FUNC read_key(int fd, char *buf, int timeout UNUSED_PARAM) | |||
29 | goto done; | 29 | goto done; |
30 | if (record.EventType != KEY_EVENT || !record.Event.KeyEvent.bKeyDown) | 30 | if (record.EventType != KEY_EVENT || !record.Event.KeyEvent.bKeyDown) |
31 | continue; | 31 | continue; |
32 | if (!record.Event.KeyEvent.uChar.AsciiChar) | 32 | if (!record.Event.KeyEvent.uChar.AsciiChar) { |
33 | switch (record.Event.KeyEvent.wVirtualKeyCode) { | ||
34 | case VK_UP: return KEYCODE_UP; | ||
35 | case VK_DOWN: return KEYCODE_DOWN; | ||
36 | case VK_RIGHT: return KEYCODE_RIGHT; | ||
37 | case VK_LEFT: return KEYCODE_LEFT; | ||
38 | case VK_HOME: return KEYCODE_HOME; | ||
39 | case VK_END: return KEYCODE_END; | ||
40 | case VK_CAPITAL: | ||
41 | case VK_SHIFT: | ||
42 | case VK_CONTROL: | ||
43 | case VK_MENU: | ||
44 | break; | ||
45 | default: | ||
46 | return -1; | ||
47 | } | ||
33 | continue; | 48 | continue; |
49 | } | ||
34 | ret = record.Event.KeyEvent.uChar.AsciiChar; | 50 | ret = record.Event.KeyEvent.uChar.AsciiChar; |
35 | break; | 51 | break; |
36 | } | 52 | } |