#define _FM7_KEYBOARD_TABLES_H
#include "fm7_keyboard.h"
+#if !defined(VK_OEM_CSP_KPRET)
+# define VK_OEM_CSP_KPRET 0x9f
+#endif
-const uint16 vk_matrix_106[0x68] = { // VK
+
+namespace FM7 {
+
+const uint16_t vk_matrix_106[0x68] = { // VK
// +0, +1, +2, +3, +4, +5, +6, +7
/* 0x00, ESC, 1 , 2, 3, 4, 5, 6 */
0x00, VK_KANJI, '1', '2', '3', '4', '5', '6', // +0x00
/* TAB, Q, W, E, R, T, Y, U */
VK_TAB, 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', // +0x10
/* I, O, P, @, [, [RET], A, S */
- 'I', 'O', 'P', 0xc0, 0xdb, VK_RETURN, 'A', 'S', //+0x18
+ 'I', 'O', 'P', VK_OEM_3, VK_OEM_4, VK_RETURN, 'A', 'S', //+0x18
/* D, F, G, H, J, K, L, ; */
- 'D', 'F', 'G', 'H', 'J', 'K', 'L', 0xbb, // +0x20
+ 'D', 'F', 'G', 'H', 'J', 'K', 'L', VK_OEM_PLUS, // +0x20
/* :, ], Z, X, C, V, B, N */
- 0xba, 0xdd, 'Z', 'X', 'C', 'V', 'B', 'N', // +0x28
- /* M, , , ., / , \, RSPACE=RWIN , * , / */
- 'M', 0xbc, 0xbe, 0xbf, 0xe2, VK_RWIN, VK_MULTIPLY, VK_DIVIDE, // +0x30
- /* + , - , 7, 8, 9, = , 4, 5 */
- VK_ADD, VK_SUBTRACT, VK_NUMPAD7, VK_NUMPAD8, VK_NUMPAD9, 0x00, VK_NUMPAD4, VK_NUMPAD5, // +0x38
+ VK_OEM_1, VK_OEM_6, 'Z', 'X', 'C', 'V', 'B', 'N', // +0x28
+ /* M, , , ., / , \, RSPACE=Henkan , * , / */
+ 'M', VK_OEM_COMMA, VK_OEM_PERIOD, VK_OEM_2, VK_OEM_102, VK_CONVERT, VK_MULTIPLY, VK_DIVIDE, // +0x30
+#if defined(_MSC_VER) || defined(Q_OS_WIN)
+ /* + , - , 7, 8, 9, = = RWIN or Scroll Lock (Windows), 4, 5 */
+ VK_ADD, VK_SUBTRACT, VK_NUMPAD7, VK_NUMPAD8, VK_NUMPAD9, VK_SCROLL, VK_NUMPAD4, VK_NUMPAD5, // +0x38
+#else
+ VK_ADD, VK_SUBTRACT, VK_NUMPAD7, VK_NUMPAD8, VK_NUMPAD9, VK_RWIN, VK_NUMPAD4, VK_NUMPAD5, // +0x38
+#endif
/* 6, NUMPADCOMMA=RMENU , 1, 2, 3, NUMPADENTER=RETURN,0, . */
- VK_NUMPAD6, VK_RMENU, VK_NUMPAD1, VK_NUMPAD2, VK_NUMPAD3, VK_RETURN, VK_NUMPAD0, VK_DECIMAL, // +0x40
- /* INS, HOME, PRIOR, DEL, END, ↑, ↓,← */
- VK_INSERT, VK_HOME, VK_PRIOR, VK_DELETE, VK_END, VK_UP, VK_NEXT, VK_LEFT, // +0x48
- /* PAgeDown, →, LCTRL, LSHIFT, RSHIFT, CAPS, Graph=Muhenkan, Lspace=LALT */
- VK_DOWN, VK_RIGHT, 0x11, 0x10, VK_RSHIFT, 0x14, 0x1d, 0xf3, // +0x50
+ VK_NUMPAD6, VK_RMENU, VK_NUMPAD1, VK_NUMPAD2, VK_NUMPAD3, VK_OEM_CSP_KPRET, VK_NUMPAD0, VK_DECIMAL, // +0x40
+ /* INS, EL, CLS, DEL, DUP, ↑, HOME,← */
+ VK_INSERT, VK_PRIOR, VK_NEXT, VK_DELETE, VK_END, VK_UP, VK_HOME, VK_LEFT, // +0x48
+ /* ↓, →, LCTRL, LSHIFT or SHIFT (Winwdows), RSHIFT, CAPS, Graph=LWIN or ALT (WIndows), Lspace=Muhenkan */
+#if defined(_MSC_VER) || defined(Q_OS_WIN)
+ VK_DOWN, VK_RIGHT, VK_CONTROL, VK_LSHIFT, VK_RSHIFT, VK_CAPITAL, VK_LMENU, VK_NONCONVERT, // +0x50
+#else
+ VK_DOWN, VK_RIGHT, VK_CONTROL, VK_LSHIFT, VK_RSHIFT, VK_CAPITAL, VK_LWIN, VK_NONCONVERT, // +0x50
+#endif
/* Cspace=Space, *Unknown*, KANA, *Unknown* , ESC(Break), F1, F2, F3 */
VK_SPACE, 0x00, 0x15, 0x00, VK_ESCAPE, VK_F1, VK_F2, VK_F3, // +0x58
/* F4, F5, F6, F7, F8, F9, F10 , *END* */
};
struct key_tbl_t {
- uint16 phy;
- uint16 code;
+ uint16_t phy;
+ uint16_t code;
};
// Key tables value from XM7.
{0xffff, 0xffff}
};
#endif // _FM77AV_VARIANTS
+}
#endif // _FM7_KEYBOARD_TABLES_H