BLE switch interface with GROVE joystic for micro:bit http://mahoro-ba.net/e2073.html

Dependencies:   microbit

Revision:
13:39ecc149d163
Parent:
12:7fb193872bec
Child:
14:469243e10ce5
--- a/microbit_switch_if_joy.h	Sun Feb 24 05:24:50 2019 +0000
+++ b/microbit_switch_if_joy.h	Sun Feb 24 20:26:39 2019 +0000
@@ -31,22 +31,40 @@
 //----------------------
 //  Keybord
 //----------------------
+#define MODIFY_CTRL     0x100
+#define MODIFY_SHIFT    0x200
+#define MODIFY_OPTION   0x400  /* option or alt */
+#define MODIFY_COMMAND  0x800  /* command or Windows */
+
 const int KEY_BS    = 8;  /* Keyboard Backspace */
 const int KEY_TAB   = 9;  /* Keyboard Tab */
 const int KEY_ENTER = 10; /* Keyboard Return (Enter) */
 //const int KEY_ESC = 27;   /* Keyboard Escape */
 const int KEY_SPACE = 32; /* Keyboard Space */
 
-const int KEY_NUMPAD0 = 0x60; /* Numpad 0 */
-const int KEY_NUMPAD1 = 0x61; /* Numpad 1 */
-const int KEY_NUMPAD2 = 0x62; /* Numpad 2 */
-const int KEY_NUMPAD3 = 0x63; /* Numpad 3 */
-const int KEY_NUMPAD4 = 0x64; /* Numpad 4 */
-const int KEY_NUMPAD5 = 0x65; /* Numpad 5 */
-const int KEY_NUMPAD6 = 0x66; /* Numpad 6 */
-const int KEY_NUMPAD7 = 0x67; /* Numpad 7 */
-const int KEY_NUMPAD8 = 0x68; /* Numpad 8 */
-const int KEY_NUMPAD9 = 0x69; /* Numpad 9 */
+const int KEY_EQUAL    = 0x2b;                   /* = */
+const int KEY_COMMA    = 0x2c;                   /* , */
+const int KEY_MINUS    = 0x2d;                   /* - */
+const int KEY_PIRIOD   = 0x2e;                   /* . */
+const int KEY_SLASH    = 0x2f;                   /* / */
+const int KEY_QUOT     = 0x40;                   /* ' */
+
+const int KEY_PLUS     = MODIFY_SHIFT +0x2b;     /* + */
+const int KEY_LT       = MODIFY_SHIFT +0x2c;     /* < */
+const int KEY_UNDER    = MODIFY_SHIFT +0x2d;     /* _ */
+const int KEY_GT       = MODIFY_SHIFT +0x2e;     /* > */
+const int KEY_QUESTION = MODIFY_SHIFT +0x2f;     /* ? */
+const int KEY_RBRACKET = MODIFY_SHIFT +0x30;     /* )  shif+0 */
+const int KEY_EXCLA    = MODIFY_SHIFT +0x31;     /* !  shif+1 */
+const int KEY_AT       = MODIFY_SHIFT +0x32;     /* @  shif+2 */
+const int KEY_NUMBER   = MODIFY_SHIFT +0x33;     /* #  shif+3 */
+const int KEY_DOLL     = MODIFY_SHIFT +0x34;     /* $  shif+4 */
+const int KEY_PERCENT  = MODIFY_SHIFT +0x35;     /* %  shif+5 */
+const int KEY_CARET    = MODIFY_SHIFT +0x36;     /* ^  shif+6 */
+const int KEY_AMP      = MODIFY_SHIFT +0x37;     /* &  shif+7 */
+const int KEY_ASTERISK = MODIFY_SHIFT +0x38;     /* *  shif+8 */
+const int KEY_LBRACKET = MODIFY_SHIFT +0x39;     /* (  shif+9 */
+const int KEY_DBLQUOT  = MODIFY_SHIFT +0x40;     /* " */
 
 //----------------------
 //  Setting
@@ -54,10 +72,7 @@
 #define NUM_GROUP1         4
 #define NUM_G1MEMBER       5
 
-#define MODIFY_CTRL     0x100
-#define MODIFY_SHIFT    0x200
-#define MODIFY_OPTION   0x400  /* option or alt */
-#define MODIFY_COMMAND  0x800  /* command or Windows */
+
 
 const int keyCodeGroup0[3] = {   // Button A, Button B, Button A&B
    'a', 
@@ -67,10 +82,8 @@
 const int keyCodeGroup1[NUM_GROUP1][NUM_G1MEMBER] = { // 中央 左 右 上 下
     {KEY_ENTER,   KEY_TAB,     KEY_SPACE,   0,           KEY_ENTER  },
     {KEY_HOME,    RIGHT_ARROW, LEFT_ARROW,  DOWN_ARROW,  UP_ARROW   },
-    {MODIFY_SHIFT+'1', MODIFY_SHIFT+'2', MODIFY_SHIFT+'3', MODIFY_SHIFT+'4', MODIFY_SHIFT+'5'},
-    {KEY_ENTER,   MODIFY_OPTION+MODIFY_SHIFT+KEY_TAB, MODIFY_OPTION+KEY_TAB,
-                  MODIFY_OPTION+DOWN_ARROW, MODIFY_OPTION+UP_ARROW},
-//    {KEY_ENTER,   MODIFY_SHIFT+KEY_TAB, KEY_TAB, KEY_SPACE, MODIFY_SHIFT+KEY_SPACE},
+    {MODIFY_SHIFT+'1',   MODIFY_SHIFT+'2', MODIFY_SHIFT+'3', MODIFY_SHIFT+'4', MODIFY_SHIFT+'5'},
+    {MODIFY_COMMAND+'r', 0, 0, MODIFY_OPTION+DOWN_ARROW, MODIFY_OPTION+UP_ARROW},
 };
 
 //in "BLE_HID\Keyboad_types.h"