]> git.friedersdorff.com Git - max/tmk_keyboard.git/commitdiff
pc98_usb: unimap for RakuRaku keyboard
authortmk <hasu@tmk-kbd.com>
Sat, 21 Jul 2018 15:05:52 +0000 (00:05 +0900)
committertmk <hasu@tmk-kbd.com>
Sun, 22 Jul 2018 13:57:21 +0000 (22:57 +0900)
converter/pc98_usb/unimap.c
converter/pc98_usb/unimap_rakuraku.c [new file with mode: 0644]
converter/pc98_usb/unimap_trans.h

index 8dc1b87cd5fbb9d0e20f60fe38856c3855d7bc01..20befeafa5c35b80535c2e1149bcbd908c89d7cf 100644 (file)
@@ -26,7 +26,7 @@ const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
 #endif
     /*
     ,---. ,---. ,------------------------. ,------------------------. ,------------------------.
-    |Stp| |PrS| | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10| | F11| F12| F13| F14| F15|
+    |Pau| |PrS| | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10| | F11| F12| F13| F14| F15|
     `---' `---' `------------------------' `------------------------' `------------------------'
     ,-------------------------------------------------------------. ,-------.  ,---------------.
     | Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bspc| |Ins|Del|  |Hom|End|  -|  /|
@@ -39,6 +39,7 @@ const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
     `-------------------------------------------------------------' |-------|  |---------------|
        |Kana|Gui| Alt|MHEN|       Space        |HENK|Alt|Gui|App|   | Down  |  |  0|  ,|  .|Ent|
        `--------------------------------------------------------'   `-------'  `---------------'
+    Caps and Kana are locking keys.
     */
     UNIMAP_PC98(
     PAUS,PSCR,     F1,  F2,  F3,  F4,  F5,            F6,  F7,  F8,  F9,  F10,          F11, F12, F13, F14, F15,
diff --git a/converter/pc98_usb/unimap_rakuraku.c b/converter/pc98_usb/unimap_rakuraku.c
new file mode 100644 (file)
index 0000000..816d8c9
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+Copyright 2018 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "unimap_trans.h"
+
+
+#define AC_FN0 ACTION_LAYER_MOMENTARY(1)
+
+#ifdef KEYMAP_SECTION_ENABLE
+const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
+#else
+const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
+#endif
+    /*
+    ,---------------------------------------------------------------.
+    |Pau|PrS| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|PgD|PgU|End|Hom|
+    `---------------------------------------------------------------'
+    ,---------------------------------------------------------------.
+    |  Esc |  1|  2|  3|  4|  5| F21|Caps|  6|  7|  8|  9|  0|  BSpc|
+    |---------------------------------------------------------------|
+    |  Tab|  Q|  W|  E|  R|  T|    Up     |  Y|  U|  I|  O|  P|     |
+    |----------------------------------------------------------` Ent|
+    | Ctl|  A|  S|  D|  F|  G|  Left| Right|  H|  J|  K|  L|  ;|    |
+    |---------------------------------------------------------------|
+    |Sft|  Z|  X|  C|  V|  B|Ins|  Down |Del|  N|  M|  ,|  .|  /| ^1|
+    `---------------------------------------------------------------'
+            |Alt| MHEN|  Ctl|  FN0|   Spc   |  FN0| HENK| ^2|
+            `-----------------------------------------------'
+    ^1: Right Shift is identical to Left Shift
+    ^2: Ctrl+HENK(Ctrl+XFER)
+    */
+    UNIMAP_RAKURAKU(
+    PAUS,PSCR,  F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9, F10,PGUP,PGDN, END,HOME,
+     ESC,     1,   2,   3,   4,   5,  LNUM,LCAP,    6,   7,   8,   9,   0,     BSPC,
+     TAB,     Q,   W,   E,   R,   T,     UP,        Y,   U,   I,   O,   P,      ENT,
+    LCTL,    A,   S,   D,   F,   G,  LEFT,  RGHT,    H,   J,   K,   L,SCLN,
+    LSFT,   Z,   X,   C,   V,   B,  INS, DOWN, DEL,   N,   M,COMM, DOT,SLSH,
+              LALT, MHEN, LGUI, FN0,       SPC,     RALT,   HENK
+    ),
+    UNIMAP_RAKURAKU(
+    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,SLCK,PAUS,
+     GRV,  TRNS,TRNS,TRNS,TRNS,TRNS,  TRNS,TRNS, TRNS,TRNS,TRNS,MINS, EQL,     BSLS,
+    TRNS,  TRNS,TRNS,TRNS,TRNS,TRNS,    PGUP,    TRNS,TRNS,TRNS,LBRC,RBRC,     TRNS,
+    TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,  HOME,   END, TRNS,TRNS,TRNS,TRNS,QUOT,
+    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, PGDN, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
+              TRNS, TRNS, TRNS, TRNS,     TRNS,     TRNS,   TRNS
+    ),
+};
index 9d7e0e4bdd97fc8b572ba27bbcceba8ac85a1087..4155b2f109353d9031a13a0d83e8aba1ede3aab2 100644 (file)
@@ -1,5 +1,5 @@
 /*
-Copyright 2016 Jun Wako <wakojun@gmail.com>
+Copyright 2018 Jun Wako <wakojun@gmail.com>
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -54,7 +54,7 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
     { UNIMAP_PMNS, UNIMAP_PSLS, UNIMAP_P7,   UNIMAP_P8,   UNIMAP_P9,   UNIMAP_PAST, UNIMAP_P4,   UNIMAP_P5    }, /* 40-47 */
     { UNIMAP_P6,   UNIMAP_PPLS, UNIMAP_P1,   UNIMAP_P2,   UNIMAP_P3,   UNIMAP_PEQL, UNIMAP_P0,   UNIMAP_PCMM  }, /* 48-4F */
     { UNIMAP_PDOT, UNIMAP_MHEN, UNIMAP_F11,  UNIMAP_F12,  UNIMAP_F13,  UNIMAP_F14,  UNIMAP_F15,  UNIMAP_NO    }, /* 50-57 */
-    { UNIMAP_NO,   UNIMAP_NO,   UNIMAP_NO,   UNIMAP_NO,   UNIMAP_NO,   UNIMAP_NO,   UNIMAP_APP,  UNIMAP_NO    }, /* 58-5F */
+    { UNIMAP_F21,  UNIMAP_F22,  UNIMAP_F23,  UNIMAP_F24,  UNIMAP_NO,   UNIMAP_NO,   UNIMAP_APP,  UNIMAP_NO    }, /* 58-5F */
     { UNIMAP_PAUS, UNIMAP_PSCR, UNIMAP_F1,   UNIMAP_F2,   UNIMAP_F3,   UNIMAP_F4,   UNIMAP_F5,   UNIMAP_F6    }, /* 60-67 */
     { UNIMAP_F7,   UNIMAP_F8,   UNIMAP_F9,   UNIMAP_F10,  UNIMAP_NO,   UNIMAP_NO,   UNIMAP_NO,   UNIMAP_NO    }, /* 68-6F */
     { UNIMAP_LSFT, UNIMAP_CAPS, UNIMAP_KANA, UNIMAP_LALT, UNIMAP_LCTL, UNIMAP_NO,   UNIMAP_NO,   UNIMAP_LGUI  }, /* 70-77 */
@@ -64,7 +64,7 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
 
 /* PC-9801/9821 keyboard
 ,---. ,---. ,------------------------. ,------------------------. ,------------------------.
-|Stp| |PrS| | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10| | F11| F12| F13| F14| F15|
+|Pau| |PrS| | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10| | F11| F12| F13| F14| F15|
 `---' `---' `------------------------' `------------------------' `------------------------'
 ,-------------------------------------------------------------. ,-------.  ,---------------.
 | Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bspc| |Ins|Del|  |Hom|End|  -|  /|
@@ -73,12 +73,12 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
 |-------------------------------------------------------`Enter| |-------|  |---------------|
 |Ctl|Cap|  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  \|     | |  Up   |  |  4|  5|  6|  +|
 |-------------------------------------------------------------| |-------|  |---------------|
-| Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /| RO| Shift | |Lef|Rig|  |  1|  2|  3|KP=|
+| Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /| RO| Shift | |Lef|Rig|  |  1|  2|  3|  =|
 `-------------------------------------------------------------' |-------|  |---------------|
-   |Kana|Gui|GRPH|NFER|       Space        |XFER|Alt|Gui|App|^2 | Down  |  |  0|  ,|  .| ^1|
-   `--------------------------------------------------------'   `-------'  `---------------'
+   |Kana|Gui|Alt|MHEN|       Space        |HENK|Alt|Gui|App|^2  | Down  |  |  0|  ,|  .| ^1|
+   `-------------------------------------------------------   `-------'  `---------------'
 ^1: Enter on keypad is identical to Enter on alphanumeric portion.
-^2: Alt is ALT on DIGITAL WAVE Dboard while Menu on PC-9821 keyboard.
+^2: Right Alt is ALT on DIGITAL WAVE Dboard while Menu on PC-9821 keyboard.
     App is HOME key on PC98XL keyboard.
 */
 #define UNIMAP_PC98( \
@@ -107,4 +107,51 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
       AC_##K78, AC_##K79, AC_##K7A, AC_##K7B, AC_NO,    AC_##K7D, AC_##K7E, AC_##K7F }  /* 78-7F */ \
 }
 
+
+/*
+PC-9801-98-S02   Raku Raku keyboard(Luckyboard) Normal Mode
+TODO: test
+,---------------------------------------------------------------.
+|Pau|PrS| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|PgD|PgU|End|Hom|
+`---------------------------------------------------------------'
+,---------------------------------------------------------------.
+|  Esc |  1|  2|  3|  4|  5| F21|Caps|  6|  7|  8|  9|  0|  BSpc|
+|---------------------------------------------------------------|
+|  Tab|  Q|  W|  E|  R|  T|    Up     |  Y|  U|  I|  O|  P|     |
+|----------------------------------------------------------` Ent|
+| Ctl|  F|  G|  H|  J|  K|  Left| Right|  L|  ;|  '|  \|  Z|    |
+|---------------------------------------------------------------|
+|Sft|  X|  C|  V|  B|  N|Ins|  Down |Del|  M|  ,|  .|  /| RO| ^1|
+`---------------------------------------------------------------'
+        |Alt| MHEN|  F24|  F22|   Spc   |  F23| HENK| ^2|
+        `-----------------------------------------------'
+^1: Right Shift is identical to Left Shift
+^2: Ctrl+HENK(Ctrl+XFER)
+*/
+#define UNIMAP_RAKURAKU( \
+    K48, K46, K3A, K3B, K3C, K3D, K3E, K3F, K40, K41, K42, K43, K4E, K4B, K4D, K4A, \
+      K29,  K1E, K1F, K20, K21, K22,  K70, K39,   K23, K24, K25, K26, K27,    K2A,  \
+      K2B,  K14, K1A, K08, K15, K17,     K52,     K1C, K18, K0C, K12, K13,    K28,  \
+      K78, K09, K0A, K0B, K0D, K0E,   K50,  K4F,   K0F, K33, K34, K31, K1D,         \
+      K79,K1B, K06, K19, K05, K11, K49,  K51,  K4C, K10, K36, K37, K38, K75,        \
+               K7A,  K77, K73, K71,        K2C,        K72,  K76                    \
+) { \
+    { AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_##K05, AC_##K06, AC_NO,      /* 00-07 */ \
+      AC_##K08, AC_##K09, AC_##K0A, AC_NO,    AC_##K0C, AC_##K0D, AC_##K0E, AC_##K0F }, /* 08-0F */ \
+    { AC_##K10, AC_##K11, AC_##K12, AC_##K13, AC_##K14, AC_##K15, AC_NO,    AC_##K17,   /* 10-17 */ \
+      AC_##K18, AC_##K19, AC_##K1A, AC_##K1B, AC_##K1C, AC_NO,    AC_##K1E, AC_##K1F }, /* 18-1F */ \
+    { AC_##K20, AC_##K21, AC_##K22, AC_##K23, AC_##K24, AC_##K25, AC_##K26, AC_##K27,   /* 20-27 */ \
+      AC_##K28, AC_##K29, AC_##K2A, AC_##K2B, AC_##K2C, AC_NO,    AC_NO,    AC_NO    }, /* 28-2F */ \
+    { AC_NO,    AC_##K31, AC_NO,    AC_##K33, AC_##K34, AC_NO,    AC_##K36, AC_##K37,   /* 30-37 */ \
+      AC_##K38, AC_##K39, AC_##K3A, AC_##K3B, AC_##K3C, AC_##K3D, AC_##K3E, AC_##K3F }, /* 38-3F */ \
+    { AC_##K40, AC_##K41, AC_##K42, AC_##K43, AC_NO,    AC_NO,    AC_##K46, AC_NO,      /* 40-47 */ \
+      AC_##K48, AC_##K49, AC_##K4A, AC_##K4B, AC_##K4C, AC_##K4D, AC_##K4E, AC_##K4F }, /* 48-4F */ \
+    { AC_##K50, AC_##K51, AC_##K52, AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,      /* 50-57 */ \
+      AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO    }, /* 58-5F */ \
+    { AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,      /* 60-67 */ \
+      AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO    }, /* 68-6F */ \
+    { AC_##K70, AC_##K71, AC_##K72, AC_##K73, AC_NO,    AC_##K75, AC_##K76, AC_##K77,   /* 70-77 */ \
+      AC_##K78, AC_##K79, AC_##K7A, AC_NO,    AC_NO,    AC_NO,    AC_NO,    AC_NO    }  /* 78-7F */ \
+}
+
 #endif