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 | } |
