diff options
author | midipix <writeonce@midipix.org> | 2016-08-07 09:16:47 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-08-10 21:47:29 -0400 |
commit | 92a5107f9f3c4259b928795dc98084e88eb333fa (patch) | |
tree | 1d90920751ddb11f423590e6841f4f791f33cefe /src/console | |
parent | 5ee033f002dee29f1a1395a1b3838089a3e18fa6 (diff) | |
download | ptycon-92a5107f9f3c4259b928795dc98084e88eb333fa.tar.bz2 ptycon-92a5107f9f3c4259b928795dc98084e88eb333fa.tar.xz |
bridge: added initial virtual key-code translation table.
Diffstat (limited to 'src/console')
-rw-r--r-- | src/console/ptyc_console_vkcode.c | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/src/console/ptyc_console_vkcode.c b/src/console/ptyc_console_vkcode.c new file mode 100644 index 0000000..e9606fa --- /dev/null +++ b/src/console/ptyc_console_vkcode.c @@ -0,0 +1,157 @@ +/*********************************************************/ +/* ptycon: a pty-console bridge */ +/* Copyright (C) 2016 Z. Gilboa */ +/* Released under GPLv2 and GPLv3; see COPYING.PTYCON. */ +/*********************************************************/ + +#include <psxtypes/psxtypes.h> +#include <ntcon/ntcon.h> +#include <ntcon/ntcon_vkcode.h> + +#include <ptycon/ptycon.h> +#include "ptycon_bridge_impl.h" + +#define P0() {(const unsigned char[]){0},0} +#define P1(a) {(const unsigned char[]){a,0},1} +#define P2(a,b) {(const unsigned char[]){a,b,0},2} +#define P3(a,b,c) {(const unsigned char[]){a,b,c,0},3} +#define P4(a,b,c,d) {(const unsigned char[]){a,b,c,d,0},4} +#define P5(a,b,c,d,e) {(const unsigned char[]){a,b,c,d,e,0},5} +#define P6(a,b,c,d,e,f) {(const unsigned char[]){a,b,c,d,e,f,0},6} + +const struct ptyc_vkcode ptyc_vkcode[0x100] = { + [VK_LBUTTON] = P0(), + [VK_RBUTTON] = P0(), + [VK_CANCEL] = P0(), + [VK_MBUTTON] = P0(), + [VK_XBUTTON1] = P0(), + [VK_XBUTTON2] = P0(), + [VK_BACK] = P0(), + [VK_TAB] = P0(), + [VK_CLEAR] = P0(), + [VK_RETURN] = P0(), + [VK_SHIFT] = P0(), + [VK_CONTROL] = P0(), + [VK_MENU] = P0(), + [VK_PAUSE] = P0(), + [VK_CAPITAL] = P0(), + [VK_HANGUL] = P0(), + [VK_JUNJA] = P0(), + [VK_FINAL] = P0(), + [VK_KANJI] = P0(), + [VK_ESCAPE] = P0(), + [VK_CONVERT] = P0(), + [VK_NONCONVERT] = P0(), + [VK_ACCEPT] = P0(), + [VK_MODECHANGE] = P0(), + [VK_SPACE] = P0(), + [VK_PRIOR] = P0(), + [VK_NEXT] = P0(), + [VK_END] = P0(), + [VK_HOME] = P0(), + [VK_LEFT] = P3(0x1b,0x5b,0x44), + [VK_UP] = P3(0x1b,0x5b,0x41), + [VK_RIGHT] = P3(0x1b,0x5b,0x43), + [VK_DOWN] = P3(0x1b,0x5b,0x42), + [VK_SELECT] = P0(), + [VK_PRINT] = P0(), + [VK_EXECUTE] = P0(), + [VK_SNAPSHOT] = P0(), + [VK_INSERT] = P0(), + [VK_DELETE] = P0(), + [VK_HELP] = P0(), + [VK_LWIN] = P0(), + [VK_RWIN] = P0(), + [VK_APPS] = P0(), + [VK_SLEEP] = P0(), + [VK_NUMPAD0] = P0(), + [VK_NUMPAD1] = P0(), + [VK_NUMPAD2] = P0(), + [VK_NUMPAD3] = P0(), + [VK_NUMPAD4] = P0(), + [VK_NUMPAD5] = P0(), + [VK_NUMPAD6] = P0(), + [VK_NUMPAD7] = P0(), + [VK_NUMPAD8] = P0(), + [VK_NUMPAD9] = P0(), + [VK_MULTIPLY] = P0(), + [VK_ADD] = P0(), + [VK_SEPARATOR] = P0(), + [VK_SUBTRACT] = P0(), + [VK_DECIMAL] = P0(), + [VK_DIVIDE] = P0(), + [VK_F1] = P3(0x1b,0x4f,0x50), + [VK_F2] = P3(0x1b,0x4f,0x51), + [VK_F3] = P3(0x1b,0x4f,0x52), + [VK_F4] = P3(0x1b,0x4f,0x53), + [VK_F5] = P5(0x1b,0x5b,0x31,0x35,0x7e), + [VK_F6] = P5(0x1b,0x5b,0x31,0x37,0x7e), + [VK_F7] = P5(0x1b,0x5b,0x31,0x38,0x7e), + [VK_F8] = P5(0x1b,0x5b,0x31,0x39,0x7e), + [VK_F9] = P5(0x1b,0x5b,0x32,0x30,0x7e), + [VK_F10] = P5(0x1b,0x5b,0x32,0x31,0x7e), + [VK_F11] = P5(0x1b,0x5b,0x32,0x33,0x7e), + [VK_F12] = P5(0x1b,0x5b,0x32,0x34,0x7e), + [VK_F13] = P0(), + [VK_F14] = P0(), + [VK_F15] = P0(), + [VK_F16] = P0(), + [VK_F17] = P0(), + [VK_F18] = P0(), + [VK_F19] = P0(), + [VK_F20] = P0(), + [VK_F21] = P0(), + [VK_F22] = P0(), + [VK_F23] = P0(), + [VK_F24] = P0(), + [VK_NUMLOCK] = P0(), + [VK_SCROLL] = P0(), + [VK_LSHIFT] = P0(), + [VK_RSHIFT] = P0(), + [VK_LCONTROL] = P0(), + [VK_RCONTROL] = P0(), + [VK_LMENU] = P0(), + [VK_RMENU] = P0(), + [VK_BROWSER_BACK] = P0(), + [VK_BROWSER_FORWARD] = P0(), + [VK_BROWSER_REFRESH] = P0(), + [VK_BROWSER_STOP] = P0(), + [VK_BROWSER_SEARCH] = P0(), + [VK_BROWSER_FAVORITES] = P0(), + [VK_BROWSER_HOME] = P0(), + [VK_VOLUME_MUTE] = P0(), + [VK_VOLUME_DOWN] = P0(), + [VK_VOLUME_UP] = P0(), + [VK_MEDIA_NEXT_TRACK] = P0(), + [VK_MEDIA_PREV_TRACK] = P0(), + [VK_MEDIA_STOP] = P0(), + [VK_MEDIA_PLAY_PAUSE] = P0(), + [VK_LAUNCH_MAIL] = P0(), + [VK_LAUNCH_MEDIA_SELECT] =P0(), + [VK_LAUNCH_APP1] = P0(), + [VK_LAUNCH_APP2] = P0(), + [VK_OEM_1] = P0(), + [VK_OEM_PLUS] = P0(), + [VK_OEM_COMMA] = P0(), + [VK_OEM_MINUS] = P0(), + [VK_OEM_PERIOD] = P0(), + [VK_OEM_2] = P0(), + [VK_OEM_3] = P0(), + [VK_OEM_4] = P0(), + [VK_OEM_5] = P0(), + [VK_OEM_6] = P0(), + [VK_OEM_7] = P0(), + [VK_OEM_8] = P0(), + [VK_OEM_102] = P0(), + [VK_PROCESSKEY] = P0(), + [VK_PACKET] = P0(), + [VK_ATTN] = P0(), + [VK_CRSEL] = P0(), + [VK_EXSEL] = P0(), + [VK_EREOF] = P0(), + [VK_PLAY] = P0(), + [VK_ZOOM] = P0(), + [VK_NONAME] = P0(), + [VK_PA1] = P0(), + [VK_OEM_CLEAR] = P0(), +}; |